CRhinoInstanceObjectIterator is used to iterate all instance definition geometry referenced by a CRhinoInstanceObject. Any nested instance definition geometry that is referenced multiple times is returned only once. It safely iterates nested instance definitions in a way that protects against infinite looping when damaged models contain circular nested references. It iterates in a way so that it will not crash if the document is modified or deleted between calls to NextObject().
More...
#include <rhinoSdkInstance.h>
CRhinoInstanceObjectIterator is used to iterate all instance definition geometry referenced by a CRhinoInstanceObject. Any nested instance definition geometry that is referenced multiple times is returned only once. It safely iterates nested instance definitions in a way that protects against infinite looping when damaged models contain circular nested references. It iterates in a way so that it will not crash if the document is modified or deleted between calls to NextObject().
◆ CRhinoInstanceObjectIterator() [1/3]
CRhinoInstanceObjectIterator::CRhinoInstanceObjectIterator |
( |
| ) |
|
|
default |
◆ ~CRhinoInstanceObjectIterator()
CRhinoInstanceObjectIterator::~CRhinoInstanceObjectIterator |
( |
| ) |
|
|
default |
◆ CRhinoInstanceObjectIterator() [2/3]
◆ CRhinoInstanceObjectIterator() [3/3]
Create an iteratator to iterate the objects referenced by iref.
- Returns
◆ CurrentInstanceDefinition()
The current instance definition being iteratated.
◆ CurrentInstanceDefinitionSerialNumber()
unsigned CRhinoInstanceObjectIterator::CurrentInstanceDefinitionSerialNumber |
( |
| ) |
const |
The instance definition serial number of the current instance definition being iteratated.
◆ CurrentObject()
const CRhinoObject* CRhinoInstanceObjectIterator::CurrentObject |
( |
| ) |
const |
◆ CurrentObjectSerialNumber()
unsigned CRhinoInstanceObjectIterator::CurrentObjectSerialNumber |
( |
| ) |
const |
◆ Document()
const CRhinoDoc* CRhinoInstanceObjectIterator::Document |
( |
| ) |
const |
The CRhinoDoc containing the instance reference being iterated.
◆ DocumentRuntimeSerialNumber()
unsigned CRhinoInstanceObjectIterator::DocumentRuntimeSerialNumber |
( |
| ) |
const |
The serial number of the CRhinoDoc containing the instance reference being iterated.
◆ FirstObject()
const CRhinoObject* CRhinoInstanceObjectIterator::FirstObject |
( |
bool |
bSkipInstanceObjects | ) |
|
The first object in the set of referenced objects. This object is always an instance definition object. When bSkipInstanceObjects = true (generally what you want) nested instance reference objects are not returned (the objects they reference will be returned). Any instance definition geometry that is referenced multiple times is returned only once.
◆ Initialize()
Initialize this to iterate the objects referenced by iref.
◆ InstanceObject()
The instance reference being iterated.
◆ InstanceObjectSerialNumber()
unsigned CRhinoInstanceObjectIterator::InstanceObjectSerialNumber |
( |
| ) |
const |
CRhinoObject runtime serial number of the instance reference being iterated.
◆ NextObject()
const CRhinoObject* CRhinoInstanceObjectIterator::NextObject |
( |
bool |
bSkipInstanceObjects | ) |
|
The next object in the set of referenced objects. This object is always an instance definition object. When bSkipInstanceObjects = true (generally what you want) nested instance reference objects are not returned (the objects they reference will be returned). Any instance definition geometry that is referenced multiple times is returned only once.
◆ operator=()
◆ Empty