Rhino C++ API 7.12
Public Types | Public Member Functions | Friends | List of all members
CRhinoGetObject Class Reference

#include <rhinoSdkGetObject.h>

Inheritance diagram for CRhinoGetObject:
CRhinoGet

Public Types

enum  GEOMETRY_ATTRIBUTE_FILTER {
  wire_curve = 1<<0 , edge_curve = 1<<1 , closed_curve = 1<<2 , open_curve = 1<<3 ,
  seam_edge = 1<<4 , manifold_edge = 1<<5 , nonmanifold_edge = 1<<6 , mated_edge = (1<<4)|(1<<5)|(1<<6) ,
  surface_boundary_edge = 1<<7 , trimming_boundary_edge = 1<<8 , boundary_edge = (1<<7)|(1<<8) , closed_surface = 1<<9 ,
  open_surface = 1<<10 , trimmed_surface = 1<<11 , untrimmed_surface = 1<<12 , sub_surface = 1<<13 ,
  top_surface = 1<<14 , manifold_polysrf = 1<<15 , nonmanifold_polysrf = 1<<16 , closed_polysrf = 1<<17 ,
  open_polysrf = 1<<18 , closed_mesh = 1<<19 , open_mesh = 1<<20 , boundary_inner_loop = 1<<21 ,
  mated_inner_loop = 1<<22 , inner_loop = (1<<21)|(1<<22) , boundary_outer_loop = 1<<23 , mated_outer_loop = 1<<24 ,
  outer_loop = (1<<23)|(1<<24) , special_loop = (1<<25) , accept_all_attributes = 0xffffffff
}
 
enum  GEOMETRY_TYPE_FILTER {
  point_object = ON::object_type::point_object , grip_object = ON::object_type::grip_object , pointset_object = ON::object_type::pointset_object , curve_object = ON::object_type::curve_object ,
  surface_object = ON::object_type::surface_object , polysrf_object = ON::object_type::polysrf_filter , edge_object = ON::object_type::edge_filter , polyedge_object = ON::object_type::polyedge_filter ,
  loop_object = ON::object_type::loop_object , brepvertex_filter = ON::object_type::brepvertex_filter , mesh_object = ON::object_type::mesh_object , annotation_object = ON::object_type::annotation_object ,
  light_object = ON::object_type::light_object , instance_reference = ON::object_type::instance_reference , meshvertex_filter = ON::object_type::meshvertex_filter , meshedge_filter = ON::object_type::meshedge_filter ,
  meshface_filter = ON::object_type::meshface_filter , meshcomponent_reference = ON::object_type::meshcomponent_reference , cage_object = ON::object_type::cage_object , hatch_object = ON::object_type::hatch_object ,
  morph_control_object = ON::object_type::morph_control_object , subd_object = ON::object_type::subd_object , phantom_object = ON::object_type::phantom_object , extrusion_object = ON::object_type::extrusion_object ,
  any_object = ON::object_type::any_object
}
 
- Public Types inherited from CRhinoGet
enum  result {
  no_result = 0 , cancel = 1 , nothing = 2 , option ,
  number , color , undo , miss ,
  point , point2d , line2d , rect2d ,
  object , string , winmsg , timeout ,
  circle , plane , cylinder , sphere ,
  angle , distance , direction , frame ,
  number_preview , point_preview , user1 = 0xFFFFFFFF , user2 = 0xFFFFFFFE ,
  user3 = 0xFFFFFFFD , user4 = 0xFFFFFFFC , user5 = 0xFFFFFFFB , exit_rhino = 0x0FFFFFFF
}
 
enum  TYPE {
  get_string = 1 , get_point = 2 , get_object = 3 , get_meshes = 4 ,
  get_option = 5 , get_number = 6 , get_color = 7 , force_32bit_enum = 0xFFFFFFFF
}
 

Public Member Functions

 CRhinoGetObject ()
 
 CRhinoGetObject (const CRhinoGetObject &)
 
 ~CRhinoGetObject ()
 
bool AlreadySelectedObjectSelect () const
 
bool BlockSubObjectSelect () const
 
bool BottomObjectPreference () const
 
bool ChooseOneQuestion () const
 
void ClearObjects ()
 
virtual bool CustomGeometryFilter (const CRhinoObject *object, const ON_Geometry *geometry, ON_COMPONENT_INDEX component_index) const
 
bool DeselectAllBeforePostSelect () const
 
void EnableAlreadySelectedObjectSelect (bool bEnable=true)
 
void EnableBottomObjectPreference (BOOL bEnableBottomObjectPreference=true)
 
void EnableChooseOneQuestion (BOOL bEnableChooseOneQuestion=true)
 
void EnableClearObjectsOnEntry (bool bClearObjectsOnEntry=true)
 
void EnableDeselectAllBeforePostSelect (bool bDeselectAllBeforePostSelect=true)
 
void EnableGroupSelect (BOOL=true)
 
void EnableHighlight (BOOL=true)
 default is true More...
 
void EnableIgnoreGrips (bool=true)
 
void EnableIgnoreHistoryDependents (bool bIgnoreHistoryDependents)
 
void EnableInactiveDetailPick (bool enable=true)
 
void EnableMeshSelections (bool bEnable)
 
void EnableOneByOnePostSelect (BOOL bEnableOneByOnePostSelect=true)
 
void EnablePostSelect (BOOL bEnablePostSelect=true)
 
void EnablePreSelect (BOOL bEnablePreSelect=true, BOOL bIgnoreUnacceptablePreSelectedObjects=true)
 
bool EnablePressEnterWhenDonePrompt (bool bEnable=true)
 
void EnableProxyBrepFromSubD (bool bEnable)
 
void EnableReferenceObjectSelect (BOOL=true)
 
void EnableSelPrev (BOOL=true)
 default is true More...
 
void EnableSubDSelections (bool bEnable)
 
void EnableSubObjectSelect (BOOL bEnableSubObjectSelect, BOOL bEnableBlockSubObjectSelect)
 
void EnableSubObjectSelect (BOOL bEnableSubObjectSelect=true)
 
void EnableUnselectObjectsOnExit (bool bUnselectObjectsOnExit=true)
 
unsigned int GeometryAttributeFilter () const
 
unsigned int GeometryFilter () const
 
CRhinoGet::result GetObjects (int minimum_number=1, int maximum_number=1)
 
