Difference between revisions of "VS:FindObjAtPt Create"

From Vectorworks Developer
Jump to: navigation, search
m (1 revision)
(add lost remark from 2008)
Line 55: Line 55:
  
 
-----------------------------------------------------------------------------------------------------------
 
-----------------------------------------------------------------------------------------------------------
<remark></remark>
+
<remark>
 +
([[User:Orso.b.schmid|Orso]], 2011): Was undocumented, made public by VW 2012 (1700).
 +
 
 +
([[User:Orso.b.schmid|Orso]], 2008-10-15): Finds objects at the point "Loc" starting from the parent container "hContainer". The routine returns a longint as list of objects (similar to BuildResourceList) which you'll use to manipulate the found objects.
 +
The suffix "create" stays then for "create a list".
 +
 
 +
FindObjAtPt_GetCount(list) will return the count of found objects
 +
FindObjAtPt_GetObj(list, i) returns a handle to the object at index "i. The index is 0-based.
 +
 
 +
It seems to ignore most object types. It will work with:
 +
lines, polylines, polygons, rectangles, arcs, 2D loci, pios
 +
Notably it will ignore:
 +
walls, symbols, round rects, ovals, 3D polys, 3D loci, nurbs, extrudes, dimensions, slabs....
 +
 
 +
<code lang="pas"
 +
PROCEDURE xxxxx;
 +
VAR
 +
cnt, i : INTEGER;
 +
startContainer : HANDLE;
 +
list : LONGINT;
 +
loc : VECTOR;
 +
 +
BEGIN
 +
GetPt(loc.x, loc.y);
 +
startContainer := NIL;
 +
 +
list := FindObjAtPt_Create(startContainer, 1, 0, loc.x, loc.y, 100);
 +
cnt := FindObjAtPt_GetCount(list);
 +
 +
i := 0;
 +
WHILE i < cnt DO BEGIN
 +
AlrtDialog(Concat('Index: ', i, ' Obj Type: ', GetType(FindObjAtPt_GetObj(list, i))));
 +
i := i + 1;
 +
END;
 +
FindObjAtPt_Delete( list );
 +
END;
 +
Run(xxxxx);</code>
 +
</remark>
  
 
-----------------------------------------------------------------------------------------------------------
 
-----------------------------------------------------------------------------------------------------------

Revision as of 23:13, 20 January 2016

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

Description

Creates object find for objects at specified point within specified radius. The funtion is capable of iterating
FUNCTION FindObjAtPt_Create(
hContainer  :HANDLE;
objOptions  :INTEGER;
travOptions  :INTEGER;
locX  :REAL;
locY  :REAL;
pickRadius  :REAL) : LONGINT;
def vs.FindObjAtPt_Create(hContainer, objOptions, travOptions, locX, locY, pickRadius):
    return LONGINT

Parameters

hContainer HANDLE
objOptions INTEGER
travOptions INTEGER
locX REAL
locY REAL
pickRadius REAL

Remarks

(Orso, 2011): Was undocumented, made public by VW 2012 (1700).

(Orso, 2008-10-15): Finds objects at the point "Loc" starting from the parent container "hContainer". The routine returns a longint as list of objects (similar to BuildResourceList) which you'll use to manipulate the found objects. The suffix "create" stays then for "create a list".

FindObjAtPt_GetCount(list) will return the count of found objects FindObjAtPt_GetObj(list, i) returns a handle to the object at index "i. The index is 0-based.

It seems to ignore most object types. It will work with: lines, polylines, polygons, rectangles, arcs, 2D loci, pios Notably it will ignore: walls, symbols, round rects, ovals, 3D polys, 3D loci, nurbs, extrudes, dimensions, slabs....


Version

Availability: from Vectorworks 2014
Personal tools
NamespacesFFFF

Variants
Actions
Advanced Search
See Also
Navigation
Toolbox