VS:TrackObject/ja

From Vectorworks Developer
Revision as of 03:43, 16 January 2014 by Kimura (talk | contribs) (1 revision: 2014J VS Reference TVWX)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

インタラクティブに条件に合致するオブジェクトを選択します。

コールバック関数 (目的に応じて次のいずれか):

FUNCTION Callback(h : HANDLE): BOOLEAN;
FUNCTION CheckObjCallback(h : HANDLE; px, py : REAL) : BOOLEAN;
FUNCTION CheckObjCallback(h : HANDLE; px, py, pz : REAL) : BOOLEAN;

を使ってこの関数から返すオブジェクトを選択することができる。
パラメータの px,py,pz には書類の単位でカーソル位置が渡される
コールバック関数は図形の上を通過したり、クリックしたりすると呼ばれる


コールバック関数は渡されたハンドルを返す時にTRUEを返します

PROCEDURE TrackObject(
callback :PROCEDURE;
VAR outObj :HANDLE;
VAR p :REAL);
def vs.TrackObject(callback):
    return (outObj, p)

Parameters

callback PROCEDURE マウスの動きに追従する必要があるとうか判断するためコールバック関数
outObj HANDLE コールバック関数がTRUEを返した図形のハンドル
p REAL マウスクリックの座標を返します

Example

PROCEDURE Test;
VAR
  h : HANDLE;
  x, y, z : REAL;
  
  FUNCTION CheckObjCallback(h : HANDLE) : BOOLEAN;
  {or FUNCTION CheckObjCallback(h : HANDLE; px, py : REAL) : BOOLEAN;}
  {or FUNCTION CheckObjCallback(h : HANDLE; px, py, pz : REAL) : BOOLEAN;}
  BEGIN
     {any object is ok}
     CheckObjCallback := true;
  END;

BEGIN
	TrackObject( CheckObjCallback, h, x, y, z );
	SetSelect( h );
END;
RUN( Test );

Version

Availability: from Vectorworks 2010