int GetSubDComponentList (ON__UINT64 subd_runtime_serial_number, ON_COMPONENT_INDEX::TYPE component_type, class ON_SubDComponentRefList &subd_component_list) const
 
bool GroupSelect () const
 
bool IgnoreHistoryDependents () const
 
bool InactiveDetailPick () const
 Added 30 June, 2010. More...
 
bool MeshSelections () const
 
CRhinoObjRef Object (int) const
 0 based index More...
 
int ObjectCount () const
 returns number of objects selected More...
 
bool ObjectsWerePreSelected () const
 
bool OneByOnePostSelect () const
 
CRhinoGetObjectoperator= (const CRhinoGetObject &)
 
bool PassesGeometryAttributeFilter (const CRhinoObject *object, const ON_Geometry *geometry, ON_COMPONENT_INDEX component_index) const
 
const CRhinoObjRefArrayPickList () const
 
void PostObjectSelectionChangedEvent (const CRhinoView *view) const
 Posts an event to Rhino that object selection has changed. More...
 
bool ProxyBrepFromSubD () const
 
bool ReferenceObjectSelect () const
 
unsigned int SerialNumber () const
 
void SetGeometryAttributeFilter (unsigned int geometry_attribute_filter)
 
void SetGeometryFilter (unsigned int geometry_type_filter)
 
void SetPressEnterWhenDonePrompt (const wchar_t *sSecondPrompt)
 
bool SubDSelections () const
 
bool SubObjectSelect () const
 
- Public Member Functions inherited from CRhinoGet
 CRhinoGet (TYPE)
 
 CRhinoGet (TYPE, const CRhinoGet &)
 
virtual ~CRhinoGet ()
 
void AcceptColor (BOOL b=true)
 
bool AcceptCustomWindowsMessage (UINT winmsg_id)
 
void AcceptNothing (BOOL b=true)
 
void AcceptNumber (bool b=true, bool bAcceptZero=true)
 
void AcceptPoint (BOOL b=true)
 
void AcceptString (BOOL b=true)
 
void AcceptUndo (BOOL b=true)
 call to allow user undo previous selection. More...
 
int AddCommandOption (CRhinoCommandOptionName option_name, CRhinoCommandOptionValue option_value=CRhinoCommandOptionValue(nullptr, nullptr), BOOL bHiddenOption=false)
 
int AddCommandOption (CRhinoCommandOptionName option_name, double number_value)
 
int AddCommandOption (CRhinoCommandOptionName option_name, int number_value)
 
int AddCommandOptionColor (CRhinoCommandOptionName option_name, ON_Color *color_value, const wchar_t *option_prompt=nullptr)
 
int AddCommandOptionInteger (CRhinoCommandOptionName option_name, int *integer_value, const wchar_t *option_prompt=nullptr, double lower_limit=ON_UNSET_VALUE, double upper_limit=ON_UNSET_VALUE)
 
int AddCommandOptionList (CRhinoCommandOptionName option_name, const ON_SimpleArray< CRhinoCommandOptionValue > &list_values, int list_current_index)
 
int AddCommandOptionList (CRhinoCommandOptionName option_name, int list_current_index, CRhinoCommandOptionValue list0_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list1_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list2_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list3_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list4_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list5_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list6_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list7_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list8_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list9_value=CRhinoCommandOptionValue(nullptr, nullptr))
 
int AddCommandOptionList (CRhinoCommandOptionName option_name, int list_values_count, const CRhinoCommandOptionValue *list_values, int list_current_index)
 
int AddCommandOptionNumber (CRhinoCommandOptionName option_name, double *number_value, const wchar_t *option_prompt=nullptr, BOOL bIntegerValue=false, double lower_limit=ON_UNSET_VALUE, double upper_limit=ON_UNSET_VALUE, int number_format=0)
 
int AddCommandOptionToggle (CRhinoCommandOptionName option_name, CRhinoCommandOptionValue option_off_value, CRhinoCommandOptionValue option_on_value, BOOL bToggleState, BOOL *bCurrentToggleState=nullptr)
 
int AddCommandOptionToggle (CRhinoCommandOptionName option_name, CRhinoCommandOptionValue option_off_value, CRhinoCommandOptionValue option_on_value, bool bToggleState, bool *bCurrentToggleState=nullptr)
 
void AddHiddenCommandOptionAlias (int option_index, const wchar_t *alias1, const wchar_t *alias2=nullptr, const wchar_t *alias3=nullptr, const wchar_t *alias4=nullptr)
 low level tool More...
 
void ClearCommandOptions ()
 Clear all command line options. More...
 
void ClearDefault ()
 
ON_Color Color () const
 Used to get color if Get*() returns CRhinoGet::color. More...
 
CRhinoCommand::result CommandResult () const
 
const ON_ColorDefaultColor () const
 
unsigned int DocumentRuntimeSerialNumber () const
 
void EnableTransparentCommands (BOOL bEnableTransparentCommands)
 
BOOL GotDefault () const
 
bool In2dGet () const
 these functions are used by CRhinoView::OnMouseDown/Move/Up - pretend they don't exist More...
 
bool IsGetColor () const
 
bool IsGetMeshes () const
 
bool IsGetNumber () const
 
bool IsGetObject () const
 
bool IsGetOption () const
 
bool IsGetPoint () const
 
bool IsGetString () const
 
RH_LINE Line2d () const
 
double Number () const
 
const CRhinoCommandOptionOption () const
 
int OptionCurrentListOptionIndex () const
 
int OptionIndex () const
 
CRhinoCommandOption::COMMAND_OPTION_TYPE OptionType () const
 
ON_4iRect PickRect () const
 
ON_3dPoint Point () const
 Used to get point if Get*() returns CRhinoGet::point. More...
 
ON_2iPoint Point2d () const
 
ON_4iRect Rectangle2d () const
 
CRhinoGet::result Result () const
 returns result of the Get*() call More...
 
unsigned int SerialNumber () const
 low level tool used to identify the get More...
 
void SetCommandPrompt (const wchar_t *prompt)
 
void SetCommandPromptDefault (const wchar_t *default_value)
 
void SetDefaultColor (ON_Color default_color)
 
void SetDefaultColor (ON_Color default_color, bool bUseAlpha)
 
void SetDefaultInteger (int default_integer)
 
void SetDefaultNumber (double default_number, const wchar_t *format=nullptr)
 
void SetDefaultPoint (ON_3dPoint default_point)
 
