#include <MItMeshFaceVertex.h>
Face vertex iterator.
This class is the iterator for face vertices on polygonal surfaces.
The iterator functions in two modes depending on whether a component is specified. When a component is not given or is NULL the iteration will be over all polygons for the surface. When a component is given this iterator will iterate over the polygons specified in the component. When iterating over components a DAG path to the surface must also be supplied.
Public Member Functions | |
MItMeshFaceVertex (const MObject &polyObject, MStatus *ReturnStatus=NULL) | |
Constructor. More... | |
MItMeshFaceVertex (const MDagPath &polyObject, MObject &component=MObject::kNullObj, MStatus *ReturnStatus=NULL) | |
Constructor. More... | |
virtual | ~MItMeshFaceVertex () |
Destructor. More... | |
bool | isDone (MStatus *ReturnStatus=NULL) |
Indicates if all of the face vertices have been traversed. More... | |
MStatus | next () |
Advance to the next face vertext in the iteration. More... | |
MStatus | reset () |
Reset the iterator to the first face vertex. More... | |
MStatus | reset (const MObject &polyObject) |
Reset the iterator to the first polygon in the supplied surface. More... | |
MStatus | reset (const MDagPath &polyObject, MObject &component=MObject::kNullObj) |
Reset the iterator with the given surface and component. More... | |
int | vertId (MStatus *ReturnStatus=NULL) const |
Returns the index of the current face vertex. More... | |
int | faceId (MStatus *ReturnStatus=NULL) const |
Returns the current face index. More... | |
int | faceVertId (MStatus *ReturnStatus=NULL) const |
Returns the relative index of the vertex within the current face. More... | |
MObject | faceVertex (MStatus *ReturnStatus=NULL) const |
This method is obsolete. More... | |
MObject | currentItem (MStatus *ReturnStatus=NULL) const |
Returns the double componet index of the vertex and face. More... | |
MPoint | position (MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL) |
Return the position of the current face vertex. More... | |
MStatus | getNormal (MVector &normal, MSpace::Space space=MSpace::kObject) const |
Return the face vertex normal. More... | |
int | normalId (MStatus *ReturnStatus=NULL) const |
Returns the normal index for the specified vertex. More... | |
int | tangentId (MStatus *ReturnStatus=NULL) const |
Returns the tangent (or binormal) index for the specified vertex. More... | |
MVector | getTangent (MSpace::Space space=MSpace::kObject, const MString *uvSet=NULL, MStatus *ReturnStatus=NULL) const |
Return the face vertex tangent associated with the given UV set. More... | |
MVector | getBinormal (MSpace::Space space=MSpace::kObject, const MString *uvSet=NULL, MStatus *ReturnStatus=NULL) const |
Return the face vertex binormal associated with the UV set. More... | |
bool | hasUVs (MStatus *ReturnStatus=NULL) const |
Does this face vertex has UV's mapped or not. More... | |
bool | hasUVs (const MString &uvSet, MStatus *ReturnStatus=NULL) const |
Does this face vertex has UV's mapped or not in a given uv set. More... | |
MStatus | getUV (float2 &uvPoint, const MString *uvSet=NULL) const |
Return the texture coordinate for the current face vertex. More... | |
MStatus | getUVIndex (int &index, const MString *uvSet=NULL) |
Returns the index of the texture coordinate for the current face vertex. More... | |
MStatus | getUVIndex (int &index, float &u, float &v, const MString *uvSet=NULL) |
Return the index of the texture coordinate for the current face vertex. More... | |
bool | hasColor (MStatus *ReturnStatus=NULL) const |
This method determines whether the current face vertex has color-per-vertex set. More... | |
MStatus | getColor (MColor &color, const MString *colorSetName=NULL) |
Return a color of the current face vertex. More... | |
MStatus | getColorIndex (int &colorIndex, const MString *colorSetName=NULL) |
Return a color index of the current face vertex. More... | |
MStatus | updateSurface () |
Signal that this polygonal surface has changed and needs to redraw itself. More... | |
MStatus | geomChanged () |
Reset the geom pointer in the MItMeshFaceVertex. More... | |
MStatus | setIndex (int faceId, int vertFaceId, int &prevFaceId, int &prevVertId) |
This method sets the index of the current face vertex to be accessed. More... | |
Static Public Member Functions | |
static const char * | className () |
Returns the name of this class. More... | |
MItMeshFaceVertex | ( | const MObject & | polyObject, |
MStatus * | ReturnStatus = NULL |
||
) |
Constructor.
Creates an iterator for all face vertices of the given surface.
[in] | polyObject | The surface to iterate over |
[out] | ReturnStatus | Status code |
MItMeshFaceVertex | ( | const MDagPath & | polyObject, |
MObject & | component = MObject::kNullObj , |
||
MStatus * | ReturnStatus = NULL |
||
) |
Constructor.
Creates an iterator for the face vertices of the given component. If no component is specified then the iteration will be for all polygons of the given surface.
[in] | polyObject | The surface to iterate over |
[in] | component | The polygons of the polyObject to iterate over |
[out] | ReturnStatus | Status code |
|
virtual |
Destructor.
Frees up storage used by the iterator.
bool isDone | ( | MStatus * | ReturnStatus = NULL | ) |
Indicates if all of the face vertices have been traversed.
[out] | ReturnStatus | Status code |
MStatus next | ( | ) |
Advance to the next face vertext in the iteration.
MStatus reset | ( | ) |
Reset the iterator to the first face vertex.
Reset the iterator to the first polygon in the supplied surface.
[in] | polyObject | The polygonal object for the iteration |
MStatus reset | ( | const MDagPath & | polyObject, |
MObject & | component = MObject::kNullObj |
||
) |
Reset the iterator with the given surface and component.
If component is null then the iteration will be for all face vertices in the given surface.
[in] | polyObject | The surface to iterate over |
[in] | component | The polygons of the polyObject to iterate over |
int vertId | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the index of the current face vertex.
[out] | ReturnStatus | Status code |
int faceId | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the current face index.
[out] | ReturnStatus | Status code |
int faceVertId | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the relative index of the vertex within the current face.
This index together with the faceId can be used for a fast access to get various info stored per vertex (normals, uvs, colors).
[out] | ReturnStatus | Status code |
This method is obsolete.
Returns the double componet index of the vertex and face.
[out] | ReturnStatus | Status code |
Returns the double componet index of the vertex and face.
[out] | ReturnStatus | Status code |
MPoint position | ( | MSpace::Space | space = MSpace::kObject , |
MStatus * | ReturnStatus = NULL |
||
) |
Return the position of the current face vertex.
[in] | space | The coordinate system for this operation |
[out] | ReturnStatus | Status code |
MStatus getNormal | ( | MVector & | normal, |
MSpace::Space | space = MSpace::kObject |
||
) | const |
Return the face vertex normal.
[out] | normal | Storage for the normal |
[in] | space | The transformation space |
int normalId | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the normal index for the specified vertex.
This index refers to an element in the normal array returned by MFnMesh::getNormals. These normals are per-polygon per-vertex normals. See the MFnMesh description for more information on normals.
[out] | ReturnStatus | Status code |
int tangentId | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the tangent (or binormal) index for the specified vertex.
This index refers to an element in the normal array returned by MFnMesh::getTangents(). These tangent or binormals are per-polygon per-vertex. See the MFnMesh description for more information on tangents and binormals.
[out] | ReturnStatus | Status code |
MVector getTangent | ( | MSpace::Space | space = MSpace::kObject , |
const MString * | uvSet = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | const |
Return the face vertex tangent associated with the given UV set.
The tangent is defined as the surface tangent of the polygon running in the U direction.
[in] | space | The transformation space. |
[in] | uvSet | The name of the uv set. |
[out] | ReturnStatus |
MVector getBinormal | ( | MSpace::Space | space = MSpace::kObject , |
const MString * | uvSet = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | const |
Return the face vertex binormal associated with the UV set.
[in] | space | The transformation space |
[in] | uvSet | The name of the associated UV set. |
[out] | ReturnStatus |
bool hasUVs | ( | MStatus * | ReturnStatus = NULL | ) | const |
Does this face vertex has UV's mapped or not.
[in] | ReturnStatus | Status Code |
Does this face vertex has UV's mapped or not in a given uv set.
[in] | uvSet | UV set to work with |
[in] | ReturnStatus | Status Code |
Return the texture coordinate for the current face vertex.
[out] | uvPoint | Storage for u and v values |
[in] | uvSet | UV set to work with |
Returns the index of the texture coordinate for the current face vertex.
This index refers to an element of the texture coordinate array for the polygonal object returned by MFnMesh::getUVs.
[out] | index | Storage for the texture coordinate index of the current face vertex |
[in] | uvSet | UV set to work with |
Return the index of the texture coordinate for the current face vertex.
This index refers to an element of the texture coordinate array for the polygonal object returned by MFnMesh::getUVs.
[out] | index | Storage for the texture coordinate index of the specified vertex |
[out] | u | Storage for u value |
[out] | v | Storage for v value |
[in] | uvSet | UV set to work with |
bool hasColor | ( | MStatus * | ReturnStatus = NULL | ) | const |
This method determines whether the current face vertex has color-per-vertex set.
[out] | ReturnStatus | Status code |
Return a color of the current face vertex.
[out] | color | Current face vertex color |
[in] | colorSetName | Name of the color set. |
Return a color index of the current face vertex.
[out] | colorIndex | Storage for the color index |
[in] | colorSetName | Name of the color set. |
MStatus updateSurface | ( | ) |
Signal that this polygonal surface has changed and needs to redraw itself.
MStatus geomChanged | ( | ) |
Reset the geom pointer in the MItMeshFaceVertex.
MStatus setIndex | ( | int | faceIndex, |
int | faceVertIndex, | ||
int & | prevFaceId, | ||
int & | prevVertId | ||
) |
This method sets the index of the current face vertex to be accessed.
The current face vertex will no longer be in sync with any previous iteration.
[in] | faceIndex | Index of desired face to access. |
[in] | faceVertIndex | Face-relative index of desired vertex to access. |
[out] | prevFaceId | Index of the face which was current before the change. |
[out] | prevVertId | Face-relative index of the vertex which was current before the change. |
|
static |
Returns the name of this class.