Click or drag to resize

GetPoint Class

Used to interactively get a point.
Inheritance Hierarchy

Namespace:  Rhino.Input.Custom
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public class GetPoint : GetBaseClass

The GetPoint type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleGetPoint
Create a new GetPoint.
Top
Properties
  NameDescription
Public propertyDynamicDrawColor
Color used by CRhinoGetPoint::DynamicDraw to draw the current point and the line from the base point to the current point.
Public propertyFullFrameRedrawDuringGet
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.
Public propertyOsnapEventType
Gets the type of object snap used to obtain the point.
Public propertyCode exampleTag
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.
Top
Methods
  NameDescription
Public methodAcceptColor
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.
(Inherited from GetBaseClass.)
Public methodAcceptCustomMessage (Inherited from GetBaseClass.)
Public methodAcceptEnterWhenDone
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.
(Inherited from GetBaseClass.)
Public methodCode exampleAcceptNothing
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.
(Inherited from GetBaseClass.)
Public methodAcceptNumber
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.
(Inherited from GetBaseClass.)
Public methodAcceptPoint
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.
(Inherited from GetBaseClass.)
Public methodAcceptString
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.
(Inherited from GetBaseClass.)
Public methodAcceptUndo
If you want to allow the user to have an 'undo' option in GetPoint.Get(), GetObject.GetObjects(), etc., then call AcceptUndo(true) beforehand.
(Inherited from GetBaseClass.)
Public methodAddConstructionPoint
Adds a point to the list of construction points.
Public methodAddConstructionPoints
Adds points to the list of construction points.
Public methodAddOption(LocalizeStringPair)
Adds a command line option.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOption(String)
Adds a command line option.
(Inherited from GetBaseClass.)
Public methodAddOption(LocalizeStringPair, LocalizeStringPair)
Adds a command line option.
(Inherited from GetBaseClass.)
Public methodAddOption(String, String)
Adds a command line option.
(Inherited from GetBaseClass.)
Public methodAddOption(LocalizeStringPair, LocalizeStringPair, Boolean)
Adds a command line option.
(Inherited from GetBaseClass.)
Public methodAddOption(String, String, Boolean)
Adds a command line option.
(Inherited from GetBaseClass.)
Public methodAddOptionColor(LocalizeStringPair, OptionColor)
Add a command line option to get colors and automatically save the value.
(Inherited from GetBaseClass.)
Public methodAddOptionColor(String, OptionColor)
Add a command line option to get colors and automatically save the value.
(Inherited from GetBaseClass.)
Public methodAddOptionColor(LocalizeStringPair, OptionColor, String)
Add a command line option to get colors and automatically save the value.
(Inherited from GetBaseClass.)
Public methodAddOptionColor(String, OptionColor, String)
Add a command line option to get colors and automatically save the value.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOptionDouble(LocalizeStringPair, OptionDouble)
Adds a command line option to get numbers and automatically save the value.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOptionDouble(String, OptionDouble)
Adds a command line option to get numbers and automatically save the value.
(Inherited from GetBaseClass.)
Public methodAddOptionDouble(LocalizeStringPair, OptionDouble, String)
Adds a command line option to get numbers and automatically saves the value.
(Inherited from GetBaseClass.)
Public methodAddOptionDouble(String, OptionDouble, String)
Adds a command line option to get numbers and automatically save the value.
(Inherited from GetBaseClass.)
Public methodAddOptionEnumListT(String, T)
Adds a choice of enumerated values as list option
(Inherited from GetBaseClass.)
Public methodAddOptionEnumListT(String, T, T)
Adds a choice of enumerated values as list option. Allows to include only some enumerated values.
(Inherited from GetBaseClass.)
Public methodAddOptionEnumSelectionListT
Adds a list of enumerated values as option list. Use enumSelection[go.Option.CurrentListOptionIndex] to retrieve selection.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOptionInteger(LocalizeStringPair, OptionInteger)
Adds a command line option to get integers and automatically save the value.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOptionInteger(String, OptionInteger)
Adds a command line option to get integers and automatically save the value.
(Inherited from GetBaseClass.)
Public methodAddOptionInteger(LocalizeStringPair, OptionInteger, String)
Adds a command line option to get integers and automatically save the value.
(Inherited from GetBaseClass.)
Public methodAddOptionInteger(String, OptionInteger, String)
Adds a command line option to get integers and automatically save the value.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOptionList(LocalizeStringPair, IEnumerableLocalizeStringPair, Int32)
Adds a command line list option.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOptionList(String, IEnumerableString, Int32)
Adds a command line list option.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOptionToggle(LocalizeStringPair, OptionToggle)
Adds a command line option to toggle a setting.
(Inherited from GetBaseClass.)
Public methodCode exampleAddOptionToggle(String, OptionToggle)
Adds a command line option to toggle a setting.
(Inherited from GetBaseClass.)
Public methodAddSnapPoint
Adds a point to the list of osnap points.
Public methodAddSnapPoints
Adds points to the list of osnap points.
Public methodCode exampleClearCommandOptions
Clear all command options.
(Inherited from GetBaseClass.)
Public methodCode exampleClearConstraints
Removes any explicit constraints added by calls to GetPoint::Constraint() and enable the built-in constraint options.
Public methodClearConstructionPoints
Remove all construction points.
Public methodClearDefault
Clears any defaults set using SetDefaultPoint, SetDefaultNumber, SetDefaultString, or SetCommandPromptDefault.
(Inherited from GetBaseClass.)
Public methodClearSnapPoints
Remove all snap points.
Public methodColor
Gets a color if Get*() returns GetResult.Color.
(Inherited from GetBaseClass.)
Public methodCode exampleCommandResult
Helper method for getting command result value from getter results.
(Inherited from GetBaseClass.)
Public methodConstrain(Arc)
Constrains the picked point to lie on an arc.
Public methodConstrain(Circle)
Constrains the picked point to lie on a circle.
Public methodConstrain(Cylinder)
Constrains the picked point to lie on a cylinder.
Public methodCode exampleConstrain(Line)
Constrains the picked point to lie on a line.
Public methodConstrain(Sphere)
Constrains the picked point to lie on a sphere.
Public methodCode exampleConstrain(Curve, Boolean)
Constrains the picked point to lie on a curve.
Public methodConstrain(Mesh, Boolean)
Constrains the picked point to lie on a mesh.
Public methodConstrain(Plane, Boolean)
constrain the picked point to lie on a plane.
Public methodCode exampleConstrain(Point3d, Point3d)
Constrains the picked point to lie on a line.
Public methodCode exampleConstrain(Surface, Boolean)
Constrains the picked point to lie on a surface.
Public methodConstrain(Brep, Int32, Int32, Boolean)
Constrains the picked point to lie on a brep.
Public methodConstrainDistanceFromBasePoint
Sets distance constraint from base point.
Public methodCode exampleConstrainToConstructionPlane
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.
Public methodConstrainToTargetPlane
Constrains point to lie on a plane that is parallel to the viewing plane and passes through the view's target point.
Public methodConstrainToVirtualCPlaneIntersection
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.
Public methodCustomMessage (Inherited from GetBaseClass.)
Public methodDispose (Inherited from GetBaseClass.)
Protected methodDispose(Boolean) (Inherited from GetBaseClass.)
Public methodCode exampleDrawLineFromPoint
Use DrawLineFromPoint() if you want a dynamic line drawn from a point to the point being picked.
Public methodEnableCurveSnapArrow
Controls display of the curve snap arrow icon.
Public methodEnableCurveSnapPerpBar
Controls display of the curve snap perpendicular bar icon.
Public methodEnableCurveSnapTangentBar
Controls display of the curve snap tangent bar icon.
Public methodEnableDrawLineFromPoint
Controls drawing of dynamic a line from the start point.
Public methodEnableNoRedrawOnExit
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.
Public methodEnableObjectSnapCursors
Enables or disables object snap cursors. By default, object snap cursors are enabled.
Public methodEnableSnapToCurves
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.
Public methodEnableTransparentCommands
Control the availability of transparent commands during the get.
(Inherited from GetBaseClass.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize (Inherited from GetBaseClass.)
Public methodCode exampleGet
After setting up options and so on, call GetPoint::Get to get a 3d point. The point is retrieved when the mouse goes down.
Public methodGet(Boolean)
After setting up options and so on, call this method to get a 3d point.
Public methodGet(Boolean, Boolean)
After setting up options and so on, call this method to get a 2d or 3d point.
Public methodGetConstructionPoints
Gets current construction points.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetPlanarConstraint
Public methodGetSelectedEnumValueT
Returns the selected enumerated value. Use this in combination with AddOptionEnumListT(String, T).

This must be called directly after having called a Get method, and having obtained a Option value.

(Inherited from GetBaseClass.)
Public methodGetSelectedEnumValueFromSelectionListT (Inherited from GetBaseClass.)
Public methodGetSnapPoints
Gets current snap points.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGotDefault
Returns true if user pressed Enter to accept a default point, number, or string set using SetDefaultPoint, SetDefaultNumber, or SetDefaultString.
(Inherited from GetBaseClass.)
Public methodInterruptMouseMove
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.
Public methodLine2d
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.

(Inherited from GetBaseClass.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodCode exampleNumber
Gets a number if GetPoint.Get(), GetObject.GetObjects(), etc., returns GetResult.Number.
(Inherited from GetBaseClass.)
Public methodNumberPreview
If the user is typing a number, but hasn't pressed Enter, true is returned, along with the number the user typed.
Protected methodCode exampleOnDynamicDraw
Default calls the DynamicDraw event.
Protected methodOnMouseDown
Default calls the MouseDown event.
Protected methodOnMouseMove
Calls the MouseMove event and can/should be called by overriding implementation.
Protected methodOnPostDrawObjects
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.
Public methodOption (Inherited from GetBaseClass.)
Public methodOptionIndex (Inherited from GetBaseClass.)
Public methodPermitConstraintOptions
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.
Public methodPermitElevatorMode
Permits the use of the control key to define a line constraint.
Public methodPermitFromOption
Control the availability of the built-in "From" option. By default, the "From" option is enabled.
Public methodPermitObjectSnap
By default, object snaps like "end", "near", etc. are controlled by the user. If you want to disable this ability, then call PermitObjectSnap(false).
Public methodPermitOrthoSnap
Controls availability of ortho snap. Default is true.
Public methodPermitTabMode
Permits the use of the tab key to define a line constraint.
Public methodPickRectangle
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;
(Inherited from GetBaseClass.)
Public methodCode examplePoint
Gets a point if Get*() returns GetResult.Point.
(Inherited from GetBaseClass.)
Public methodPoint2d
Returns location in view of point in selected in GetPoint::Get() or GetPoint::Get2dPoint(). (0,0) = upper left corner of window.
(Inherited from GetBaseClass.)
Public methodPointOnBrep
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.
Public methodCode examplePointOnCurve
Use to determine is point was on a curve.
Public methodPointOnObject
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.
Public methodPointOnSurface
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).
Public methodRectangle2d
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.
(Inherited from GetBaseClass.)
Public methodResult
Returns result of the Get*() call.
(Inherited from GetBaseClass.)
Public methodCode exampleSetBasePoint
Sets a base point used by ortho snap, from snap, planar snap, etc.
Public methodCode exampleSetCommandPrompt
Sets prompt message that appears in the command prompt window.
(Inherited from GetBaseClass.)
Public methodCode exampleSetCommandPromptDefault
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.
(Inherited from GetBaseClass.)
Public methodSetCursor
Sets cursor that will be used when Get() is called and snap is not happening.
Public methodSetDefaultColor
Sets a color as default value that will be returned if the user presses ENTER key during the get.
(Inherited from GetBaseClass.)
Public methodSetDefaultInteger
Sets a number as default value that will be returned if the user presses ENTER key during the get.
(Inherited from GetBaseClass.)
Public methodSetDefaultNumber
Sets a number as default value that will be returned if the user presses ENTER key during the get.
(Inherited from GetBaseClass.)
Public methodSetDefaultPoint
Sets a point as default value that will be returned if the user presses the ENTER key during the get.
(Inherited from GetBaseClass.)
Public methodCode exampleSetDefaultString
Sets a string as default value that will be returned if the user presses ENTER key during the get.
(Inherited from GetBaseClass.)
Public methodSetOptionVaries
Sets a command line option value to print "Varies" instead of the regular value.
(Inherited from GetBaseClass.)
Public methodSetWaitDuration
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.
(Inherited from GetBaseClass.)
Public methodCode exampleStringResult
Gets a string if GetPoint.Get(), GetObject.GetObjects(), etc., returns GetResult.String.
(Inherited from GetBaseClass.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTryGetBasePoint
Public methodVector
Gets a direction if Get*() returns GetResult.Point (Set by some digitizers, but in general it's (0,0,0).
(Inherited from GetBaseClass.)
Public methodCode exampleView
Gets a view the user clicked in during GetPoint.Get(), GetObject.GetObjects(), etc.
(Inherited from GetBaseClass.)
Top
Events
  NameDescription
Public eventDynamicDraw
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.
Public eventMouseDown
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.
Public eventMouseMove
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.
Public eventPostDrawObjects
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.
Top
See Also