void SetDefaultString (const wchar_t *default_string)
 
void SetDocument (unsigned int rhino_doc_sn)
 
void SetVector (const ON_3dVector &v)
 
void SetWaitDuration (double seconds)
 
const wchar_t * String () const
 
TYPE Type () const
 
ON_3dVector Vector () const
 
CRhinoViewView () const
 
MSG WindowsMessage () const
 
ON_3dPoint WorldPoint1 () const
 
ON_3dPoint WorldPoint2 () const
 

Friends

int CRhinoCurveObject::Pick (const CRhinoPickContext &, CRhinoObjRefArray &) const
 8 May 2018, Mikko, RH-45657: More...
 
class CRhinoPickContext
 
class CRhinoView
 "raw" pick list More...
 
class CRhRegionSelectHelper
 
class CRhViewBase
 
const CRhinoObjRefArrayRhinoCurrentGetObjectPickList (void)
 Added 8-27-2003 by Dale Fugier (TRR 11353) More...
 
int RhSelCmdHelper (unsigned int, bool(*)(const CRhinoObject *), bool, bool, bool, bool, bool, bool, bool)
 
int RhSelCmdHelper (unsigned int, bool(*)(const CRhinoObject *), bool, bool, bool, bool, bool, bool, bool, bool(*)(const CRhinoObject *, ON_SimpleArray< ON_COMPONENT_INDEX > &))
 
CRhinoCommand::result RhSelSetHelper (CRhinoDoc &, bool, int)
 

Additional Inherited Members

- Static Public Member Functions inherited from CRhinoGet
static BOOL IsValidOptionName (const wchar_t *option_name)
 base class for all Rhino SDK CRhinoGet* classes More...
 
static BOOL IsValidOptionValueName (const wchar_t *option_value)
 
static void PostCustomWindowsMessage (UINT Msg, WPARAM wParam, LPARAM lParam)
 
- Public Attributes inherited from CRhinoGet
class CRhGetSdkExtension * m__rhino_get_sdk_extension
 
- Protected Member Functions inherited from CRhinoGet
CRhinoGet::result AutoProcessOption ()
 
const CRhinoCommandOptionCommandOptionAtIndex (int option_index) const
 
int CommandOptionCount () const
 see source for comments More...
 
virtual ON_Plane GetCS (bool bWorldCoordinates, bool bRelativeCoordinates)
 Helper used by IsAcceptableInput when parsing points. More...
 
CRhinoGet::result IsAcceptableInput (const class CRhEventToken &, BOOL bAcceptNumber, BOOL *bUpdatedOptionValue, CRhinoHistory *history)
 
CRhinoGetoperator= (const CRhinoGet &)
 
void PreGet ()
 
void RemoveCommandOptions (int option_index)
 see source for comments More...
 
virtual void SetCommandWndPrompt () const
 
void SetOptionAccelerators ()
 
- Protected Attributes inherited from CRhinoGet
bool m_2dClamp
 true to clamp 2d coordinates to window More...
 
int m_2dget_mode
 
int m_2dget_pen_style
 
ON_2iPoint m_2dget_point1
 first 2d rect corner-center / 2d line end More...
 
ON_2iPoint m_2dget_point2
 second 2d rect corner / 2d line end More...
 
ON_wString m_2dget_second_prompt
 
int m_2dget_step
 0 = none, 1 = get first point, 2 get second point, 3 = done More...
 
ON_3dPoint m_2dget_wpoint1
 first 3d world point input during 2d get point More...
 
ON_3dPoint m_2dget_wpoint2
 second 3d world point input during 2d get point More...
 
ON_2iPoint m_2dpoint
 2d window point (used by CRhinoGetPoint::Get2dPoint) More...
 
bool m_bAccept2dPoint
 2d screen point (used by CRhinoGet2dPoint) More...
 
BOOL m_bAcceptColor
 
BOOL m_bAcceptNothing
 
bool m_bAcceptNumber
 
bool m_bAcceptNumberZero
 
BOOL m_bAcceptPoint
 3d world point More...
 
BOOL m_bAcceptString
 
BOOL m_bAcceptString_0
 
BOOL m_bAcceptUndo
 
BOOL m_bEnableTransparentCommands
 
bool m_bGetPointOnMouseUp
 true if getting point on mouse up More...
 
ON_Color m_color
 
double m_number
 
CRhinoViewm_p2dPointView
 if not NULL, Get2dPoint()/Get2dRectangle() will use this view More...
 
ON_4iRect m_pick_rect
 
ON_3dPoint m_point
 3d world point More...
 
ON_wString m_prompt
 
ON_wString m_prompt_default
 
CRhinoGet::result m_result
 
unsigned int m_rhino_view_sn = 0
 
ON_wString m_string
 
const TYPE m_type
 
ON_3dVector m_vector
 3d world vector (from some digitizers) More...
 
UINT m_wait_duration
 milliseconds More...
 
ON_SimpleArray< UINT > m_winmsg_id_list
 

Detailed Description

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer. CLASS CRhinoGetObject

Description: The CRhinoGetObject class is the tool commands use to interactively select objects.

Example:

      CRhinoGetObject go;
      go.GetObject();
      if ( go.Result() != CRhinoGet::object )
        ... use canceled or some other type of input was provided
      int object_count = go.ObjectCount();
      for ( i = 0; i < object_count; i++ ) 
      {
        CRhinoObjRef objref = go.Object(i);
        CRhinoObject* objref.Object();
        const ON_Geometry* geo = objref.Geometry();
        ...
      }

Remarks: The behavior of CRhinoGetObject::GetObject() can be highly customized to accept many kinds of alternative input, to restrict what kinds of object may be selected, to control how many object may be selected, etc. See the detailed comments in the declarations of CRhinoGet and CRhinoGetObject for more information.

Member Enumeration Documentation

◆ GEOMETRY_ATTRIBUTE_FILTER

Description: If an object passes the geometry TYPE filter,then the geometry ATTRIBUTE filter is applied. The geometry attributes filter is set by calling CRhinoGetObject::SetGeometryFilter.

Enumerator
wire_curve 

3d wire curve

attributes of acceptable curve objects. If you want to accept only wire or edge curves, then specify wire_curve or edge_curve, otherwise both wire and edge curves will pass the attribute filter.

edge_curve 

3d curve of a surface edge

closed_curve 

closed curves and edges are acceptable

