This class is the iterator class for geometry data, and can be used to loop over the CVs of NURBS, the points of subds & lattices, and the vertices of polygonal meshes.
This constructor is used to iterate over the points/CVs/vertices of a dag object given a particular dag path. The iteration will be over the points/CVs/Vertices specified by the component argument. If the component is null then the iteration will be over the entire object.
Parameters
[in]
dagPath
The dag path to the object.
[in]
component
The components of the object to iterate over. If this is null then the iteration will be over all components of the object.
[out]
ReturnStatus
Status code
Status Codes:
MS::kSuccess The iterator was constructed successfully.
MS::kInsufficientMemory No memory available.
MS::kInvalidParameter An invalid object was given.
This constructor is used to iterate over all of the points/CV/vertices of the given dag object. Since there is no path information passed into this constructor world space operations will not be possible.
Parameters
[in]
dagObject
The DAG object to iterate.
[out]
ReturnStatus
Status code
Status Codes:
MS::kSuccess The iterator was constructed successfully.
MS::kInsufficientMemory No memory available.
MS::kInvalidParameter An invalid object was given.
This constructor is used when iterating from within the compute() method of a node. The point/CV/vertex components of the specified group within the geometry data that is pointed to by the dataHandle will be iterated. If readOnly mode is set to false, the setPosition method can be utilized.
Parameters
[in]
dataHandle
The dataHandle pointing to the geometry data.
[in]
groupId
The id of the group whose components will be iterated.
[in]
readOnly
If false you will be allowed to modify the geometry position data during the iteration.
[out]
ReturnStatus
Status code
Status Codes:
MS::kSuccess The iterator was constructed successfully.
MS::kInsufficientMemory No memory available.
MS::kInvalidParameter An invalid object was given.
This constructor is used when iterating from within the compute() method of a node. The point/CV/vertex components of the geometry data pointed to by the dataHandle will be iterated. If readOnly mode is set to false, the setPosition method can be utilized.
Parameters
[in]
dataHandle
The dataHandle pointing to the geometry data.
[in]
readOnly
If false you will be allowed to modify the geometry position data during the iteration.
[out]
ReturnStatus
Status code
Status Codes:
MS::kSuccess The iterator was constructed successfully.
MS::kInsufficientMemory No memory available.
MS::kInvalidParameter An invalid object was given.
This constructor is used when iterating from within the compute() method of a node. The point/CV/vertex components of the specified component within the geometry data that is pointed to by the dataHandle will be iterated. If readOnly mode is set to false, the setPosition method can be utilized.
Parameters
[in]
dataHandle
The dataHandle pointing to the geometry data.
[in]
component
The components to be iterated.
[in]
readOnly
If false you will be allowed to modify the geometry position data during the iteration.
[out]
ReturnStatus
Status code
Status Codes:
MS::kSuccess The iterator was constructed successfully.
MS::kInsufficientMemory No memory available.
MS::kInvalidParameter An invalid object was given.
This number will always be at least as large as the number of items, however in some cases it may be larger. It is useful if allocating space in an array to hold the results, since it will always be of sufficient size. If the exact number of items is required, use the exactCount method instead. The exactCount method is however significantly slower than this method.
Return the position of all the points/CVs/vertices.
This operation is faster than using the iterator to get values one by one, but uses more memory as it requires an array to hold all the values to be returned.
Parameters
[out]
points
Storage for positions
[in]
space
The transformation space in which the operation is done
Returns
Status code
Status Codes:
MS::kSuccess The position of the current component was returned.
MS::kInvalidParameter Cannot do world space transform.
Set the position of all the points/CVs/vertices at once.
This operation is faster than using the iterator to set values one by one, but uses more memory as it requires an array to hold all the values to be set.
Parameters
[in]
pt
An array containing all the positions to be set
[in]
space
The transformation space in which the operation is done
Returns
Status code
Status Codes:
MS::kSuccess The transformation was successful.
MS::kInvalidParameter Cannot do world space transform.
MS::kFailure The transformation was not successful because the data was read only.
const char * className
(
)
static
Returns the name of this class.
Returns
The name of this class.
The documentation for this class was generated from the following files: