GetTransform
GetPointGetBaseClassUsed for getting a Transform
Constructors
GetTransform
#protected GetTransform()
Properties
DynamicDrawColor
Color used by CRhinoGetPoint::DynamicDraw to draw the current point and the line from the base point to the current point.
FullFrameRedrawDuringGet
In the "RARE" case that you need to draw some depth buffered geometry during a Get() operation, setting this value to true will force entire frames to be redrawn while the user moves the mouse. This allows DisplayPipeline events to be triggered as well as OnPostDrawObjects NOTE!! Setting this value to true comes with a significant performance penalty because the scene needs to be fully regenerated every frame where the standard DynamicDraw event draws temporary decorations (geometry) on top of a static scene.
OsnapEventType
Gets the type of object snap used to obtain the point.
Tag
Gets or sets an arbitrary object that can be attached to this GetPoint instance. Useful for passing some/ information that you may need in a DynamicDraw event since you can get at this Tag from the GetPointDrawEventArgs.
Methods
AcceptColor
If you want to allow the user to be able to type in a color r,g,b or name during GetPoint.Get(), GetObject::GetObjects(), etc., then call AcceptColor(true) before calling GetPoint()/GetObject(). If the user chooses to type in a color, then the result code GetResult.Color is returned and you can use RhinoGet.Color() to get the value of the color. If the get accepts points, then the user will not be able to type in r,g,b colors but will be able to type color names.
Parameters:
| enable (bool) | true if user is able to type a color. |
AcceptCustomMessage
Parameters:
| enable (bool) |
AcceptEnterWhenDone
There are instances of RhinoGet that prompt with "Press Enter when Done." yet do not call AcceptNothing(). On the Mac, these instances need an additional call to AcceptEnterWhenDone() so the GetPointOptions dialog can correctly enable the Done button.
Parameters:
| enable (bool) |
AcceptNothing
If you want to allow the user to be able to press enter in order to skip selecting a something in GetPoint.Get(), GetObject::GetObjects(), etc., then call AcceptNothing( true ) beforehand.
Parameters:
| enable (bool) | true if user is able to press enter in order to skip selecting. |
AcceptNumber
If you want to allow the user to be able to type in a number during GetPoint.Get(), GetObject::GetObjects(), etc., then call AcceptNumber() beforehand. If the user chooses to type in a number, then the result code GetResult.Number is returned and you can use RhinoGet.Number() to get the value of the number. If you are using GetPoint and you want "0" to return (0,0,0) instead of the number zero, then set acceptZero = false.
AcceptPoint
If you want to allow the user to be able to type in a point then call AcceptPoint(true) before calling GetPoint()/GetObject(). If the user chooses to type in a number, then the result code GetResult.Point is returned and you can use RhinoGet.Point() to get the value of the point.
Parameters:
| enable (bool) | true if user is able to type in a point. |
AcceptString
If you want to allow the user to be able to type in a string during GetPoint.Get(), GetObject::GetObjects(), etc., then call AcceptString(true) before calling GetPoint()/GetObject(). If the user chooses to type in a string, then the result code GetResult.String is returned and you can use RhinoGet.String() to get the value of the string.
Parameters:
| enable (bool) | true if user is able to type a string. |
AcceptUndo
If you want to allow the user to have an 'undo' option in GetPoint.Get(), GetObject.GetObjects(), etc., then call AcceptUndo(true) beforehand.
Parameters:
| enable (bool) | true if user is able to choose the 'Undo' option. |
AddConstructionPoint
Adds a point to the list of construction points.
Remarks: Construction points are like snap points except that they get snapped to even when point osnap is off. Typically, there are only a few construction points while there can be many snap points. For example, when polylines are drawn the start point is a construction point and the other points are snap points.
Parameters:
| point (Point3d) | A point to be added. |
Returns: Total number of construction points.
AddConstructionPoints
Adds points to the list of construction points.
Remarks: Construction points are like snap points except that they get snapped to even when point osnap is off. Typically, there are only a few construction points while there can be many snap points. For example, when polylines are drawn the start point is a construction point and the other points are snap points.
Parameters:
| points (Point3d[]) | An array of points to be added. |
Returns: Total number of construction points.
AddOption
public int AddOption(LocalizeStringPair optionName, LocalizeStringPair optionValue, bool hiddenOption)
Adds a command line option.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes). |
| optionValue (LocalizeStringPair) | The localized value visualized after an equality sign. |
| hiddenOption (bool) | If true, the option is not displayed on the command line and the full option name must be typed in order to activate the option. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOption
Adds a command line option.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes). |
| optionValue (LocalizeStringPair) | The localized value visualized after an equality sign. |
Returns: option index value (>0) or 0 if option cannot be added.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes). |
Returns: option index value (>0) or 0 if option cannot be added.
AddOption
Adds a command line option.
Parameters:
| englishOption (string) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes). |
| englishOptionValue (string) | The option value in English, visualized after an equality sign. |
| hiddenOption (bool) | If true, the option is not displayed on the command line and the full option name must be typed in order to activate the option. |
Returns: Option index value (>0) or 0 if option cannot be added.
AddOption
Adds a command line option.
Parameters:
| englishOption (string) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes). |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionColor
Add a command line option to get colors and automatically save the value.
Parameters:
| optionName (LocalizeStringPair) | option description. |
| colorValue (ref OptionColor) | The current color value. |
| prompt (string) | option prompt shown if the user selects this option |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionColor
Add a command line option to get colors and automatically save the value.
Parameters:
| optionName (LocalizeStringPair) | option description |
| colorValue (ref OptionColor) | The current color value. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionColor
Add a command line option to get colors and automatically save the value.
Parameters:
| englishName (string) | option description |
| colorValue (ref OptionColor) | The current color value. |
| prompt (string) | The command prompt will show this during picking. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionColor
Add a command line option to get colors and automatically save the value.
Parameters:
| englishName (string) | option description |
| colorValue (ref OptionColor) | The current color value. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionDouble
public int AddOptionDouble(LocalizeStringPair optionName, ref OptionDouble numberValue, string prompt)
Adds a command line option to get numbers and automatically saves the value.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| numberValue (ref OptionDouble) | The current number value. |
| prompt (string) | option prompt shown if the user selects this option. If null or empty, then the option name is used as the get number prompt. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionDouble
Adds a command line option to get numbers and automatically save the value.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| numberValue (ref OptionDouble) | The current number value. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionDouble
Adds a command line option to get numbers and automatically save the value.
Parameters:
| englishName (string) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| numberValue (ref OptionDouble) | Current value. |
| prompt (string) | option prompt shown if the user selects this option. If null or empty, then the option name is used as the get number prompt. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionDouble
Adds a command line option to get numbers and automatically save the value.
Parameters:
| englishName (string) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| numberValue (ref OptionDouble) | The current number value. |
Returns: Option index value (>0) or 0 if option cannot be added.
AddOptionEnumList<T>
[CLSCompliant(false)]
public int AddOptionEnumList<T>(LocalizeStringPair optionName, T defaultValue, T[] include)
Adds a choice of enumerated values as list option. Allows to include only some enumerated values.
Parameters:
| optionName (LocalizeStringPair) | The name of the option |
| defaultValue (T) | The default value |
| include (T[]) | An array of enumerated values to use. This argument can also be null; in this case, the whole enumerated is used. |
Returns: Option index
Exceptions:
| ArgumentException | Gets thrown if defaultValue provided is not an enumerated type. |
AddOptionEnumList<T>
[CLSCompliant(false)]
public int AddOptionEnumList<T>(LocalizeStringPair optionName, T defaultValue)
Adds a choice of enumerated values as list option
Parameters:
| optionName (LocalizeStringPair) | The name of the option |
| defaultValue (T) | The default value |
Returns: Option index
Exceptions:
| ArgumentException | Gets thrown if defaultValue provided is not an enumerated type. |
AddOptionEnumList<T>
[CLSCompliant(false)]
public int AddOptionEnumList<T>(string englishOptionName, T defaultValue, T[] include)
Adds a choice of enumerated values as list option. Allows to include only some enumerated values.
Parameters:
| englishOptionName (string) | The name of the option |
| defaultValue (T) | The default value |
| include (T[]) | An array of enumerated values to use. This argument can also be null; in this case, the whole enumerated is used. |
Returns: Option index
Exceptions:
| ArgumentException | Gets thrown if defaultValue provided is not an enumerated type. |
AddOptionEnumList<T>
Adds a choice of enumerated values as list option
Parameters:
| englishOptionName (string) | The name of the option |
| defaultValue (T) | The default value |
Returns: Option index
Exceptions:
| ArgumentException | Gets thrown if defaultValue provided is not an enumerated type. |
AddOptionEnumSelectionList<T>
[CLSCompliant(false)]
public int AddOptionEnumSelectionList<T>(LocalizeStringPair optionName, IEnumerable<T> enumSelection, int listCurrentIndex)
Adds a list of enumerated values as option list. Use enumSelection[go.Option.CurrentListOptionIndex] to retrieve selection.
Parameters:
| optionName (LocalizeStringPair) | The name of the option |
| enumSelection (IEnumerable<T>) | The enumerated values to use. |
| listCurrentIndex (int) | Zero based index of current option. |
Returns: Option index
AddOptionEnumSelectionList<T>
[CLSCompliant(false)]
public int AddOptionEnumSelectionList<T>(string englishOptionName, IEnumerable<T> enumSelection, int listCurrentIndex)
Adds a list of enumerated values as option list. Use enumSelection[go.Option.CurrentListOptionIndex] to retrieve selection.
Parameters:
| englishOptionName (string) | |
| enumSelection (IEnumerable<T>) | |
| listCurrentIndex (int) |
AddOptionInteger
public int AddOptionInteger(LocalizeStringPair optionName, ref OptionInteger intValue, string prompt)
Adds a command line option to get integers and automatically save the value.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| intValue (ref OptionInteger) | The current integer value. |
| prompt (string) | option prompt shown if the user selects this option. If null or empty, then the option name is used as the get number prompt. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionInteger
Adds a command line option to get integers and automatically save the value.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| intValue (ref OptionInteger) | The current integer value. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionInteger
Adds a command line option to get integers and automatically save the value.
Parameters:
| englishName (string) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| intValue (ref OptionInteger) | The current integer value. |
| prompt (string) | option prompt shown if the user selects this option. If null or empty, then the option name is used as the get number prompt. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionInteger
Adds a command line option to get integers and automatically save the value.
Parameters:
| englishName (string) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| intValue (ref OptionInteger) | The current integer value. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionList
public int AddOptionList(LocalizeStringPair optionName, IEnumerable<LocalizeStringPair> listValues, int listCurrentIndex)
Adds a command line list option.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| listValues (IEnumerable<LocalizeStringPair>) | The string values. |
| listCurrentIndex (int) | Zero based index of current option. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionList
public int AddOptionList(string englishOptionName, IEnumerable<string> listValues, int listCurrentIndex)
Adds a command line list option.
Parameters:
| englishOptionName (string) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| listValues (IEnumerable<string>) | The string values. |
| listCurrentIndex (int) | Zero based index of current option. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionString
public int AddOptionString(LocalizeStringPair optionName, ref OptionString stringValue, string prompt)
Add a command line option to get a string and automatically save the value.
Parameters:
| optionName (LocalizeStringPair) | The option description. |
| stringValue (ref OptionString) | The current string value. |
| prompt (string) | Command prompt to be shown if the picks this option. |
Returns: The option index value (>0) or 0 if option cannot be added.
AddOptionString
Add a command line option to get a string and automatically save the value.
Parameters:
| optionName (LocalizeStringPair) | The option description. |
| stringValue (ref OptionString) | The current string value. |
Returns: The option index value (>0) or 0 if option cannot be added.
AddOptionString
Add a command line option to get a string and automatically save the value.
Parameters:
| englishName (string) | The option description. |
| stringValue (ref OptionString) | The current string value. |
| prompt (string) | Command prompt to be shown if the picks this option. |
Returns: The option index value (>0) or 0 if option cannot be added.
AddOptionString
Add a command line option to get a string and automatically save the value.
Parameters:
| englishName (string) | The option description. |
| stringValue (ref OptionString) | The current string value. |
Returns: The option index value (>0) or 0 if option cannot be added.
AddOptionToggle
Adds a command line option to toggle a setting.
Parameters:
| optionName (LocalizeStringPair) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| toggleValue (ref OptionToggle) | The current toggle value. |
Returns: option index value (>0) or 0 if option cannot be added.
AddOptionToggle
Adds a command line option to toggle a setting.
Parameters:
| englishName (string) | Must only consist of letters and numbers (no characters list periods, spaces, or dashes) |
| toggleValue (ref OptionToggle) | The current toggle value. |
Returns: option index value (>0) or 0 if option cannot be added.
Remarks: When point osnap is enabled, GetPoint will snap to points in the Rhino model. If you want the user to be able to snap to additional points, then use GetPoint::AddSnapPoints to specify the locations of these additional points.
Parameters:
| point (Point3d) | A point. |
Returns: Total number of snap points.
Remarks: When point osnap is enabled, GetPoint will snap to points in the Rhino model. If you want the user to be able to snap to additional points, then use GetPoint::AddSnapPoints to specify the locations of these additional points.
Parameters:
| points (Point3d[]) | An array of points to snap onto. |
Returns: Total number of snap points.
Adds any objects you want transformed and grips you want transformed. Make sure no duplicates are in the list and that no grip owners are passed in as objects.
Parameters:
| list (TransformObjectList) | A custom transform object list. |
Retrieves the final transformation.
Override this virtual function to provide your own custom transformation method.
Parameters:
| viewport (RhinoViewport) | A Rhino viewport that the user is using. |
| point (Point3d) | A point that the user is selecting. |
Returns: A transformation matrix value.
ClearCommandOptions
public void ClearCommandOptions()
Clear all command options.
ClearConstraints
public void ClearConstraints()
Removes any explicit constraints added by calls to GetPoint::Constraint() and enable the built-in constraint options.
ClearConstructionPoints
public void ClearConstructionPoints()
Remove all construction points.
Remarks: Construction points are like snap points except that they get snapped to even when point osnap is off. Typically, there are only a few construction points while there can be many snap points. For example, when polylines are drawn the start point is a construction point and the other points are snap points.
ClearDefault
public void ClearDefault()
Clears any defaults set using SetDefaultPoint, SetDefaultNumber, SetDefaultString, or SetCommandPromptDefault.
ClearSnapPoints
public void ClearSnapPoints()
Remove all snap points.
Remarks: When point osnap is enabled, GetPoint will snap to points in the Rhino model. If you want the user to be able to snap to additional points, then use GetPoint::AddSnapPoints to specify the locations of these additional points.
Returns: The color chosen by the user.
CommandResult
Helper method for getting command result value from getter results.
Returns: The converted command result.
Parameters:
| arc (Arc) | An arc to use as constraint. |
Returns: true if constraint could be applied.
Constrain
Constrains the picked point to lie on a brep.
Parameters:
| brep (Brep) | A brep to use as constraint. |
| wireDensity (int) | When wire_density<0, isocurve intersection snapping is turned off, when wire_density>=0, the value defines the isocurve density used for isocurve intersection snapping. |
| faceIndex (int) | When face_index <0, constrain to whole brep. When face_index >=0, constrain to individual face. |
| allowPickingPointOffObject (bool) | defines whether the point pick is allowed to happen off object. When false, a "no no" cursor is shown when the cursor is not on the object. When true, a normal point picking cursor is used and the marker is visible also when the cursor is not on the object. |
Returns: true if constraint could be applied.
Parameters:
| circle (Circle) | A circle to use as constraint. |
Returns: true if constraint could be applied.
Constrain
Constrains the picked point to lie on a curve.
Parameters:
| curve (Curve) | A curve to use as constraint. |
| allowPickingPointOffObject (bool) | defines whether the point pick is allowed to happen off object. When false, a "no no" cursor is shown when the cursor is not on the object. When true, a normal point picking cursor is used and the marker is visible also when the cursor is not on the object. |
Returns: true if constraint could be applied.
Parameters:
| cylinder (Cylinder) | A cylinder to use as constraint. |
Returns: true if constraint could be applied.
Parameters:
| line (Line) | A line to use as constraint. |
Returns: true if constraint could be applied.
Constrain
Constrains the picked point to lie on a mesh.
Parameters:
| mesh (Mesh) | A mesh to use as constraint. |
| allowPickingPointOffObject (bool) | defines whether the point pick is allowed to happen off object. When false, a "no no" cursor is shown when the cursor is not on the object. When true, a normal point picking cursor is used and the marker is visible also when the cursor is not on the object. |
Returns: true if constraint could be applied.
Constrain
constrain the picked point to lie on a plane.
Constrain
Constrains the picked point to lie on a line.
Parameters:
| sphere (Sphere) | A sphere to use as constraint. |
Returns: true if constraint could be applied.
Constrain
Constrains the picked point to lie on a surface.
Parameters:
| surface (Surface) | A surface to use as constraint. |
| allowPickingPointOffObject (bool) | defines whether the point pick is allowed to happen off object. When false, a "no no" cursor is shown when the cursor is not on the object. When true, a normal point picking cursor is used and the marker is visible also when the cursor is not on the object. |
Returns: true if constraint could be applied.
ConstrainDistanceFromBasePoint
Sets distance constraint from base point.
Remarks: If the base point is set and the distance from base point constraint is > 0, then the picked point is constrained to be this distance from the base point.
Parameters:
| distance (double) | pass UnsetValue to clear this constraint. Pass 0.0 to disable the ability to set this constraint by typing a number during GetPoint. |
ConstrainToConstructionPlane
If enabled, the picked point is constrained to be on the active construction plane. If the base point is set, then the point is constrained to be on the plane that contains the base point and is parallel to the active construction plane. By default this constraint is enabled.
Parameters:
| throughBasePoint (bool) | true if the base point should be used as compulsory level reference. |
Returns: If true and the base point is set, then the point is constrained to be on the plane parallel to the construction plane that passes through the base point, even when planar mode is off. If throughBasePoint is false, then the base point shift only happens if planar mode is on.
ConstrainToTargetPlane
public void ConstrainToTargetPlane()
Constrains point to lie on a plane that is parallel to the viewing plane and passes through the view's target point.
ConstrainToVirtualCPlaneIntersection
If enabled, the picked point is constrained to be on the intersection of the plane and the virtual CPlane going through the plane origin. If the planes are parallel, the constraint works just like planar constraint.
Parameters:
| plane (Plane) | The plane used for the plane - virtual CPlane intersection. |
Returns: true if the operation succeeded; false otherwise.
CustomMessage
Dispose
public void Dispose()
Dispose
Parameters:
| disposing (bool) |
DrawLineFromPoint
Use DrawLineFromPoint() if you want a dynamic line drawn from a point to the point being picked.
Remarks: Calling DrawLineFromPoint automatically enables drawing the line. Use EnableDrawLineFromPoint() to toggle the line drawing state.
EnableCurveSnapArrow
Controls display of the curve snap arrow icon.
Remarks: The tangent bar is drawn by GetPoint::DynamicDraw. If you override GetPoint::DynamicDraw, then you must call the base class function.
EnableCurveSnapPerpBar
Controls display of the curve snap perpendicular bar icon.
EnableCurveSnapTangentBar
Controls display of the curve snap tangent bar icon.
Remarks: The tangent bar is drawn by GetPoint::DynamicDraw. If you override GetPoint::DynamicDraw, then you must call the base class function.
EnableDrawLineFromPoint
Controls drawing of dynamic a line from the start point.
Parameters:
| enable (bool) | if true, a dynamic line is drawn from the DrawLineFromPoint startPoint to the point being picked. |
EnableNoRedrawOnExit
The default functionality of the GetPoint operation is to perform a redraw on exit. Calling this function with true turns off automatic redraw at the end of GetPoint. May be needed in some commands for flicker free feedback. When set to true, the caller is responsible for cleaning up the screen after GetPoint.
Parameters:
| noRedraw (bool) |
EnableObjectSnapCursors
Enables or disables object snap cursors. By default, object snap cursors are enabled.
Parameters:
| enable (bool) | If true then object snap cursors (plus sign with "near", "end", etc.) are used when the point snaps to a object. |
EnableSnapToCurves
If you want GetPoint() to try to snap to curves when the mouse is near a curve (like the center point in the Circle command when the AroundCurve option is on), then enable the snap to curves option.
Parameters:
| enable (bool) | Whether points should be enabled. |
EnableTransparentCommands
Control the availability of transparent commands during the get.
Remarks: Some Rhino commands are "transparent" and can be run inside of other commands. Examples of transparent commands include the view manipulation commands like ZoomExtents, Top, etc., and the selection commands like SelAll, SelPoint, etc. By default transparent commands can be run during any get. If you want to disable this feature, then call EnableTransparentCommands(false) before calling GetString, GetPoint, GetObject, etc.
Parameters:
| enable (bool) | If true, then transparent commands can be run during the get. If false, then transparent commands cannot be run during the get. |
Get
After setting up options and so on, call GetPoint::Get to get a 3d point. The point is retrieved when the mouse goes down.
Get
After setting up options and so on, call this method to get a 2d or 3d point.
Parameters:
| onMouseUp (bool) | If false, the point is returned when the left mouse button goes down. If true, the point is returned when the left mouse button goes up. |
| get2DPoint (bool) | If true then get a 2d point otherwise get a 2d point |
Returns: GetResult.Point if the user chose a 3d point; GetResult.Point2d if the user chose a 2d point; other enumeration value otherwise.
Get
After setting up options and so on, call this method to get a 3d point.
Parameters:
| onMouseUp (bool) | If false, the point is returned when the left mouse button goes down. If true, the point is returned when the left mouse button goes up. |
Returns: GetResult.Point if the user chose a point; other enumeration value otherwise.
Remarks: Construction points are like snap points except that they get snapped to even when point osnap is off. Typically, there are only a few construction points while there can be many snap points. For example, when polylines are drawn the start point is a construction point and the other points are snap points.
Returns: An array of points.
GetPlanarConstraint
Parameters:
| vp (ref RhinoViewport) | |
| plane (out Plane) |
GetSelectedEnumValue<T>
Returns the selected enumerated value. Use this in combination with GetBaseClass.AddOptionEnumList<T>(string, T).
This must be called directly after having called a Get method, and having obtained a GetResult.Option value.
Exceptions:
| ArgumentException | Gets thrown if type T is not an enumerated type. |
| IndexOutOfRangeException | If 0 >= CurrentListOptionIndex or CurrentListOptionIndex > N where N is the number of enumerated values. |
GetSelectedEnumValueFromSelectionList<T>
[CLSCompliant(false)]
public T GetSelectedEnumValueFromSelectionList<T>(IEnumerable<T> selectionList)
Returns the selected enumerated value by looking at the list of values from which to select. Use this in combination with AddOptionEnumSelectionList.
Parameters:
| selectionList (IEnumerable<T>) |
Exceptions:
| ArgumentException | Gets thrown if type T is not an enumerated type. |
| IndexOutOfRangeException | If 0 >= CurrentListOptionIndex or CurrentListOptionIndex > N where N is the number of enumerated values. |
Returns: An array of points.
Gets the Transformation.
Call this after having set up options and so on.
Returns: The result based on user choice.
GotDefault
Returns true if user pressed Enter to accept a default point, number, or string set using SetDefaultPoint, SetDefaultNumber, or SetDefaultString.
Returns: true if the result if the default point, number or string set. Otherwise, false.
InterruptMouseMove
If you have lengthy computations in OnMouseMove() and/or DymanicDraw() overrides, then periodically call InterruptMouseMove() to see if you should interrupt your work because the mouse has moved again.
Returns: true if you should interrupt your work; false otherwise.
Line2d
Returns two points defining the location in the view window of the 2d line selected in GetPoint::Get2dLine().
(0,0) = upper left corner of window.
Returns: An array with two 2D points.
Number
Gets a number if GetPoint.Get(), GetObject.GetObjects(), etc., returns GetResult.Number.
Returns: The number chosen by the user.
NumberPreview
If the user is typing a number, but hasn't pressed Enter, true is returned, along with the number the user typed.
Parameters:
| number (out double) | The number typed by the user. |
Returns: true if successful, false otherwise.
OnDynamicDraw
Default calls the DynamicDraw event.
Parameters:
| e (GetPointDrawEventArgs) | Current argument for the event. |
OnMouseDown
Default calls the MouseDown event.
Parameters:
| e (GetPointMouseEventArgs) | Current argument for the event. |
OnMouseMove
Calls the GetPoint.MouseMove event and can/should be called by overriding implementation.
Parameters:
| e (GetPointMouseEventArgs) | Current argument for the event. |
OnPostDrawObjects
In the "rare" case that you need to draw some depth buffered geometry during a GetPoint operation, override the OnPostDrawObjects function. NOTE!! Overriding this function comes with a significant performance penalty because the scene needs to be fully regenerated every frame where the standard DynamicDraw event draws temporary decorations (geometry) on top of a static scene.
Parameters:
| e (DrawEventArgs) | Current argument for the event. |
OptionIndex
PermitConstraintOptions
Control the availability of the built-in linear, planar, curve, and surface constraint options like "Along", "AlongPerp", "AlongTan", "AlongParallel", "Between", "OnCrv", "OnSrf", ".x", ".y", ".z", ".xy", etc.
Remarks: By default, these built-in constraint options are available unless an explicit constraint is added by calling one of the GetPoint::Constrain functions. Calling GetPoint::ClearConstraints automatically enables the built-in constraint options. The built-in constraint options are never visible on the command line and the user must type the complete option name to activate these options.
Parameters:
| permit (bool) | if true, then the built-in constraint options are automatically available in GetPoint. |
PermitElevatorMode
Permits the use of the control key to define a line constraint.
Parameters:
| permitMode (int) | 0: no elevator modes are permitted 1: fixed plane elevator mode (like the Line command) 2: cplane elevator mode (like object dragging) |
PermitFromOption
Control the availability of the built-in "From" option. By default, the "From" option is enabled.
Remarks: The GetPoint "From" option is never visible on the command line and the user must type the complete option name to activate the "From" option. When the GetPoint "From" snap is enabled, the user set/change the base point during GetPoint by typing "From" and picking a point. A related option is the built-in distance from base point constraint that is can be set before GetPoint is called by passing a value to GetPoint::ConstrainDistanceFromBasePoint or during GetPoint by entering a number.
Parameters:
| permit (bool) | if true, then the "From" option is automatically available in GetPoint. |
PermitObjectSnap
By default, object snaps like "end", "near", etc. are controlled by the user. If you want to disable this ability, then call PermitObjectSnap(false).
Parameters:
| permit (bool) | true to permit snapping to objects. |
PermitOrthoSnap
Controls availability of ortho snap. Default is true.
Parameters:
| permit (bool) | if true, then GetPoint pays attention to the Rhino "ortho snap" and "planar snap" settings reported by ModelAidSettings.Ortho and ModelAidSettings.Planar. |
PermitTabMode
Permits the use of the tab key to define a line constraint.
Remarks: By default, use of the tab key is supported.
Parameters:
| permit (bool) | If true, then the built-in tab key mode is available. |
PickRectangle
If the get was a GetObjects() and the mouse was used to select the objects, then the returned rectangle has left < right and top < bottom. This rectangle is the Windows GDI screen coordinates of the picking rectangle. RhinoViewport.GetPickXform( pick_rect, pick_xform ) will calculate the picking transformation that was used. In all other cases, left=right=top=bottom=0;
Returns: The picking rectangle; or 0 in the specified cases.
Returns: The point chosen by the user.
Point2d
Returns location in view of point in selected in GetPoint::Get() or GetPoint::Get2dPoint(). (0,0) = upper left corner of window.
Returns: The location.
PointOnBrep
Use to determine if point was on a Brep face. If the point was on a Brep face, then the (u,v) are the face parameters for the point.
Parameters:
| t (out double) | If the point was on a curve, then the t is the curve parameter for the point. The point returned by Point() is the same as curve.PointAt(t). |
Returns: A copy of the curve, or null if the point was not on a curve. If the point was on a Brep edge, then an edge on a copy of the Brep is returned.
PointOnObject
Call this function to see if the point was on an object. If the point was on an object an ObjRef is returned; otherwise null is returned.
Returns: A point object reference.
PointOnSurface
Use to determine if point was on a surface. If the point was on a surface, then the (u,v) are the surface parameters for the point. The point returned by Point() is the same as surface.PointAt(u,v).
Rectangle2d
Returns the location in the view of the 2d rectangle selected in GetPoint::Get2dRectangle(). rect.left < rect.right and rect.top < rect.bottom (0,0) = upper left corner of window.
Returns: The rectangle.
Returns: The result of the last Get*() call.
SetBasePoint
Sets a base point used by ortho snap, from snap, planar snap, etc.
SetCommandPrompt
Sets prompt message that appears in the command prompt window.
Parameters:
| prompt (string) | command prompt message. |
SetCommandPromptDefault
Sets message that describes what default value will be used if the user presses enter. This description appears in angle brackets <> in the command prompt window. You do not need to provide a default value description unless you explicitly enable AcceptNothing.
Remarks: If you have a simple default point, number, or string, it is easier to use SetDefaultPoint, SetDefaultNumber, or SetDefaultString. SetCommandPromptDefault and AcceptNothing can be used for providing more advanced UI behavior.
Parameters:
| defaultValue (string) | description of default value. |
Example:ON_3dPoint default_center = new ON_3dPoint(2,3,4); GetPoint gp = new GetPoint(); gp.SetCommandPrompt( "Center point" ); gp.SetCommandPromptDefault( "(2,3,4)" ); gp.AcceptNothing(true); gp.GetPoint(); if ( gp.Result() == GetResult.Nothing ) point = default_center;
SetCursor
Sets cursor that will be used when Get() is called and snap is not happening.
Parameters:
| cursor (CursorStyle) |
SetDefaultColor
Sets a color as default value that will be returned if the user presses ENTER key during the get.
Remarks: Calling SetDefaultColor will automatically handle setting the command prompt default and reacting to the user pressing ENTER. If the user presses ENTER to accept the default color, GetResult.Color is returned and RhinoGet.GotDefault() will return true. Calling SetDefaultColor will clear any previous calls to SetDefaultString or SetDefaultPoint.
Parameters:
| defaultColor (Color) | value for default color. |
SetDefaultInteger
Sets a number as default value that will be returned if the user presses ENTER key during the get.
Remarks: Calling SetDefaultInteger will automatically handle setting the command prompt default and reacting to the user pressing ENTER. If the user presses ENTER to accept the default integer, GetResult.Number is returned and CRhinoGet.GotDefault() will return true. Calling SetDefaultNumber will clear any previous calls to SetDefaultString or SetDefaultPoint.
Parameters:
| defaultValue (int) | value for default number. |
SetDefaultNumber
Sets a number as default value that will be returned if the user presses ENTER key during the get.
Remarks: Calling SetDefaultNumber will automatically handle setting the command prompt default and reacting to the user pressing ENTER. If the user presses ENTER to accept the default number, GetResult.Number is returned and RhinoGet.GotDefault() will return true. Calling SetDefaultNumber will clear any previous calls to SetDefaultString or SetDefaultPoint.
Parameters:
| defaultNumber (double) | value for default number. |
SetDefaultPoint
Sets a point as default value that will be returned if the user presses the ENTER key during the get.
Remarks: Calling SetDefaultPoint will automatically handle setting the command prompt default and reacting to the user pressing ENTER. If the user presses enter to accept the default point, GetResult.Point is returned and RhinoGet.GotDefault() will return true. Calling SetDefaultPoint will clear any previous calls to SetDefaultString or SetDefaultNumber.
Parameters:
| point (Point3d) | value for default point. |
SetDefaultString
Sets a string as default value that will be returned if the user presses ENTER key during the get.
Remarks: Calling SetDefaultString will automatically handle setting the command prompt default and reacting to the user pressing ENTER. If the user presses ENTER to accept the default string, GetResult.String is returned and RhinoGet.GotDefault() will return true. Calling SetDefaultString will clear any previous calls to SetDefaultNumber or SetDefaultPoint.
Parameters:
| defaultValue (string) | value for default string. |
SetOptionVaries
Sets a command line option value to print "Varies" instead of the regular value.
SetWaitDuration
Sets the wait duration (in milliseconds) of the getter. If the duration passes without the user making a decision, the GetResult.Timeout code is returned.
Parameters:
| milliseconds (int) | Number of milliseconds to wait. |
StringResult
Gets a string if GetPoint.Get(), GetObject.GetObjects(), etc., returns GetResult.String.
Returns: The string chosen by the user.
Parameters:
| basePoint (out Point3d) |
Vector
Gets a direction if Get*() returns GetResult.Point (Set by some digitizers, but in general it's (0,0,0).
Returns: The vector chosen by the user.
View
Gets a view the user clicked in during GetPoint.Get(), GetObject.GetObjects(), etc.
Returns: The view chosen by the user.
Events
DynamicDraw
Event to use if you want to dynamically draw things as the mouse/digitizer moves. Every time the mouse moves, DynamicDraw will be called once per viewport. The calls to DynamicDraw happen AFTER the call to MouseMove. If you are drawing anything that takes a long time, periodically call InterruptMouseMove() to see if you should stop.
MouseDown
Called during Get2dRectangle, Get2dLine, and GetPoint(..,true) when the mouse down event for the initial point occurs. This function is not called during ordinary point getting because the mouse down event terminates an ordinary point get and returns a GetResult.Point result.
MouseMove
Called every time the mouse moves. MouseMove is called once per mouse move and is called BEFORE any calls to OnDynamicDraw. If you are doing anything that takes a long time, periodically call InterruptMouseMove() to see if you should stop. If the view is such that the 2d screen point can't be mapped to a 3d point, the 'point' argument will be Unset.
PostDrawObjects
Same as the DisplayPipeline.PostDrawObjects, but only works during the operation of the Get() function. NOTE: You must set FullFrameRedrawDuringGet to true in order for this event to be called.