If you want to accept only closed or open curves, then specify either closed_curve or open_curve. Otherwise both closed and open curves will pass the attribute filter.

open_curve 

open curves and edges are acceptable

seam_edge 

seam edges are acceptable

attributes of acceptable trimming edge objects (associated with an ON_BrepTrim).

If none of these attributes are explicitly specified, then any kind of trimming edge will pass the attribute filter.

manifold_edge 

edges with 2 difference surfaces pass

nonmanifold_edge 

edges with 3 or more surfaces pass

mated_edge 

any mated edge passes

surface_boundary_edge 

boundary edges on surface sides pass

trimming_boundary_edge 

boundary edges that trim a surface pass

boundary_edge 

any boundary edge passes

closed_surface 

attributes of acceptable surface objects. If you want to accept only closed or open surfaces, then specify either closed_surface or open_surface. Otherwise both closed and open surfaces will pass the attribute filter.

open_surface 
trimmed_surface 

If you want to accept only trimmed or untrimmed surfaces, then specify either trimmed_surface or untrimmed_surface. Otherwise both trimmed and untrimmed surfaces will pass the attribute filter.

untrimmed_surface 
sub_surface 

If you want to accept only sub-surfaces of (multi-surface) polysrf, then specify sub_surface. If you do not want to accept sub-surfaces, then specify top_surface. Otherwise sub-surfaces and top surfaces will pass the attribute filter.

top_surface 
manifold_polysrf 

attributes of acceptable polysrf objects. If you want to accept only manifold or nonmanifold polysrfs, then specify manifold_polysrf or nonmanifold_polysrf. Otherwise both manifold and nonmanifold polysrfs will pass the attribute filter.

nonmanifold_polysrf 
closed_polysrf 

If you want to accept only closed or open polysrfs, then specify either closed_polysrf or open_polysrf. Otherwise both closed and open polysrfs will pass the attribute filter.

open_polysrf 
closed_mesh 

attributes of acceptable mesh objects. If you want to accept only closed or open meshs, then specify either closed_mesh or open_mesh. Otherwise both closed and open meshs will pass the attribute filter.

open_mesh 
boundary_inner_loop 

all trimming edges are boundary edges

attributes of acceptable loop objects.

mated_inner_loop 

all trimming edges are mated

inner_loop 

any inner loop is acceptable

boundary_outer_loop 

all trimming edges are boundary edges

mated_outer_loop 

all trimming edges are mated

outer_loop 

any outer loop is acceptable

special_loop 

slit, crvonsrf, ptonsrf, etc.

accept_all_attributes 

all attributes are acceptable

◆ GEOMETRY_TYPE_FILTER

STEP 1: Use CRhinoGet member functions to specify command prompt and command options. STEP 2: Use CRhinoGet member functions to specify what types of alternate input can be accepted. STEP 3: Specify object picking behavior. Description: The GEOMETRY_TYPE_FILTER enum values are bitwise or-ed together to create a filter used to specify acceptable geometry types. The geometry type filter is set by calling CRhinoGetObject::SetGeometryFilter. values = ON::object_type enum values. In an ideal world, the CRhinoGetObject::GEOMETRY_TYPE_FILTER would be removed and ON::object_type would be used everywhere.

Enumerator
point_object 

single point

grip_object 
pointset_object 

point cloud or point grid

curve_object 

curve (can be edge in a brep)

surface_object 

surface or brep face

polysrf_object 

brep with 2 or more faces

edge_object 

brep edge (with an associated ON_BrepTrim)

polyedge_object 

a chain of edges and/or curves

loop_object 

brep loop

brepvertex_filter 

brep vertex

mesh_object 

ON_Mesh.

annotation_object 
light_object 
instance_reference 
meshvertex_filter 

ON_Mesh.m_V[] index, ON_MeshTopologyVertex, ON_SubDVertex.

NOTE: meshvertex_filter,meshedge_filter,meshface_filter,meshcomponent_reference are used for selection filter that accept ON_Mesh and ON_SubD components.

meshedge_filter 

ON_MeshTopologyEdge, ON_SubDEdge.

meshface_filter 

selection filter for ON_Mesh.m_F[] index, ON_MeshTopologyFace, ON_SubDFace

meshcomponent_reference 

ON_MeshComponentRef or ON_SubDComponentRef.

cage_object 
hatch_object 
morph_control_object 
subd_object 

ON_SubD, ON_SubDRef, ON_SubDComponentRef, ON_SubD....

phantom_object 
extrusion_object 
any_object 

Constructor & Destructor Documentation

◆ CRhinoGetObject() [1/2]

CRhinoGetObject::CRhinoGetObject ( )

◆ ~CRhinoGetObject()

CRhinoGetObject::~CRhinoGetObject ( )

◆ CRhinoGetObject() [2/2]

CRhinoGetObject::CRhinoGetObject ( const CRhinoGetObject )

Member Function Documentation

◆ AlreadySelectedObjectSelect()

bool CRhinoGetObject::AlreadySelectedObjectSelect ( ) const

Description: Returns the current status of whether GetObjects() can select objects that are already selected, as set by EnableAlreadySelectedObjectSelect() Returns: true if Selected objects can be selected and returned false if they can't.

◆ BlockSubObjectSelect()

bool CRhinoGetObject::BlockSubObjectSelect ( ) const

Description: By default, CRhinoGetObject::GetObjects will permit a user to select block sub-objects (members in the top level block). If you only want the user to select "top" level block instances, call EnableSubObjectSelect(false) or EnableSubObjectSelect(true/false, false). Returns: true if selection of block sub-objects is permitted. See Also: CRhinoGetObject::EnableSubObjectSelect

◆ BottomObjectPreference()

bool CRhinoGetObject::BottomObjectPreference ( ) const

◆ ChooseOneQuestion()

bool CRhinoGetObject::ChooseOneQuestion ( ) const

◆ ClearObjects()

void CRhinoGetObject::ClearObjects ( )

Description: This is a low level geek tool for emptying the selected object list. Calling GetObjects() automatically clears this list, so the situations where this function is needed are very rare. See Also: CRhinoGetObject::EnableClearObjectsOnEntry CRhinoGetObject::EnableUnselectObjectsOnExit

◆ CustomGeometryFilter()

virtual bool CRhinoGetObject::CustomGeometryFilter ( const CRhinoObject object,
const ON_Geometry geometry,
ON_COMPONENT_INDEX  component_index 
) const
virtual

