Rhino C++ API  8.5
Public Member Functions | Public Attributes | List of all members
CRhinoXformObjectList Class Reference

#include <rhinoSdkGetXform.h>

Public Member Functions

 CRhinoXformObjectList ()
 
 CRhinoXformObjectList (const CRhinoXformObjectList &)
 
 ~CRhinoXformObjectList ()
 
int AddObject (const CRhinoObject *object, bool bAllowAllGrips=false)
 returns 0 = not added, 1 = added as object, 2 = added as grip More...
 
int AddObject (const CRhinoObjRef &objref, bool bAllowAllGrips=false)
 
int AddObjects (const CRhinoGetObject &go, bool bAllowAllGrips=false)
 
int AddObjects (CRhinoObjectIterator &it, bool bAllowAllGrips)
 
bool DisplayFeedbackEnabled () const
 
CRhinoDocDocument () const
 
void Empty ()
 
bool EnableDisplayFeedback (bool bEnable)
 
ON_SimpleArray< CRhinoObject * > * GripCaptives () const
 grip captives (objects in cages with grips on) More...
 
bool HasBreps () const
 
bool HasPolysurfaces () const
 
bool HasSurfaces () const
 
class CRhXformObjectListEx * Internal_Extension () const
 For core Rhino use only. More...
 
int ObjectCount () const
 
bool ObjectListTightBoundingBox (ON_BoundingBox &bbox)
 
bool ObjectListTightBoundingBox (ON_BoundingBox &bbox, bool bIncludeGrips)
 
CRhinoXformObjectListoperator= (const CRhinoXformObjectList &)
 
bool UpdateDisplayFeedbackXform (const ON_Xform &xform)
 
bool UpdateDisplayFeedbackXform (const ON_Xform &xform, CRhinoViewport *vp, UINT nFlags, const ON_3dPoint *point, const ON_2iPoint *screen_point, const ON_3dVector *grip_frame_scale)
 
ON::active_space ViewSpace () const
 

Public Attributes

ON_SimpleArray< CRhinoObject * > m_grip_owners
 objects the grips will change More...
 
ON_SimpleArray< CRhinoGripObject * > m_grips
 grips More...
 
ON_SimpleArray< CRhinoObject * > m_objects
 regular objects More...
 
unsigned int m_rhino_doc_sn = 0
 Doc serial number set by add objects. More...
 

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.

Constructor & Destructor Documentation

◆ CRhinoXformObjectList() [1/2]

CRhinoXformObjectList::CRhinoXformObjectList ( )

◆ ~CRhinoXformObjectList()

CRhinoXformObjectList::~CRhinoXformObjectList ( )

◆ CRhinoXformObjectList() [2/2]

CRhinoXformObjectList::CRhinoXformObjectList ( const CRhinoXformObjectList )

Member Function Documentation

◆ AddObject() [1/2]

int CRhinoXformObjectList::AddObject ( const CRhinoObject object,
bool  bAllowAllGrips = false 
)

returns 0 = not added, 1 = added as object, 2 = added as grip

◆ AddObject() [2/2]

int CRhinoXformObjectList::AddObject ( const CRhinoObjRef objref,
bool  bAllowAllGrips = false 
)

returns 0 = not added, 1 = added as object, 2 = added as grip Use this to add Polyedges so the references are properly counted.

◆ AddObjects() [1/2]

int CRhinoXformObjectList::AddObjects ( const CRhinoGetObject go,
bool  bAllowAllGrips = false 
)

Description: Empties the current list and then adds objects in go's object list. Parameters: go - [in] The list of objects in the getter is added. bAllowAllGrips - [in] If false and all of an objects grips are selected, then the object itself is added. If true, then grips are added even when all of an object's grips are selected. Returns: Number of objects and grips added to the list.

◆ AddObjects() [2/2]

int CRhinoXformObjectList::AddObjects ( CRhinoObjectIterator it,
bool  bAllowAllGrips 
)

Description: Empties the current list and then adds objects returned by the iterator. Parameters: go - [in] The list of objects in the getter is added. bAllowAllGrips - [in] If false and all of an objects grips are selected, then the object itself is added. If true, then grips are added even when all of an object's grips are selected. Returns: Number of objects and grips added to the list.

