class PickHelper |
Parent: Object |
|
Methods:all_picked, best_picked, count, depth_at, do_pick, element_at, init, leaf_at, path_at, pick_segment, picked_edge, picked_element, picked_face, test_point, transformation_at, view |
|
Sample Code:pickhelpertooltests.rb |
|
Instance Methods |
all_picked |
The all_picked method retrieves an array of everything that was picked (all entities under the cursor when a mouse or keyboard event occurred). |
Syntax: |
picked = pickhelper.all_picked |
Arguments: |
|
Return Value: |
picked - an array of entities picked |
Comments: |
You must have called do_pick before calling this method. |
Example: |
ph = view.pick_helper |
best_picked |
The best_picked method is used to retrieve the "best" entity picked (entity that you would have picked if you were using the select tool). |
Syntax: |
entity = pickhelper.best_picked |
Arguments: |
|
Return Value: |
entity - the best picked entity |
Comments: |
You must have called do_pick prior to calling this method. |
Example: |
ph = view.pick_helper |
count |
The count method is used to count the number of entities picked (number of pick records) |
Syntax: |
number = pickhelper.count |
Arguments: |
|
Return Value: |
number - the number of entities picked |
Comments: |
|
Example: |
ph = view.pick_helper |
depth_at |
The depth_at method retrieves the depth of one of the currently picked entities in the list of pick records. |
Syntax: |
depth = pickhelper.depth_at index |
Arguments: |
index - a number from 1 to number of items picked |
Return Value: |
depth - the depth of the entity if successful |
Comments: |
Returns 1 if element is outside a component or group. |
Example: |
ph = view.pick_helper |
do_pick |
The do_pick method is used to perform the initial pick. This method is generally called before any other methods in the PickHelper class. |
Syntax: |
numpicked = pickhelper.do_pick x, y |
Arguments: |
x - x screen coordinate for the pick y - y screen coordinate for the pick |
Return Value: |
numpicked - the number of entities picked |
Comments: |
Returns the number of entities picked. The x and y values are the screen coordinates of the point at which would want to do a pick. |
Example: |
ph = view.pick_helpernum = ph.do_pick x,y |
element_at |
The element_at method is used to retrieve a specific entity in the list of picked elements. |
Syntax: |
entity = pickhelper.element_at index |
Arguments: |
index - a number from 0 to number of items picked |
Return Value: |
entity - the entity at the index position in the list of picked entities. |
Comments: |
|
Example: |
ph = view.pick_helper |
init |
The init method is used to initialize the PickHelper for testing points. |
Syntax: |
pickhelper = pickhelper.init x, y pickhelper = ph.init x, y, aperture |
Arguments: |
x - x screen coordinate for the pick y - y screen coordinate for the pick aperture - |
Return Value: |
pickhelper - a PickHelper object |
Comments: |
You do not normally need to call this method, but you can use this if you want to call test_point on a lot of points. If the optional aperture is given, it is given in pixels. |
Example: |
ph
= view.pick_helper |
leaf_at |
The leaf_at method retrieves the deepest thing in a pick path. |
Syntax: |
entity = pickhelper.leaf_at index |
Arguments: |
index - a number from 1 to number of items picked |
Return Value: |
entity - the leaf entity |
Comments: |
For example, if you have a face that is within a component that is within another component, leaf_at returns the face. |
Example: |
ph = view.pick_helper |
path_at |
The path_at method is used to retrieve the entire path for an entity in the pick list (as an array). |
Syntax: |
array = pickhelper.path_at index |
Arguments: |
index - a number from 1 to number of items picked |
Return Value: |
array - an array of entities including the leaf |
Comments: |
|
Example: |
ph = view.pick_helper |
pick_segment |
The pick_segment method is used to pick a segment of a polyline curve that is defined by an array of points. |
Syntax: |
index = pickhelper.pick_segment point1, point2, ... <apature> index = pickhelper.pick_sgement [point1, point2, ...] <apature> |
Arguments: |
point1, point2, ... - a series of Point3d objects in the polyline [point1, point2, ...] - an array of Point3d objects in the polyline |
Return Value: |
index - an index of the point in the array if you clicked on a point or an index of a segment if you clicked on a segment (if successful) |
Comments: |
See bezier.rb If you click on a point in a polyline curve, the index of the point in the curve is returned (starting at 0). If you click on a segment in the polyline curve, the index of the segment is returned. Segments start at index -1 (for the segment connecting the first two points) and increase by a factor of -1 (for example, the segment connecting second and third point is -2). |
Example: |
point1 = Geom::Point3d.new 0,0,0 |
picked_edge |
The picked_edge method is used to retrieve the "best" Edge picked |
Syntax: |
edge =pickhelper.picked_edge |
Arguments: |
|
Return Value: |
edge - an Edge object if successful |
Comments: |
|
Example: |
ph = view.pick_helper |
picked_element |
The picked_element method retrieves the best drawing element, that is not an edge or a face, picked. |
Syntax: |
element =pickhelper.picked_element |
Arguments: |
|
Return Value: |
element - a drawing element that is not an edge or face if successful |
Comments: |
Returns nil if there was nothing picked. You must have called do_pick before calling this method. |
Example: |
ph = view.pick_helper |
picked_face |
The picked_face method is used to retrieve the best face picked. |
Syntax: |
face =pickhelper.picked_face |
Arguments: |
|
Return Value: |
face - a Face object if successful. |
Comments: |
Returns nil if there were no faces picked. You must have called do_pick before calling this method. |
Example: |
ph = view.pick_helper |
test_point |
The test_point method is used to test a point to see if it would be selected using the default or given pick aperture. |
Syntax: |
ok = pickhelper.test_point(pt) ok = pickhelper.test_point point, x, y ok = pickhelper.test_point point, x, y, aperture |
Arguments: |
|
Return Value: |
|
Comments: |
In the first form, you must have initialized the PickHelper using the init method. This is more efficient if you want to test a lot of points using the same screen point. In the second and third forms, it initializes the PickHelper using a screen point and an optional pick aperture. |
Example: |
point = Geom::Point3d.new 0,0,0 |
transformation_at |
The transformation_at method is used to get a transformation at a specific index in the pick helper. |
Syntax: |
transformation = pickhelper.transformation_at index |
Arguments: |
index - the index where the transformation should be retrieved. |
Return Value: |
transformation - the transformation found |
Comments: |
The index represents the depth (whether the transformation is encapsulated in a component or group). A depth of 1 represents no encapsulation. |
Example: |
ph = view.pick_helper |
view |
The view method is used to retrieve the View that this PickHelper is associated with. |
Syntax: |
view = pickhelper.view |
Arguments: |
|
Return Value: |
view - the current View object associated with the pick helper |
Comments: |
|
Example: |
ph = view.pick_helper |