Description: Checks geometry to see if it can be selected. The default always returns true. Override to provide fancy filtering. Parameters: object - [in] parent object being considered. geometry - [in] geometry being considered. component_index - [in] if >= 0, geometry is a proper sub-part of object->Geometry() with component_index. Remarks: The default simply returns true. All obvious geometry filter checks have been performed by the time CustomGeometryFilter() is called.

◆ DeselectAllBeforePostSelect()

bool CRhinoGetObject::DeselectAllBeforePostSelect ( ) const

Returns: True if pre-selected input will be deselected before post-selection begins when no pre-selected input is valid. Remarks: The default is true. See Also: CRhinoGetObject::EnablePreSelect CRhinoGetObject::EnableDeselectAllBeforePostSelect

◆ EnableAlreadySelectedObjectSelect()

void CRhinoGetObject::EnableAlreadySelectedObjectSelect ( bool  bEnable = true)

Description: Allow selecting objects that are already selected. By default, GetObjects() disallows selection of objects that are already selected to avoid putting the same object in the selection set more than once. Calling EnableAlreadySelectedObjectSelect( true) overrides that restriction and allows selected objects to be selected and returned by GetObjects. This is useful because, coupled with the return immediately mode of GetObjects( 1, -1), it is possible to select a selected object to deselect when the selected objects are being managed outside GetObjects() as in the case of CRhinoPolyEdge::GetEdge(). Parameters: bEnable - [in]

◆ EnableBottomObjectPreference()

void CRhinoGetObject::EnableBottomObjectPreference ( BOOL  bEnableBottomObjectPreference = true)

Description: By default, if a call to GetObject is permitted to select different parts fo the same object, like a polysurface, a surface and an edge, then the top-most object is prefered. (polysurface beats face beats edge). If you want the bottom most object to be prefered, then call EnableBottomObjectPreference(true) before calling GetObjects(). Parameters: bEnableBottomObjectPreference - [in] See Also: CRhinoGetObject::ChooseOneQuestion

◆ EnableChooseOneQuestion()

void CRhinoGetObject::EnableChooseOneQuestion ( BOOL  bEnableChooseOneQuestion = true)

Description: By default, if a call to GetObject is permitted to select different parts fo the same object, like a polysurface and an edge of that polysurface, then the top-most object is automatically selected. If you want the choose-one-object mechanism to include pop up in these cases, then call EnableChooseOneQuestion(true) before calling GetObjects(). Parameters: bEnableChooseOneQuestion - [in] By default, if a call to GetObject is permitted to select different parts fo the same object, like a polysurface and an edge of that polysurface, then the top/bottom-most object is automatically selected. If you want the choose-one-object mechanism to include pop up in these cases, then call EnableChooseOneQuestion(true) before calling GetObjects(). See Also: CRhinoGetObject::ChooseOneQuestion

◆ EnableClearObjectsOnEntry()

void CRhinoGetObject::EnableClearObjectsOnEntry ( bool  bClearObjectsOnEntry = true)

Description: By default the picked object list is cleared when CRhinoGetObject::GetObjects() is called. If you are reusing a CRhinoGetObject class and do not want the existing object list cleared when you call GetObjects, then call EnableClearObjectsOnEntry(false) before calling GetObjects(). Parameters: bClearObjectsOnEntry - [in] See Also: CRhinoGetObject::EnableUnselectObjectsOnExit CRhinoGetObject::ClearObjects

◆ EnableDeselectAllBeforePostSelect()

void CRhinoGetObject::EnableDeselectAllBeforePostSelect ( bool  bDeselectAllBeforePostSelect = true)

Description: Controls the deselection of preselected input when no valid input is pre-selected.

Parameters: bDeselectAllBeforePostSelect - [in]

Remarks: By default, if post selection is enabled and no valid input is pre-selected when GetObjects is called, then anything that was preselected is deselected before post selection begins. If there are objects selected and highlighted from a previous operation that you want to have stay that way when GetObject() is called, Call EnableDeselectAllBeforePostSelect( false) to make that happen. Otherwise the second GetObject will deselect and unhighlight the already seelcted and highlighted objects.

See Also: CRhinoGetObject::EnablePreSelect CRhinoGetObject::EnablePostSelect

◆ EnableGroupSelect()

void CRhinoGetObject::EnableGroupSelect ( BOOL  = true)

By default, groups are ignored in GetObject. If you want your call to GetObjects() to select every object in a group that has any objects selected, then enable group selection.

◆ EnableHighlight()

void CRhinoGetObject::EnableHighlight ( BOOL  = true)

default is true

By default, any object post-pick selected by GetObject() is highlighted. If you want to post-pick objects and not have them automatically highlight, then call EnableHighlight(false).

◆ EnableIgnoreGrips()

void CRhinoGetObject::EnableIgnoreGrips ( bool  = true)

By default, post selection will select objects with grips on. If you do not want to be able to post select objects with grips on, then call EnableIgnoreGrips(false). The ability to preselect an object with grips on is determined by the value returned by the virtual CRhinoObject::IsSelectableWithGripsOn.

◆ EnableIgnoreHistoryDependents()

void CRhinoGetObject::EnableIgnoreHistoryDependents ( bool  bIgnoreHistoryDependents)

◆ EnableInactiveDetailPick()

void CRhinoGetObject::EnableInactiveDetailPick ( bool  enable = true)

◆ EnableMeshSelections()

void CRhinoGetObject::EnableMeshSelections ( bool  bEnable)

Descrption: The getobject filters for mesh and SubD components are shared. In some commands that deal exclusively with meshes and mesh components, it is necessary to prohibit SubD and SubD component selections. Parameters: bEnable - [in] true - (default) Selection of mesh objects and mesh components is determined by the standard filters. false - Selection of mesh objects and mesh components is prohibited. This is useful in commmands that use the mesh component filters and only want to select SubDs and SubD components. Remarks: Default = true;

◆ EnableOneByOnePostSelect()

void CRhinoGetObject::EnableOneByOnePostSelect ( BOOL  bEnableOneByOnePostSelect = true)

Description: If you want to force objects to be post selected one by one, then enable one-by-one post selection by calling EnableOneByOnePostSelect(true). Parameters: b - [in] if true, GetObjects() one-by-one post selection mode will be used. If false, the selection mode specified by EnablePostSelect()/EnablePostSelect() will be used. Remarks: By default, CRhinoGetObject::GetObjects() permits multiple objects to be selected using any combination of single pick selection and window crossing selection. See Also: CRhinoGetObject::EnablePostSelect

