MItMeshFaceVertex Class Reference
[OpenMaya - API module for common classes]

#include <MItMeshFaceVertex.h>

List of all members.


Detailed Description

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)
 MItMeshFaceVertex (const MDagPath &polyObject, MObject &component=MObject::kNullObj, MStatus *ReturnStatus=NULL)
virtual ~MItMeshFaceVertex ()
bool isDone (MStatus *ReturnStatus=NULL)
MStatus next ()
MStatus reset ()
MStatus reset (const MObject &polyObject)
MStatus reset (const MDagPath &polyObject, MObject &component=MObject::kNullObj)
int vertId (MStatus *ReturnStatus=NULL) const
int faceId (MStatus *ReturnStatus=NULL) const
int faceVertId (MStatus *ReturnStatus=NULL) const
MObject faceVertex (MStatus *ReturnStatus=NULL) const
 This method is obsolete.
MObject currentItem (MStatus *ReturnStatus=NULL) const
MPoint position (MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL)
MStatus getNormal (MVector &normal, MSpace::Space space=MSpace::kObject) const
int normalId (MStatus *ReturnStatus=NULL) const
int tangentId (MStatus *ReturnStatus=NULL) const
MVector getTangent (MSpace::Space space=MSpace::kObject, const MString *uvSet=NULL, MStatus *ReturnStatus=NULL) const
MVector getBinormal (MSpace::Space space=MSpace::kObject, const MString *uvSet=NULL, MStatus *ReturnStatus=NULL) const
bool hasUVs (MStatus *ReturnStatus=NULL) const
bool hasUVs (const MString &uvSet, MStatus *ReturnStatus=NULL) const
MStatus getUV (float2 &uvPoint, const MString *uvSet=NULL) const
MStatus getUVIndex (int &index, const MString *uvSet=NULL)
MStatus getUVIndex (int &index, float &u, float &v, const MString *uvSet=NULL)
bool hasColor (MStatus *ReturnStatus=NULL) const
MStatus getColor (MColor &color, const MString *colorSetName=NULL)
MStatus getColorIndex (int &colorIndex, const MString *colorSetName=NULL)
MStatus updateSurface ()
MStatus geomChanged ()
MStatus setIndex (int faceId, int vertFaceId, int &prevFaceId, int &prevVertId)


Constructor & Destructor Documentation

MItMeshFaceVertex::MItMeshFaceVertex ( const MObject polyObject,
MStatus ReturnStatus = NULL 
)

Constructor. Creates an iterator for all face vertices of the given surface.

Parameters:
[in] polyObject The surface to iterate over
[out] ReturnStatus Status code
Status Codes:

MItMeshFaceVertex::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.

Parameters:
[in] polyObject The surface to iterate over
[in] component The polygons of the polyObject to iterate over
[out] ReturnStatus Status code
Status Codes:

MItMeshFaceVertex::~MItMeshFaceVertex (  )  [virtual]

Destructor. Frees up storage used by the iterator.


Member Function Documentation

bool MItMeshFaceVertex::isDone ( MStatus ReturnStatus = NULL  ) 

Indicates if all of the face vertices have been traversed.

Parameters:
[out] ReturnStatus Status code
Returns:
Boolean value: true All face vertices have been traversed, false otherwise.
Status Codes:

MStatus MItMeshFaceVertex::next (  ) 

Advance to the next face vertext in the iteration.

Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::reset (  ) 

Reset the iterator to the first face vertex.

Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::reset ( const MObject polyObject  ) 

Reset the iterator to the first polygon in the supplied surface.

Parameters:
[in] polyObject The polygonal object for the iteration
Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::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.

Parameters:
[in] polyObject The surface to iterate over
[in] component The polygons of the polyObject to iterate over
Returns:
Status code
Status Codes:

int MItMeshFaceVertex::vertId ( MStatus ReturnStatus = NULL  )  const

Returns the index of the current face vertex.

Parameters:
[out] ReturnStatus Status code
Returns:
The index of the current face vertex.
Status Codes:

int MItMeshFaceVertex::faceId ( MStatus ReturnStatus = NULL  )  const

Returns the current face index.

Parameters:
[out] ReturnStatus Status code
Returns:
The index of the current face.
Status Codes:

int MItMeshFaceVertex::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).

Parameters:
[out] ReturnStatus Status code
Returns:
The relative index of the current vertex.
Status Codes:

MObject MItMeshFaceVertex::faceVertex ( MStatus ReturnStatus = NULL  )  const

This method is obsolete.

