This is the base class for user defined geometry iterators. Geometry iterator allow iterating over components in geometry in a geometry independent manner. This base class defines the interface to be used by maya when a generic component iteration is required.
This class is used in conjunction with MPxSurfaceShape to provide an iterator for components in a user defined shape. Also this method can is used by MPxGeometryData to provide an iterator over geometry that is passed through DG connections.
The main methods to override in this class are point and setPoint. The reset, isDone, and next methods have a default implementation and should only be overridden if the component being iterator on is not a single indexed component type.
The iterator works in two modes, over components or over all elements in some geometry. If the components passed into the constructors are null or empty then the iteration is meant to be over the entire object.
Returns a unique index for the current item in the iteration Rather than being the iterator index this is the index for the actual item when simplification is skipping items. More...
Sets the current component's positional data, gets the next point.
Parameters
[in]
point
the positional value to set
Returns
The next index value
int index
(
)
const
virtual
Returns a unique index for the current item in the iteration.
If the iteration is over the whole geometry then this index is the same as current point. If the iteration is over some elements of the geometry specified by a component then this index is the index in your geometry.
Returns
The index of the current element
bool hasNormals
(
)
const
virtual
Indicates whether the underlying geometry has normals.
Returns
true this geometry has normals
false this geometry has no normals
int indexUnsimplified
(
)
const
virtual
Returns a unique index for the current item in the iteration Rather than being the iterator index this is the index for the actual item when simplification is skipping items.
This index will be equal to index() if no simplification, otherwise it will be larger.
Returns
The unsimplified index
int currentPoint
(
)
const
Returns the index that is being iterated on.
This value is used when iterating over all elements of your geometry, i.e. when there are no components specified.
Returns
The current point index
void setCurrentPoint
(
int
index
)
Set the current index of the iteration.
This value is used when iterating over all elements of your geometry, i.e. when there are no components specified.
Parameters
[in]
index
the current point in the iteration
int maxPoints
(
)
const
Returns the largest index that will be iterated over.
This value is used when iterating over all elements of your geometry, i.e. when there are no components specified.
Returns
The max index
void setMaxPoints
(
int
index
)
Sets the largest index that will be iterated over.
This value is used when iterating over all elements of your geometry, i.e. when there are no components specified.