VS:TrackObject/ja

From Vectorworks Developer
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

.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