GetBaseClass
ReferencesBase class for GetObject, GetPoint, GetSphere, etc. You will never directly create a GetBaseClass but you will use its member functions after calling GetObject.Gets(), GetPoint.Get(), and so on. Provides tools to set command prompt, set command options, and specify if the "get" can optionally accept numbers, nothing (pressing enter), and undo.
Finalizer
~GetBaseClass
#~GetBaseClass()
Methods
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. |
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) |
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. |
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.
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. |
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. |
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. |
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.
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.
Adds a command line option.
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.
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.
Adds a command line option.
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.
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.
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.
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.
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.
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.
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.
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.
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.
[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. |
[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. |
[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. |
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. |
[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
[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) |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
public void ClearDefault()
Clears any defaults set using SetDefaultPoint, SetDefaultNumber, SetDefaultString, or SetCommandPromptDefault.
Gets a color if Get*() returns GetResult.Color.
Returns: The color chosen by the user.
Helper method for getting command result value from getter results.
Returns: The converted command result.
public void Dispose()
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. |
Returns the selected enumerated value. Use this in combination with 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. |
[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 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.
Test a string to see if it can be used as an option name in any of the AddOption...() functions.
Parameters:
| optionName (string) | String to test. |
Returns: True if string can be used as an option name.
Test a string to see if it can be used as an option value name in the AddOption, AddOptionToggle, AddOptionList functions.
Parameters:
| optionValueName (string) |
Returns: True if string can be used as an option value.
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.
Gets a number if GetPoint.Get(), GetObject.GetObjects(), etc., returns GetResult.Number.
Returns: The number chosen by the user.
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.
Gets a point if Get*() returns GetResult.Point.
Returns: The point chosen by the user.
Returns location in view of point in selected in GetPoint::Get() or GetPoint::Get2dPoint(). (0,0) = upper left corner of window.
Returns: The location.
Parameters:
| messageData (object) |
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 result of the Get*() call.
Returns: The result of the last Get*() call.
Sets prompt message that appears in the command prompt window.
Parameters:
| prompt (string) | command prompt message. |
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 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. |
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. |
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. |
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. |
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. |
Sets a command line option value to print "Varies" instead of the regular value.
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. |
Gets a string if GetPoint.Get(), GetObject.GetObjects(), etc., returns GetResult.String.
Returns: The string chosen by the user.
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.