◆ EnablePostSelect()

void CRhinoGetObject::EnablePostSelect ( BOOL  bEnablePostSelect = true)

Description: Control the availability of post selection in GetObjects.

Parameters: bEnablePostSelect - [in]

Remarks: By default, if no valid input is pre-selected when GetObjects is called, then the user is given the chance to post select. If you want to force the user to pre-select, then call EnablePostSelect(false).

See Also: CRhinoGetObject::EnableOneByOnePostSelect CRhinoGetObject::EnablePreSelect CRhinoGetObject::EnableDeselectAllBeforePostSelect

◆ EnablePreSelect()

void CRhinoGetObject::EnablePreSelect ( BOOL  bEnablePreSelect = true,
BOOL  bIgnoreUnacceptablePreSelectedObjects = true 
)

Description: Control the pre selection behavior GetObjects. Parameters: bEnablePreSelect - [in] if true, pre-selection is enabled.

bIgnoreUnacceptablePreSelectedObjects - [in] If true and some acceptable objects are pre-selected, then any unacceptable pre-selected objects are ignored. If false and any unacceptable are pre-selected, then the user is forced to post-select.

Remarks: By default, if valid input is pre-selected when GetObjects() is called, then that input is returned and the user is not given the opportunity to post-select. If you want to force the user to post-select, then call EnablePreSelect(false).

See Also: CRhinoGetObject::EnablePostSelect CRhinoGetObject::EnableDeselectAllBeforePostSelect

◆ EnablePressEnterWhenDonePrompt()

bool CRhinoGetObject::EnablePressEnterWhenDonePrompt ( bool  bEnable = true)

Description: By default, when CRhinoGetObject::GetObjects is called with minimum_number > 0 and maximum_number = 0, the command prompt automatically includes "Press Enter when done" after the user has selected at least minimum_number of objects.
If you want to prohibit the addition of the "Press Enter when done", then call EnablePressEnterWhenDonePrompt(false). Parameters: bEnable - [in] Returns: Previous value.

◆ EnableProxyBrepFromSubD()

void CRhinoGetObject::EnableProxyBrepFromSubD ( bool  bEnable)

Parameters: bEnable - [in] true - if a subd (or a subd component) cannot be selected, but a brep (or brep component) can be selected, then automatically create and use a proxy brep. false Never create or use a proxy brep for a subd object. Remarks: Default = true;

◆ EnableReferenceObjectSelect()

void CRhinoGetObject::EnableReferenceObjectSelect ( BOOL  = true)

By default, reference objects can be selected. If you do not want to be able to select reference objects, then call EnableReferenceObjectSelect(false).

◆ EnableSelPrev()

void CRhinoGetObject::EnableSelPrev ( BOOL  = true)

default is true

By default, any object selected during a command becomes part of the "previous selection set" and can be reselected by the SelPrev command. If you need to select objects but do not want them to be selected by a subsquent call to SelPrev, then call EnableSelPrev(false).

◆ EnableSubDSelections()

void CRhinoGetObject::EnableSubDSelections ( bool  bEnable)

Descrption: The getobject filters for mesh and SubD components are shared. In some commands that deal exclusively with meshes and mesh components, it is necessary to prohibit SubD and SubD component selections. Parameters: bEnable - [in] true - (default) Selection of SubD objects and SubD components is determined by the standard filters. false - Selection of SubD objects and SubD components is prohibited. This is useful in commmands that use the mesh component filters and only want to select meshes and mesh components. Remarks: Default = true;

◆ EnableSubObjectSelect() [1/2]

void CRhinoGetObject::EnableSubObjectSelect ( BOOL  bEnableSubObjectSelect,
BOOL  bEnableBlockSubObjectSelect 
)

Description: By default, CRhinoGetObject::GetObjects will permit a user to select sub-objects (like a curve in a b-rep or a curve in a group). If you only want the user to select "top" level objects, then call EnableSubObjectSelect(false, false). This is the expert version that allows enabling/disabling normal object and block subobject selection separately, used by transform commands. Paramters: bEnableSubObjectSelect - [in] true to enable sub-object selection of objects other than block instances false to disable sub-object selection. bEnableBlockSubObjectSelect - [in] true to enable sub-object selection of block instances false to disable block sub-object selection. See Also: CRhinoGetObject::SubObjectSelect, CRhinoGetObject::BlockSubObjectSelect

◆ EnableSubObjectSelect() [2/2]

void CRhinoGetObject::EnableSubObjectSelect ( BOOL  bEnableSubObjectSelect = true)

Description: By default, CRhinoGetObject::GetObjects will permit a user to select sub-objects (like a curve in a b-rep or a curve in a group, or member in a block instance). If you only want the user to select "top" level objects, then call EnableSubObjectSelect(false). Paramters: bEnableSubObjectSelect - [in] true to enable sub-object selection false to disable sub-object selection. See Also: CRhinoGetObject::SubObjectSelect, CRhinoGetObject::BlockSubObjectSelect

◆ EnableUnselectObjectsOnExit()

void CRhinoGetObject::EnableUnselectObjectsOnExit ( bool  bUnselectObjectsOnExit = true)

Description: By default any objects in the object list are unselected when CRhinoGetObject::GetObjects() exits with any return code besides CRhinoGet::object. If you want to leave the objects selected when non-object input is returned, then call EnableClearObjectsOnExit(false) before calling GetObjects(). Parameters: bClearObjectsOnExit - [in] Remarks: If you pass false to this fuction, then you are responsible for making sure the selection state of the objects in the object list is correct. See Also: CRhinoGetObject::EnableClearObjectsOnEntry CRhinoGetObject::ClearObjects

◆ GeometryAttributeFilter()

unsigned int CRhinoGetObject::GeometryAttributeFilter ( ) const

Description: The geometry attribute filter provides a secondary filter can be used to restrict which objects can be selected.
Control of the type of geometry (points, curves, surfaces, meshes, etc.) is provided by CRhinoGetObject::SetGeometryFilter. The geometry attribute filter is used to require the selected geometry to have certain attributes (open, closed, etc.). The default attribute filter permits selection of all types of geometry.