Deprecated:
Use the MItMeshFaceVertex::currentItem method.
Returns the double componet index of the vertex and face.

Parameters:
[out] ReturnStatus Status code
Returns:
An MObject containing the double index.
Status Codes:

MObject MItMeshFaceVertex::currentItem ( MStatus ReturnStatus = NULL  )  const

Returns the double componet index of the vertex and face.

Parameters:
[out] ReturnStatus Status code
Returns:
An MObject containing the double index.
Status Codes:

MPoint MItMeshFaceVertex::position ( MSpace::Space  space = MSpace::kObject,
MStatus ReturnStatus = NULL 
)

Return the position of the current face vertex.

Parameters:
[in] space The coordinate system for this operation
[out] ReturnStatus Status code
Returns:
The vertex position
Status Codes:

MStatus MItMeshFaceVertex::getNormal ( MVector normal,
MSpace::Space  space = MSpace::kObject 
) const

Return the face vertex normal.

Parameters:
[out] normal Storage for the normal
[in] space The transformation space
Returns:
Status code
Status Codes:

int MItMeshFaceVertex::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.

Parameters:
[out] ReturnStatus Status code
Returns:
The index of the normal for the current vertex
Status Codes:

int MItMeshFaceVertex::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.

Parameters:
[out] ReturnStatus Status code
Returns:
The index of the tangnet for the current vertex
Status Codes:

MVector MItMeshFaceVertex::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.

Parameters:
[in] space The transformation space.
[in] uvSet The name of the uv set.
[out] ReturnStatus 
Returns:
The normalized tangent vector. A null vector will be returned if the tangent can't be found.

MVector MItMeshFaceVertex::getBinormal ( MSpace::Space  space = MSpace::kObject,
const MString uvSet = NULL,
MStatus ReturnStatus = NULL 
) const

Return the face vertex binormal associated with the UV set.

Parameters:
[in] space The transformation space
[in] uvSet The name of the associated UV set.
[out] ReturnStatus 
Returns:
The normalized binormal vector. A null vector will be returned if the tangent can't be found.

bool MItMeshFaceVertex::hasUVs ( MStatus ReturnStatus = NULL  )  const

Does this face vertex has UV's mapped or not.

Parameters:
[in] ReturnStatus Status Code
Returns:
Boolean value: true if the face vertex has UV's mapped, false otherwise.
Status Codes:

bool MItMeshFaceVertex::hasUVs ( const MString uvSet,
MStatus ReturnStatus = NULL 
) const

Does this face vertex has UV's mapped or not in a given uv set.

Parameters:
[in] uvSet UV set to work with
[in] ReturnStatus Status Code
Returns:
Boolean value: true if the face vertex has UV's mapped, false otherwise.
Status Codes:

MStatus MItMeshFaceVertex::getUV ( float2 &  uvPoint,
const MString uvSet = NULL 
) const

Return the texture coordinate for the current face vertex.

Parameters:
[out] uvPoint Storage for u and v values
[in] uvSet UV set to work with
Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::getUVIndex ( int &  index,
const MString uvSet = NULL 
)

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.

Parameters:
[out] index Storage for the texture coordinate index of the current face vertex
[in] uvSet UV set to work with
Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::getUVIndex ( int &  index,
float &  u,
float &  v,
const MString uvSet = NULL 
)

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.

Parameters:
[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
Returns:
Status code
Status Codes:

bool MItMeshFaceVertex::hasColor ( MStatus ReturnStatus = NULL  )  const

This method determines whether the current face vertex has color-per-vertex set.

Parameters:
[out] ReturnStatus Status code
Returns:
Boolean value: true if at least one vertex has color, false otherwise.
Status Codes:

MStatus MItMeshFaceVertex::getColor ( MColor color,
const MString colorSetName = NULL 
)

Return a color of the current face vertex.

Parameters:
[out] color Current face vertex color
[in] colorSetName Name of the color set.
Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::getColorIndex ( int &  colorIndex,
const MString colorSetName = NULL 
)

Return a color index of the current face vertex.

Parameters:
[out] colorIndex Storage for the color index
[in] colorSetName Name of the color set.
Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::updateSurface (  ) 

Signal that this polygonal surface has changed and needs to redraw itself.

Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::geomChanged (  ) 

Reset the geom pointer in the MItMeshFaceVertex.

Returns:
Status code
Status Codes:

MStatus MItMeshFaceVertex::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.

Parameters:
[in] faceIndex The index of desired face to access.
[in] faceVertIndex The relative (local to face) index of desired vertex to access.
Returns:
Status code
Status Codes:


Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6