◆ DisplayFeedbackEnabled()

bool CRhinoXformObjectList::DisplayFeedbackEnabled ( ) const

Returns true if this class is using a CRhinoDisplayPipeline to provide display feedback.

◆ Document()

CRhinoDoc* CRhinoXformObjectList::Document ( ) const

Returns: If objects are in the list, then a pointer to the document containing those objects is returned. Otherwise NULL is returned. If you call this function, you must check for a NULL pointer before dereferencing!

◆ Empty()

void CRhinoXformObjectList::Empty ( )

If an object is in the m_objects[] list, then it is not in the m_grip_owners[] list, and vice verse.

◆ EnableDisplayFeedback()

bool CRhinoXformObjectList::EnableDisplayFeedback ( bool  bEnable)

Display feedback tools Description: Call EnableDisplayFeedback(true) if you want this class to manage a CRhinoDisplayPipeline that provides display feedback. Parameters: bEnable - [in] true to enable display feedback. false to disable display feedback.

◆ GripCaptives()

ON_SimpleArray<CRhinoObject*>* CRhinoXformObjectList::GripCaptives ( ) const

grip captives (objects in cages with grips on)

◆ HasBreps()

bool CRhinoXformObjectList::HasBreps ( ) const

Returns: True if m_objects[] contains a brep (any number of faces).

◆ HasPolysurfaces()

bool CRhinoXformObjectList::HasPolysurfaces ( ) const

Query tools Returns: True if m_objects[] contains a polysurface (brep with 2 or more faces).

◆ HasSurfaces()

bool CRhinoXformObjectList::HasSurfaces ( ) const

Returns: True if m_objects[] contains a surface (brep with 1 face).

◆ Internal_Extension()

class CRhXformObjectListEx* CRhinoXformObjectList::Internal_Extension ( ) const

For core Rhino use only.

◆ ObjectCount()

int CRhinoXformObjectList::ObjectCount ( ) const

Returns: m_objects.Count() + m_grip.Count();

◆ ObjectListTightBoundingBox() [1/2]

bool CRhinoXformObjectList::ObjectListTightBoundingBox ( ON_BoundingBox bbox)

Description: Returns the world coordinate axis-aligned tight bounding box of the Rhino objects found in the CRhXformObjectList::m_objects array.

◆ ObjectListTightBoundingBox() [2/2]

bool CRhinoXformObjectList::ObjectListTightBoundingBox ( ON_BoundingBox bbox,
bool  bIncludeGrips 
)

◆ operator=()

CRhinoXformObjectList& CRhinoXformObjectList::operator= ( const CRhinoXformObjectList )

◆ UpdateDisplayFeedbackXform() [1/2]

bool CRhinoXformObjectList::UpdateDisplayFeedbackXform ( const ON_Xform xform)

Description: If display feedback is enabled, then call this function when the transformation changes.

◆ UpdateDisplayFeedbackXform() [2/2]

bool CRhinoXformObjectList::UpdateDisplayFeedbackXform ( const ON_Xform xform,
CRhinoViewport vp,
UINT  nFlags,
const ON_3dPoint point,
const ON_2iPoint screen_point,
const ON_3dVector grip_frame_scale 
)

Description: If display feedback is enabled, then call this function when a drag changes the translation.

◆ ViewSpace()

ON::active_space CRhinoXformObjectList::ViewSpace ( ) const

Returns: Space containing the objects;

Member Data Documentation

◆ m_grip_owners

ON_SimpleArray<CRhinoObject*> CRhinoXformObjectList::m_grip_owners

objects the grips will change

◆ m_grips

ON_SimpleArray<CRhinoGripObject*> CRhinoXformObjectList::m_grips

grips

◆ m_objects

ON_SimpleArray<CRhinoObject*> CRhinoXformObjectList::m_objects

regular objects

◆ m_rhino_doc_sn

unsigned int CRhinoXformObjectList::m_rhino_doc_sn = 0

Doc serial number set by add objects.

No duplicates in any list and no objects appear in more than one list. Use the AddObject() functions above to create these lists.