Returns: An unsigned int "object_attribute_filter". If the bit from an GEOMETRY_ATTRIBUTE_FILTER enum value is set in the geometry_attribute_filter, then GetObjects() will permit selection of object's that have that geometric attribute. If geometry_attribute_filter is 0xFFFFFFFF, then GetObjects() can select all types of geometry.

Example: If (GeometryAttributeFilter() | closed_curve) != 0, then any curve selected by GetObjects() will be closed.

See Also: CRhinoGetObject::SetGeometryAttributeFilter. CRhinoGetObject::SetGeometryFilter. CRhinoGetObject::GeometryFilter.

◆ GeometryFilter()

unsigned int CRhinoGetObject::GeometryFilter ( ) const

Description: The geometry type filter controls which types of geometry (points, curves, surfaces, meshes, etc.) can be selected.
The default geometry type filter permits selection of all types of geometry.

Returns: An unsigned int "object_filter". If the bit from an GEOMETRY_TYPE_FILTER enum value is set in the geometry_filter, then GetObjects() will permit selection of object's that have that type of geometry. If geometry_filter is 0xFFFFFFFF, then GetObjects() can select all types of geometry.

Example: If (GeometryFilter() | curve_object) != 0, then GetObjects() will permit curves to be selected.

See Also: CRhinoGetObject::SetGeometryFilter CRhinoGetObject::SetGeometryAttributeFilter CRhinoGetObject::GeometryAttributeFilter

◆ GetObjects()

CRhinoGet::result CRhinoGetObject::GetObjects ( int  minimum_number = 1,
int  maximum_number = 1 
)

STEP 4: Call GetObjects() to get a list of objects. Description: Call to select objects. Parameters: minimum_number - [in] minimum number of objects to select. maximum_number - [in] maximum number of objects to select. If 0, then the user must press enter to finish object selection. If -1, then object selection stops as soon as there are at least minimum_number of object selected. If >0, then the picking stops when there are maximum_number objects. If a window pick, crossing pick, or Sel* command attempts to add more than maximum_number, then the attempt is ignored. Example: / pick 3 or more curves and/or meshes CRhinoGetObject go; double x = 0.0; for (;;) { go.SetCommandPrompt("Select curves and meshes or type a number.\n"); go.SetGeometryFilter( CRhinoGetObject::curve_object | CRhinoGetObject::mesh_object ); go.AcceptNumber( true ); go.GetObject(3,0); if ( go.Result() == CRhinoGet::number ) { x = go.Number(); continue; } break; } if ( go.Result() == CRhinoGet::object ) { int i, object_count = go.ObjectCount(); for ( i = 0; i < object_count; i++ ) { CRhinoObjRef obj_ref = go.Object(i); } } See Also: CRhinGetObject::EnablePressEnterWhenDonePrompt Returns: CRhinoGet::success - objects selected. CRhinoGet::cancel - user pressed ESCAPE to cancel the get. See CRhinoGet::result for other possible values that may be returned when options, numbers, etc., are acceptable responses.

◆ GetSubDComponentList()

int CRhinoGetObject::GetSubDComponentList ( ON__UINT64  subd_runtime_serial_number,
ON_COMPONENT_INDEX::TYPE  component_type,
class ON_SubDComponentRefList subd_component_list 
) const

Description: Call GetSubDComponents() after calling GetObjects(...) to get a list of the subd components that were selected. Parameters: subd_runtime_serial_number - [in] If subd_runtime_serial_number > 0 and < 0xFFFFFFFFFFFFFFFFllu, then only components from that subd will be added to component_type - [in] If component_type is ON_COMPONENT_INDEX::TYPE::subd_vertex, ON_COMPONENT_INDEX::TYPE::subd_edge, or ON_COMPONENT_INDEX::TYPE::subd_face, then only components of that type will be added. Returns: Number of components added to subd_component_list.

◆ GroupSelect()

bool CRhinoGetObject::GroupSelect ( ) const

◆ IgnoreHistoryDependents()

bool CRhinoGetObject::IgnoreHistoryDependents ( ) const

◆ InactiveDetailPick()

bool CRhinoGetObject::InactiveDetailPick ( ) const

Added 30 June, 2010.

◆ MeshSelections()

bool CRhinoGetObject::MeshSelections ( ) const

Returns: true - (default) Selection of mesh objects and mesh components is determined by the standard filters. false - Selection of mesh objects and mesh components is prohibited. This is useful in commmands that use the mesh component filters and only want to select SubDs and SubD components. Remarks: Default = true;

◆ Object()

CRhinoObjRef CRhinoGetObject::Object ( int  ) const

0 based index

◆ ObjectCount()

int CRhinoGetObject::ObjectCount ( ) const

returns number of objects selected

STEP 5: Use value returned by GetObject() to determine what function to call to get the input.

GetObject() return value function CRhinoGet::option CRhinoGet::Option() CRhinoGet::number CRhinoGet::Number() CRhinoGet::object CRhinoObject::Object()

When pieces of instance references are selected, the CRhinoObjRef contains reference counted proxy geometry. You need to keep either the CRhinoGetObject class or the CRhinoObjRef in in scope until you have finished using the geometry it references. After the destruction of the CRhinoGetObject class and the last CRhinoObjRef, the proxy geometry is deleted. At that point any references or pointers to the proxy geometry will be invalid.

◆ ObjectsWerePreSelected()

bool CRhinoGetObject::ObjectsWerePreSelected ( ) const

Returns: True if CRhinoGetObjects::GetObjects() retuned preselected objects.

◆ OneByOnePostSelect()

bool CRhinoGetObject::OneByOnePostSelect ( ) const

Description: In one-by-one post selection, the user is forced to select objects by post picking them one at a time. Returns: true if one-by-one post selection mode is enabled. See Also: CRhinoGetObject::EnableOneByOnePostSelect

◆ operator=()

CRhinoGetObject & CRhinoGetObject::operator= ( const CRhinoGetObject )

◆ PassesGeometryAttributeFilter()

bool CRhinoGetObject::PassesGeometryAttributeFilter ( const CRhinoObject object,
const ON_Geometry geometry,
ON_COMPONENT_INDEX  component_index 
) const

Description: Checks geometry to see if it passes the basic GeometryAttributeFilter. Parameters: object - [in] parent object being considered. geometry - [in] geometry being considered. component_index - [in] if >= 0, geometry is a proper sub-part of object->Geometry() with component_index. Remarks: The default simply checks that the geometry passes the filter returned by GeometryAttributeFilter(). See Also: CRhinoGetObject::EnablePostSelect CRhinoGetObject::PassesGeometryTypeFilter

