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® 2011 © 1997-2010 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6