Used to interactively get a point.
Constructors
Properties
Color used by CRhinoGetPoint::DynamicDraw to draw the current point and the line from the base point to the current point.
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.
Gets the type of object snap used to obtain the point.
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. |
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.
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.
Adds a point to the list of osnap 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:
| point (Point3d) | A point. |
Returns: Total number of snap points.
Adds points to the list of osnap 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.
ClearCommandOptions
public void ClearCommandOptions()
Clear all command options.
public void ClearConstraints()
Removes any explicit constraints added by calls to GetPoint::Constraint() and enable the built-in constraint options.
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.
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.
Constrains the picked point to lie on an arc.
Parameters:
| arc (Arc) | An arc to use as constraint. |
Returns: true if constraint could be applied.
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.
Constrains the picked point to lie on a circle.
Parameters:
| circle (Circle) | A circle to use as constraint. |
Returns: true if constraint could be applied.
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.
Constrains the picked point to lie on a cylinder.
Parameters:
| cylinder (Cylinder) | A cylinder to use as constraint. |
Returns: true if constraint could be applied.
Constrains the picked point to lie on a line.
Parameters:
| line (Line) | A line to use as constraint. |
Returns: true if constraint could be applied.
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 the picked point to lie on a plane.
Constrains the picked point to lie on a line.
Constrains the picked point to lie on a sphere.
Parameters:
| sphere (Sphere) | A sphere to use as constraint. |
Returns: true if constraint could be applied.
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.
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. |
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.
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.
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) |
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.
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.
Controls display of the curve snap perpendicular bar icon.
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.
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. |
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) |
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. |
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. |
After setting up options and so on, call GetPoint::Get to get a 3d point. The point is retrieved when the mouse goes down.
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.
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.
Gets current 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.
Returns: An array of points.
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. |
Gets current snap points.
Returns: An array of points.
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.
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.
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.
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 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
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. |
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) |
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. |
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. |
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. |
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.
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.
Use to determine is point was on a curve.
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.
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.
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.
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;
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. |
public static bool Snap(RhinoView view, Point3d testPoint, out Point3d snapPoint, out OsnapModes osnapMode)
Calculates the point the current object snap settings would produce, in the specified view, given a test point. This function does not prompt.
Parameters:
| view (RhinoView) | The view in which to snap. |
| testPoint (Point3d) | The world coordinate point to snap. |
| snapPoint (out Point3d) | The snapped point. If no object snap applied, then testPoint is returned. |
| osnapMode (out OsnapModes) | The type of object snap used to obtain the point. If no object snap applied, then OsnapModes.None is returned. |
Returns: true if successful, false otherwise.
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
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.
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.
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.
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.