◆ PickList()

const CRhinoObjRefArray & CRhinoGetObject::PickList ( ) const

Description: This is a low level geek tool for digging through the pick list. The situations where this function is needed are rare and no support is available.

◆ PostObjectSelectionChangedEvent()

void CRhinoGetObject::PostObjectSelectionChangedEvent ( const CRhinoView view) const

Posts an event to Rhino that object selection has changed.

◆ ProxyBrepFromSubD()

bool CRhinoGetObject::ProxyBrepFromSubD ( ) const

Returns: true - if a subd (or a subd component) cannot be selected, but a brep (or brep component) can be selected, then automatically create and use a proxy brep. false Never create or use a proxy brep for a subd object. Remarks: Default = true;

◆ ReferenceObjectSelect()

bool CRhinoGetObject::ReferenceObjectSelect ( ) const

◆ SerialNumber()

unsigned int CRhinoGetObject::SerialNumber ( ) const

Implementation Description: Each instanct of CRhinoGetObject has a unique runtime serial number that is used to identify object selection events associated with that instance.

◆ SetGeometryAttributeFilter()

void CRhinoGetObject::SetGeometryAttributeFilter ( unsigned int  geometry_attribute_filter)

Description: The geometry attribute filter provides a secondary filter can be used to restrict which objects can be selected.
Control of the type of geometry (points, curves, surfaces, meshes, etc.) is provided by CRhinoGetObject::SetGeometryFilter. The geometry attribute filter is used to require the selected geometry to have certain attributes (open, closed, etc.). The default attribute filter permits selection of all types of geometry.

Parameters: geometry_attribute_filter - [in] an unsigned int made by bitwise or-ing ( | ) values from the GEOMETRY_ATTRIBUTE_FILTER enum. If you pass 0, then all geometry attributes will be acceptable.

Example: If you want to be able to select open curves or solids, then you would make a call like

CRhinoGetObject go; unsigned int geometry_type_filter = 0; unsigned int geometry_attribute_filter = 0; geometry_type_filter |= CRhinoGetObject::curve; geometry_type_filter |= CRhinoGetObject::surface_object; geometry_type_filter |= CRhinoGetObject::polysurface_object; geometry_attribute_filter |= CRhinoGetObject::closed_curve; geometry_attribute_filter |= CRhinoGetObject::solid_object; go.SetSetGeometryFilter( geometry_type_filter ); go.SetGeometryAttributeFilter( geometry_attribute_filter );

See Also: CRhinoGetObject::GeometryAttributeFilter. CRhinoGetObject::SetGeometryFilter. CRhinoGetObject::GeometryFilter.

◆ SetGeometryFilter()

void CRhinoGetObject::SetGeometryFilter ( unsigned int  geometry_type_filter)

Description: The geometry type filter controls which types of geometry (points, curves, surfaces, meshes, etc.) can be selected.
The default geometry type filter permits selection of all types of geometry.

Parameters: geometry_type_filter - [in] an unsigned int made by or-ing ( | ) values from the GEOMETRY_TYPE_FILTER enum. If you pass 0, then all geometry will be acceptable.

Example: If you want to be able to select curves and meshes, then you would make a call like

unsigned int geometry_type_filter = 0; geometry_filter |= CRhinoGetObject::curve_object; geometry_filter |= CRhinoGetObject::mesh_object; SetGeometryFilter( geometry_type_filter );

See Also: CRhinoGetObject::GeometryFilter CRhinoGetObject::SetGeometryAttributeFilter CRhinoGetObject::GeometryAttributeFilter

◆ SetPressEnterWhenDonePrompt()

void CRhinoGetObject::SetPressEnterWhenDonePrompt ( const wchar_t *  sSecondPrompt)

Description: The default prompt when EnablePressEnterWhenDonePrompt is enabled is "Press Enter when done". Use this function to specify a different string to be appended. Parameters: sSecondPrompt - [in]

◆ SubDSelections()

bool CRhinoGetObject::SubDSelections ( ) const

Returns: true - (default) Selection of SubD objects and SubD components is determined by the standard filters. false - Selection of SubD objects and SubD components is prohibited. This is useful in commmands that use the mesh component filters and only want to select meshes and mesh components. Remarks: Default = true;

◆ SubObjectSelect()

bool CRhinoGetObject::SubObjectSelect ( ) const

Description: By default, CRhinoGetObject::GetObjects will permit a user to select sub-objects (like a curve in a b-rep or a curve in a group). If you only want the user to select "top" level objects, then call EnableSubObjectSelect(false) or EnableSubObjectSelect(false, true/false). Returns: true if selection of sub-objects is permitted. See Also: CRhinoGetObject::EnableSubObjectSelect

Friends And Related Function Documentation

◆ CRhinoCurveObject::Pick

int CRhinoCurveObject::Pick ( const CRhinoPickContext ,
CRhinoObjRefArray  
) const
friend

8 May 2018, Mikko, RH-45657:

◆ CRhinoPickContext

friend class CRhinoPickContext
friend

◆ CRhinoView

friend class CRhinoView
friend

"raw" pick list

◆ CRhRegionSelectHelper

friend class CRhRegionSelectHelper
friend

◆ CRhViewBase

friend class CRhViewBase
friend

◆ RhinoCurrentGetObjectPickList

const CRhinoObjRefArray * RhinoCurrentGetObjectPickList ( void  )
friend

Added 8-27-2003 by Dale Fugier (TRR 11353)

◆ RhSelCmdHelper [1/2]

int RhSelCmdHelper ( unsigned int  ,
bool(*)(const CRhinoObject *)  ,
bool  ,
bool  ,
bool  ,
bool  ,
bool  ,
bool  ,
bool   
)
friend

◆ RhSelCmdHelper [2/2]

int RhSelCmdHelper ( unsigned int  ,
bool(*)(const CRhinoObject *)  ,
bool  ,
bool  ,
bool  ,
bool  ,
bool  ,
bool  ,
bool  ,
bool(*)(const CRhinoObject *, ON_SimpleArray< ON_COMPONENT_INDEX > &)   
)
friend

◆ RhSelSetHelper

CRhinoCommand::result RhSelSetHelper ( CRhinoDoc ,
bool  ,
int   
)
friend