class = "point"
This class is used to interactively get a point or list of points.
If the active target object is 2D, the points are projected onto the plane of the object (Z = 0.0).
If the active target object is 3D, the points are mapped into 3D space via the active view plane, unless they are derived from other 3D geometry, in which case their location in 3D space is determined by the method used to derive them from existing geometry, or if their location is specified via absolute coordinate input.
Use VxInpPnt() and VxInpPntList() to retrieve data items of the "point" class from a VDATA object.
|
"two_ent"
|
When selecting a point on an entity(s), this option allows a single pick to select two intersecting entities simultaneously. |
|
"hi_ent"
|
When selecting a point on an entity, this option enables highlighting of the entity. |
|
"crit_pnt"
|
Enable the "critical point" point input method if the active target object requires "critical points" for certain applications (i.e. profiles require that dimension points be "critical" points).
The "Input Options" popup will not display any other point input options. |
|
"on_ent"
|
Enable the point input method that dynamically maps the locator position to the closest point on the entity within the locator's aperture. All other pick input methods are disabled. |
|
"marker_off" |
Disable display of point markers. |
|
"qpick_off"
|
Disable dynamic mapping of locator position to "critical" points or "on-entity" points (quick-pick). |
|
"qpick_on" |
Enable dynamic locator mapping (quick-pick). |
|
"/<entity class>/<entity class>/..../ |
Set up a temporary entity filter based on a list of filter items delimited by backslashes. Only the specified items will be active for entity picks when selecting "critical" points or "on-entity" points. The following items are currently supported:
item = "part"
For now, it is assumed these item names are self-explanatory.
NOT !! Look at CdFiltInit() to see exactly what object classes
are contained in each "item". A new filter can be created using
CdFiltDefineItem(), which is defined in "cad/tools/CdFilt.c".
You pass a filter item name and a null-terminated list of object class
id's into CdFiltDefineItem(). The object class id's indicate which object classes are pickable when the item name is included in an entity filter definition. Read the header of CdFiltDefineItem() and check out CdFiltInit(). Include your filter item definitions in the "Init" function for your library -- or put them in CdFiltInit() if they are common to the CAD application.
For example, the following code fragment creates a filter item for making 2D Line objects pickable:
{ int list[3]; list[0] = 1; list[1] = VLINE2; list[2] = 0; if (CdFiltDefineItem("line",list)) return(1); return(0); }
If you create a new filter item that may be of generic use to other developers, please add it to this document. |
|
"limit=<count>" |
If "list=yes", limit the number of point selections to <count>. |
|
"pick_par"
|
Start pick traversal with target object's parent, excluding the target object from traversal. By default, the scope of entity pick traversal is limited to the target object. |
|
"proj_off"
|
Disable point projection for 2D target objects. For example, by default, if you picked the endpoint of an edge that lay out of the plane of a 2D object, the point logged as input would be the projection of the endpoint onto the plane of the 2D object. If "proj_off" were active, the endpoint would be logged as a 3Dpoint relative to the plane of the 2D object. |
|
"pop_tan"
|
Add a "Tangent" button to the "Point Input" pop-up menu. When this point input mode is enabled, point-on-curve picks are flagged with type "V_PNT3_TO", instead of V_PNT3_ON. Use this option when you want to differentiate between a point-on-curve pick used to define 1) an exact position on the curve (V_PNT3_ON) and a point-on-curve pick used to define 2) the general location of a point of tangency with the curve (V_PNT3_TO). |
|
"pop_gen"
|
Add "Entity" and "Length" buttons to the "Point Input" pop-up menu. These options allow the user to combine point, entity and length input in a single field. Use "VxInpGen()" to query the field. |
|
"pop_face"
|
Display only the "On Face" button on the "Point Input" pop-up menu. When pressed, this button allows the user to select a point on a face. |
|
"chk_line" |
Only accept linear entity picks. |
|
"empty_ok"
|
Accept field when the middle mouse button or <Enter> is pressed, even if the field is empty (i.e. doesn't have input data). |
|
"absolute"
|
Force point input method to "absolute" coordinate input and disable the pop-up menu. |
|
"dim_pnt"
|
This option enables prompting for an optional dimension text location point and dimension text string each time a point is selected. Prompting for the text location and text string is conditional based on the status of flags set using CdWiPnt_TxtPnt() and CdWiPnt_DimTxt(). These functions accept 0 (OFF) or 1 (ON) integer input to disable/enable prompting for a dimension text location point and dimension text string, respectively. |
|
"dist"
|
If this option is set and a string without commas is entered by the user, the string is interpreted as a distance and is assigned to the "x" coordinate of the point input object. If "VxInpGen" is used to query the object, it will return a number instead of a point. |
|
"ang"
|
If this option is set and a string without commas is entered by the user, the string is interpreted as an angle and is assigned to the "x" coordinate of the point input object. If "VxInpGen" is used to query the object, it will return a number instead of a point. |
|
"get_dir"
|
Force pick mode so that it will only pick points on lines. Show an arrow pointing along the line from the line endpoint closest to the pick point. The direction of the arrow is stored with the VPNT3 data object. Use "VxInpGen()" to get the point and direction associated with the VPNT3 data object. See the "is_direction" option in the "VsGenInp" data structure (VxCad.h). |
|
"get_dir_rot"
|
Force pick mode so that it will only pick points on lines. Show an arrow pointing along the line from the line endpoint closest to the pick point. The direction of the arrow is stored with the VPNT3 data object. Use "VxInpGen()" to get the point and direction associated with the VPNT3 data object. See the "is_direction" option in the "VsGenInp" data structure (VxCad.h). |
|
"root_path"
|
Also, show the direction of right-hand-rule rotation about the direction vector.
Force pick-path to record beginning with the "root-most" object. |
|
"pick_all"
|
Start pick traversal with target object's root object. By default, the scope of entity pick traversal is limited to the target object. |
|
"pick_last"
|
Pick the last "target" entity in a pick-path, instead of the first. Picking the first "target" entity is the default action. A "target" entity is one whose class is entered as a negative number in a filter item definition. At the moment, this option only works for component (VCOMP) picks. |
|
"pick_comp" or "ignore_comp" |
Make the active component (int VgCompIndex) the only component in the target object that can be picked (pick_comp) or the only component that cannot be picked (ignore_comp). |
|
"~<function name>" |
Calls the specified C function, which is assumed to be of type "void function(void)". |
|
"ignore_targ"
|
Exclude target object from pick traversal. |
|
"end_pnt"
|
Enable the critical point input options method. The "Input Options" popup will not display any other point input options. |
|
"no_crit"
|
Use default point input method but do not allow "critical point" point input method. The "Input Options" popup will not display "critical point" point input options. This is used for 2D targets only. |