#include <MItMeshPolygon.h>
Polygon iterator.
This class is the iterator for polygonal surfaces (meshes).
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 (faces) specified in the component. When iterating over components a DAG path to the surface must also be supplied.
Public Member Functions  
MItMeshPolygon (const MObject &polyObject, MStatus *ReturnStatus=NULL)  
Constructor. More...  
MItMeshPolygon (const MDagPath &polyObject, MObject &component=MObject::kNullObj, MStatus *ReturnStatus=NULL)  
Constructor. More...  
virtual  ~MItMeshPolygon () 
Destructor. More...  
bool  isDone (MStatus *ReturnStatus=NULL) 
Indicates if all of the polygons have been traversed yet. More...  
MStatus  next () 
Advance to the next polygon in the iteration. More...  
MStatus  reset () 
Reset the iterator to the first polygon. 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...  
unsigned int  count (MStatus *ReturnStatus=NULL) 
Return the number of polygons in the iteration. More...  
unsigned int  polygonVertexCount (MStatus *ReturnStatus=NULL) 
Return the number of vertices for the current polygon. More...  
MPoint  center (MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL) 
Return the position of the center of the current polygon. More...  
MObject  polygon (MStatus *ReturnStatus=NULL) 
This method is obsolete. More...  
MObject  currentItem (MStatus *ReturnStatus=NULL) 
Get the current polygon in the iteration as a component. More...  
unsigned int  index (MStatus *ReturnStatus=NULL) 
Returns the index of the current polygon. More...  
MStatus  setIndex (int index, int &prevIndex) 
This method sets the index of the current face to be accessed. More...  
unsigned int  vertexIndex (int index, MStatus *ReturnStatus=NULL) 
Returns the objectrelative index of the specified vertex of the current polygon. More...  
MStatus  getVertices (MIntArray &vertices) 
This method gets the indices of the vertices of the current face. More...  
MPoint  point (int index, MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL) 
Return the position of the vertex at index in the current polygon. More...  
void  getPoints (MPointArray &pointArray, MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL) 
Retrieves the positions of the vertices on the current face/polygon that the iterator is pointing to. More...  
MStatus  setPoint (const MPoint &point, unsigned int index, MSpace::Space space=MSpace::kObject) 
Set the vertex at the given index in the current polygon. More...  
MStatus  setPoints (MPointArray &pointArray, MSpace::Space space=MSpace::kObject) 
Sets new locations for vertices of the current polygon that the iterator is pointing to. More...  
unsigned int  normalIndex (int vertex, MStatus *ReturnStatus=NULL) const 
Returns the normal index for the specified vertex. More...  
MStatus  getNormal (MVector &normal, MSpace::Space space=MSpace::kObject) const 
Return the face normal of the current polygon. More...  
MStatus  getNormal (unsigned int Vertexindex, MVector &normal, MSpace::Space space=MSpace::kObject) const 
Returns the vertexface normal for the vertex in the current polygon. More...  
MStatus  getNormals (MVectorArray &vectorArray, MSpace::Space space=MSpace::kObject) const 
Returns the normals for all vertices in the current face. More...  
unsigned int  tangentIndex (int vertex, MStatus *ReturnStatus=NULL) const 
Returns the tangent (or binormal) index for the specified vertex. More...  
bool  hasUVs (MStatus *ReturnStatus=NULL) const 
Tests whether this face has UV's mapped or not (either all the vertices for a face should have UV's, or none of them do, so the UV count for a face is either 0, or equal to the number of vertices). More...  
bool  hasUVs (const MString &uvSet, MStatus *ReturnStatus=NULL) const 
Tests whether this face has UV's mapped or not (either all the vertices for a face should have UV's, or none of them do, so the UV count for a face is either 0, or equal to the number of vertices). More...  
MStatus  setUV (int vertexId, float2 &uvPoint, const MString *uvSet=NULL) 
Modify the UV value for the given vertex in the current face. More...  
MStatus  getUV (int vertexId, float2 &uvPoint, const MString *uvSet=NULL) const 
Return the texture coordinate for the given vertex. More...  
MStatus  setUVs (MFloatArray &uArray, MFloatArray &vArray, const MString *uvSet=NULL) 
Modify the UV value for all vertices in the current face. More...  
MStatus  getUVs (MFloatArray &uArray, MFloatArray &vArray, const MString *uvSet=NULL) const 
Return the all the texture coordinates for the vertices of this face (in local vertex order). More...  
MStatus  getPointAtUV (MPoint &pt, float2 &uvPoint, MSpace::Space space=MSpace::kObject, const MString *uvSet=NULL, float tolerance=0.0) 
Return the position of the point at the given UV value in the current polygon. More...  
MStatus  getAxisAtUV (MVector &normal, MVector &uTangent, MVector &vTangent, float2 &uvPoint, MSpace::Space space=MSpace::kObject, const MString *uvSet=NULL, float tolerance=0.0) 
Return the axis of the point at the given UV value in the current polygon. More...  
MStatus  getUVAtPoint (MPoint &pt, float2 &uvPoint, MSpace::Space space=MSpace::kObject, const MString *uvSet=NULL) 
Find the point closest to the given point in the current polygon, and return the UV value at that point. More...  
MStatus  getUVIndex (int vertex, int &index, const MString *uvSet=NULL) 
Returns the index of the texture coordinate for the given vertex. More...  
MStatus  getUVIndex (int vertex, int &index, float &u, float &v, const MString *uvSet=NULL) 
Return the index of the texture coordinate for the given vertex. More...  
MStatus  getUVSetNames (MStringArray &setNames) const 
This method is used to find the UV set names mapped to the current face. More...  
bool  hasColor (MStatus *ReturnStatus=NULL) const 
This method determines whether the current face has colorpervertex set for any vertex. More...  
bool  hasColor (int localVertexIndex, MStatus *ReturnStatus=NULL) 
This method determines whether the current face has colorpervertex set for the given vertex. More...  
MStatus  getColor (MColor &color, const MString *colorSetName=NULL) 
This method gets the average color of the all the vertices in this face. More...  
MStatus  getColor (MColor &color, int vertexIndex) 
This method gets the color of the specified vertex in this face. More...  
MStatus  getColors (MColorArray &colors, const MString *colorSetName=NULL) 
This method gets the color of the each vertex in the current face. More...  
MStatus  numColors (int &count, const MString *colorSetName=NULL) 
This method checks for the number of colors on vertices in this face. More...  
MStatus  getColorIndex (int vertexIndex, int &colorIndex, const MString *colorSetName=NULL) 
This method returns the colorIndex for a vertex of the current face. More...  
MStatus  getColorIndices (MIntArray &colorIndex, const MString *colorSetName=NULL) 
This method returns the colorIndices for each vertex on the face. More...  
bool  hasValidTriangulation (MStatus *ReturnStatus=NULL) const 
This method checks if the face has a valid triangulation. More...  
MStatus  numTriangles (int &count) const 
This Method checks for the number of triangles in this face in the current triangulation. More...  
MStatus  getTriangle (int localTriIndex, MPointArray &points, MIntArray &vertexList, MSpace::Space space=MSpace::kObject) const 
Get the vertices and vertex positions of the given triangle in the current face's triangulation. More...  
MStatus  getTriangles (MPointArray &points, MIntArray &vertexList, MSpace::Space space=MSpace::kObject) const 
Get the vertices and vertex positions of all the triangles in the current face's triangulation. More...  
MStatus  updateSurface () 
Signal that this polygonal surface has changed and needs to redraw itself. More...  
MStatus  geomChanged () 
Reset the geom pointer in the MItMeshPolygon. More...  
MStatus  getEdges (MIntArray &edges) 
This method gets the indices of the edges contained in the current face. More...  
MStatus  getConnectedFaces (MIntArray &faces) 
This method gets the indices of the faces connected to the current face. More...  
MStatus  getConnectedEdges (MIntArray &edges) 
This method gets the indices of the edges connected to the vertices of the current face, but DOES not include the edges contained in the current face. More...  
MStatus  getConnectedVertices (MIntArray &vertices) 
This method gets the objectrelative indices of the vertices surrounding the vertices of the current face, but does not include the vertices of the current face. More...  
bool  isConnectedToFace (int index, MStatus *ReturnStatus=NULL) 
This method determines whether the given face is adjacent to the current face. More...  
bool  isConnectedToEdge (int index, MStatus *ReturnStatus=NULL) 
This method determines whether the given edge is connected to a vertex in the current face. More...  
bool  isConnectedToVertex (int index, MStatus *ReturnStatus=NULL) 
This method determines whether the given vertex shares an edge with a vertex in the current face. More...  
MStatus  numConnectedFaces (int &faceCount) const 
This method checks for the number of connected faces. More...  
MStatus  numConnectedEdges (int &edgeCount) const 
This method checks for the number of connected edges on the vertices of this face. More...  
bool  onBoundary (MStatus *ReturnStatus=NULL) 
This method determines whether the current face is on a boundary. More...  
MStatus  getArea (double &area, MSpace::Space space=MSpace::kObject) 
This method gets the area of the face. More...  
bool  zeroArea (MStatus *ReturnStatus=NULL) 
This method checks if its a zero area face. More...  
MStatus  getUVArea (double &area, const MString *uvSet=NULL) 
This method gets the UV area of the face. More...  
bool  zeroUVArea (MStatus *ReturnStatus=NULL) 
This method checks if the UV area of the face is zero. More...  
bool  zeroUVArea (const MString &uvSet, MStatus *ReturnStatus=NULL) 
This method checks if the UV area of the face is zero. More...  
bool  isConvex (MStatus *ReturnStatus=NULL) 
This method checks if the face is convex. More...  
bool  isStarlike (MStatus *ReturnStatus=NULL) 
This method checks if the face is starlike. More...  
bool  isLamina (MStatus *ReturnStatus=NULL) 
This method checks if the face is a lamina (the face is folded over onto itself). More...  
bool  isHoled (MStatus *ReturnStatus=NULL) 
This method checks if the face has any holes. More...  
bool  isPlanar (MStatus *ReturnStatus=NULL) 
This method checks if the face is planar. More...  
bool  isUVReversed (const MString *uvSet=NULL, MStatus *ReturnStatus=NULL) 
This method checks if the winding order of UV's for this face are reversed (clockwise), or not (counter clockwise) More...  
Static Public Member Functions  
static const char *  className () 
Returns the name of this class. More...  
MItMeshPolygon  (  const MObject &  polyObject, 
MStatus *  ReturnStatus = NULL 

) 
Constructor.
Creates an iterator for all polygons of the given surface.
[in]  polyObject  The surface to iterate over 
[out]  ReturnStatus  Status code 
MItMeshPolygon  (  const MDagPath &  polyObject, 
MObject &  component = MObject::kNullObj , 

MStatus *  ReturnStatus = NULL 

) 
Constructor.
Creates an iterator for the polygons 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 (mesh) 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 polygons have been traversed yet.
[out]  ReturnStatus  Status code 
MStatus next  (  ) 
Advance to the next polygon in the iteration.
MStatus reset  (  ) 
Reset the iterator to the first polygon.
Reset the iterator to the first polygon in the supplied surface.
[in]  polyObject  The polygon 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 polygons in the given surface.
[in]  polyObject  The surface (mesh) to iterate over 
[in]  component  The polygons (faces) of the polyObject to iterate over 
unsigned int count  (  MStatus *  ReturnStatus = NULL  ) 
Return the number of polygons in the iteration.
[out]  ReturnStatus  Status code 
unsigned int polygonVertexCount  (  MStatus *  ReturnStatus = NULL  ) 
Return the number of vertices for the current polygon.
[out]  ReturnStatus  Status code 
MPoint center  (  MSpace::Space  space = MSpace::kObject , 
MStatus *  ReturnStatus = NULL 

) 
Return the position of the center of the current polygon.
[in]  space  The coordinate system for this operation 
[out]  ReturnStatus  Status code 
This method is obsolete.
Get the current polygon in the iteration as a component.
Components are used to specify one or more polygons and are useful in operating on groups of noncontiguous polygons for a surface. Components do not contain any information about the surface that they refer to so an MDagPath must be specified when dealing with components.
[out]  ReturnStatus  Status code 
Get the current polygon in the iteration as a component.
Components are used to specify one or more polygons and are useful in operating on groups of noncontiguous polygons for a surface. Components do not contain any information about the surface that they refer to so an MDagPath must be specified when dealing with components.
[out]  ReturnStatus  Status code 
unsigned int index  (  MStatus *  ReturnStatus = NULL  ) 
Returns the index of the current polygon.
[out]  ReturnStatus  Status code 
MStatus setIndex  (  int  index, 
int &  prevIndex  
) 
This method sets the index of the current face to be accessed.
The current face will no longer be in sync with any previous iteration.
[in]  index  The index of desired face to access. 
[in]  prevIndex  The index of the current face in the iteration 
unsigned int vertexIndex  (  int  index, 
MStatus *  ReturnStatus = NULL 

) 
Returns the objectrelative index of the specified vertex of the current polygon.
The index returned may be used to refer to an element in the vertex list returned by MFnMesh::getPoints.
[in]  index  The facerelative index of the vertex in the polygon 
[out]  ReturnStatus  Status code 
This method gets the indices of the vertices of the current face.
[out]  vertices  An array to place all the vertex indices into 
MPoint point  (  int  index, 
MSpace::Space  space = MSpace::kObject , 

MStatus *  ReturnStatus = NULL 

) 
Return the position of the vertex at index in the current polygon.
[in]  index  The facerelative index of the vertex in the current polygon 
[in]  space  The coordinate system for this operation 
[out]  ReturnStatus  Status code 
void getPoints  (  MPointArray &  pointArray, 
MSpace::Space  space = MSpace::kObject , 

MStatus *  ReturnStatus = NULL 

) 
Retrieves the positions of the vertices on the current face/polygon that the iterator is pointing to.
Vertex positions will be inserted into the given array and will be indexed using facerelative vertex IDs (ie. ordered from 0 to (vertexCount of the face)  1), which should not be confused with the vertexIDs of each vertex in relation to the entire mesh object.
[out]  pointArray  The array where the vertex positions will be stored 
[in]  space  The coordinate system for this operation 
[out]  ReturnStatus  Status code 
MStatus setPoint  (  const MPoint &  point, 
unsigned int  index,  
MSpace::Space  space = MSpace::kObject 

) 
Set the vertex at the given index in the current polygon.
[in]  point  The new position for the vertex 
[in]  index  The facerelative index of the vertex in the current polygon 
[in]  space  The coordinate system for this operation 
MStatus setPoints  (  MPointArray &  pointArray, 
MSpace::Space  space = MSpace::kObject 

) 
Sets new locations for vertices of the current polygon that the iterator is pointing to.
[in]  pointArray  The new positions for the vertices. 
[in]  space  The coordinate system for this operation. 
unsigned int normalIndex  (  int  localVertexIndex, 
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 perpolygon pervertex normals. See the MFnMesh description for more information on normals.
[in]  localVertexIndex  The facerelative index of the vertex to examine for the current polygon 
[out]  ReturnStatus  Status code 
MStatus getNormal  (  MVector &  normal, 
MSpace::Space  space = MSpace::kObject 

)  const 
Return the face normal of the current polygon.
[out]  normal  Storage for the normal 
[in]  space  The transformation space 
MStatus getNormal  (  unsigned int  index, 
MVector &  normal,  
MSpace::Space  space = MSpace::kObject 

)  const 
Returns the vertexface normal for the vertex in the current polygon.
[in]  index  facerelative vertex index of the vertex whose normal to retrieve 
[out]  normal  Storage for the normal 
[in]  space  The transformation space 
MStatus getNormals  (  MVectorArray &  normalArray, 
MSpace::Space  space = MSpace::kObject 

)  const 
Returns the normals for all vertices in the current face.
[out]  normalArray  Storage for the normals 
[in]  space  The transformation space 
unsigned int tangentIndex  (  int  localVertexIndex, 
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 perpolygon pervertex. See the MFnMesh description for more information on tangents and binormals.
[in]  localVertexIndex  The facerelative index of the vertex to examine for the current polygon 
[out]  ReturnStatus  Status code 
bool hasUVs  (  MStatus *  ReturnStatus = NULL  )  const 
Tests whether this face has UV's mapped or not (either all the vertices for a face should have UV's, or none of them do, so the UV count for a face is either 0, or equal to the number of vertices).
[out]  ReturnStatus  Status code 
Tests whether this face has UV's mapped or not (either all the vertices for a face should have UV's, or none of them do, so the UV count for a face is either 0, or equal to the number of vertices).
[in]  uvSet  UV set to work with 
[out]  ReturnStatus  Status code 
Modify the UV value for the given vertex in the current face.
If the face is not already mapped, this method will fail.
[in]  vertexId  facerelative index of the vertex to set UV for. 
[in]  uvPoint  The UV values to set it to 
[in]  uvSet  UV set to work with 
Return the texture coordinate for the given vertex.
[in]  vertex  The facerelative vertex index to get UV for 
[out]  uvPoint  Storage for u and v values 
[in]  uvSet  UV set to work with 
MStatus setUVs  (  MFloatArray &  uArray, 
MFloatArray &  vArray,  
const MString *  uvSet = NULL 

) 
Modify the UV value for all vertices in the current face.
If the face has not already been mapped, this method will fail.
[in]  uArray  All the U values  in local face order 
[in]  vArray  The corresponding V values 
[in]  uvSet  UV set to work with 
MStatus getUVs  (  MFloatArray &  uArray, 
MFloatArray &  vArray,  
const MString *  uvSet = NULL 

)  const 
Return the all the texture coordinates for the vertices of this face (in local vertex order).
[out]  uArray  Storage for u values 
[out]  vArray  Storage for v values 
[in]  uvSet  UV set to work with 
MStatus getPointAtUV  (  MPoint &  pt, 
float2 &  uvPoint,  
MSpace::Space  space = MSpace::kObject , 

const MString *  uvSet = NULL , 

float  tolerance = 0.0 

) 
Return the position of the point at the given UV value in the current polygon.
[out]  pt  Space for the point 
[in]  uvPoint  The UV value to try to locate 
[in]  space  The coordinate system for this operation 
[in]  uvSet  UV set to work with 
[in]  tolerance  tolerance value to compare float data type 
MStatus getAxisAtUV  (  MVector &  normal, 
MVector &  uTangent,  
MVector &  vTangent,  
float2 &  uvPoint,  
MSpace::Space  space = MSpace::kObject , 

const MString *  uvSet = NULL , 

float  tolerance = 0.0 

) 
Return the axis of the point at the given UV value in the current polygon.
The axis or affine space is defined by nonnormalized and nonorthogonized U tangent, V tangent and normal. It's useful to detect local surface deformation for meshes with similar UV mapping.
[out]  normal  normal for the point 
[out]  uTangent  u tangent for the point 
[out]  vTangent  v tangent for the point 
[in]  uvPoint  The UV value to try to locate 
[in]  space  The coordinate system for this operation 
[in]  uvSet  UV set to work with 
[in]  tolerance  tolerance value to compare float data type 
MStatus getUVAtPoint  (  MPoint &  pt, 
float2 &  uvPoint,  
MSpace::Space  space = MSpace::kObject , 

const MString *  uvSet = NULL 

) 
Find the point closest to the given point in the current polygon, and return the UV value at that point.
[in]  pt  The point to try to get UV for 
[out]  uvPoint  Storage for the UV value 
[in]  space  The coordinate system for this operation 
[in]  uvSet  UV set to work with 
Returns the index of the texture coordinate for the given vertex.
This index refers to an element of the texture coordinate array for the polygonal object returned by MFnMesh::getUVs.
[in]  vertex  The facerelative vertex index of the current polygon 
[out]  index  Storage for the texture coordinate index of the specified vertex 
[in]  uvSet  UV set to work with 
Return the index of the texture coordinate for the given vertex.
This index refers to an element of the texture coordinate array for the polygonal object returned by MFnMesh::getUVs.
[in]  vertex  The facerelative vertex index of the current polygon 
[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 
MStatus getUVSetNames  (  MStringArray &  setNames  )  const 
This method is used to find the UV set names mapped to the current face.
[out]  setNames  The string array to return the UV sets names in 
bool hasColor  (  MStatus *  ReturnStatus = NULL  )  const 
This method determines whether the current face has colorpervertex set for any vertex.
[out]  ReturnStatus  Status code 
bool hasColor  (  int  vertexIndex, 
MStatus *  ReturnStatus = NULL 

) 
This method determines whether the current face has colorpervertex set for the given vertex.
[in]  vertexIndex  facerelative vertex index to check for color on 
[out]  ReturnStatus  Status code 
This method gets the average color of the all the vertices in this face.
[out]  color  The average color 
[in]  colorSetName  Name of the color set. 
This method gets the color of the specified vertex in this face.
[out]  color  The color to get 
[in]  index  The facerelative vertex index on this face 
MStatus getColors  (  MColorArray &  colors, 
const MString *  colorSetName = NULL 

) 
This method gets the color of the each vertex in the current face.
[out]  colors  Storage for the colors of the vertice in this face 
[in]  colorSetName  Name of the color set. 
This method checks for the number of colors on vertices in this face.
[out]  colorCount  Storage for the color count 
[in]  colorSetName  Name of the color set. 
This method returns the colorIndex for a vertex of the current face.
[in]  vertexIndex  Facerelative index of vertex. 
[out]  colorIndex  Color index filled in this function. 
[in]  colorSetName  Name of the color set. 
This method returns the colorIndices for each vertex on the face.
[out]  colorIndices  Color index filled in this function. 
[in]  colorSetName  Name of the color set. 
bool hasValidTriangulation  (  MStatus *  ReturnStatus = NULL  )  const 
This method checks if the face has a valid triangulation.
If it doesn't, then the face was bad geometry: it may gave degenerate points or cross over itself.
[out]  ReturnStatus  Status code 
MStatus numTriangles  (  int &  triCount  )  const 
This Method checks for the number of triangles in this face in the current triangulation.
[out]  triCount  Storage for the triangle count 
MStatus getTriangle  (  int  localTriIndex, 
MPointArray &  points,  
MIntArray &  vertexList,  
MSpace::Space  space = MSpace::kObject 

)  const 
Get the vertices and vertex positions of the given triangle in the current face's triangulation.
[in]  localTriIndex  Local index of the desired triangle in this face 
[out]  points  Storage for all the vertex points 
[out]  vertexList  Storage for all the vertex indices 
[in]  space  World Space or Object Space 
MStatus getTriangles  (  MPointArray &  points, 
MIntArray &  vertexList,  
MSpace::Space  space = MSpace::kObject 

)  const 
Get the vertices and vertex positions of all the triangles in the current face's triangulation.
[out]  points  Storage for all the vertex points 
[out]  vertexList  Storage for all the vertex indices 
[in]  space  World Space or Object Space 
MStatus updateSurface  (  ) 
Signal that this polygonal surface has changed and needs to redraw itself.
MStatus geomChanged  (  ) 
Reset the geom pointer in the MItMeshPolygon.
This is now being handled automatically inside the iterator, and users should no longer need to call this method directly to sync up the iterator to changes made by MFnMesh
This method gets the indices of the edges contained in the current face.
[out]  edges  An array to place all the edge indices into 
This method gets the indices of the faces connected to the current face.
[out]  faces  An array to place all the face indices into 
This method gets the indices of the edges connected to the vertices of the current face, but DOES not include the edges contained in the current face.
[out]  edges  An array to place all the edge indices into 
This method gets the objectrelative indices of the vertices surrounding the vertices of the current face, but does not include the vertices of the current face.
[out]  vertices  An array to stuff all the vertex indices into 
bool isConnectedToFace  (  int  index, 
MStatus *  ReturnStatus = NULL 

) 
This method determines whether the given face is adjacent to the current face.
[in]  index  Index of the face to be tested for 
[out]  ReturnStatus  Status code 
bool isConnectedToEdge  (  int  index, 
MStatus *  ReturnStatus = NULL 

) 
This method determines whether the given edge is connected to a vertex in the current face.
[in]  index  Index of the edge to be tested for 
[out]  ReturnStatus  Status code 
bool isConnectedToVertex  (  int  index, 
MStatus *  ReturnStatus = NULL 

) 
This method determines whether the given vertex shares an edge with a vertex in the current face.
[in]  index  Index of the vertex to be tested for 
[out]  ReturnStatus  Status code 
MStatus numConnectedFaces  (  int &  faceCount  )  const 
This method checks for the number of connected faces.
[out]  faceCount  Storage for the face count 
MStatus numConnectedEdges  (  int &  edgeCount  )  const 
This method checks for the number of connected edges on the vertices of this face.
[out]  edgeCount  Storage for the edge count 
bool onBoundary  (  MStatus *  ReturnStatus = NULL  ) 
This method determines whether the current face is on a boundary.
[out]  ReturnStatus  Status code 
MStatus getArea  (  double &  area, 
MSpace::Space  space = MSpace::kObject 

) 
This method gets the area of the face.
[out]  area  The area 
[in]  space  World Space or Object Space 
bool zeroArea  (  MStatus *  ReturnStatus = NULL  ) 
This method checks if its a zero area face.
[out]  ReturnStatus  Status code 
This method gets the UV area of the face.
[out]  area  The uv area 
[in]  uvSet  UV set to work with 
bool zeroUVArea  (  MStatus *  ReturnStatus = NULL  ) 
This method checks if the UV area of the face is zero.
[out]  ReturnStatus  Status code 
This method checks if the UV area of the face is zero.
[in]  uvSet  UV set to work with 
[out]  ReturnStatus  Status code 
bool isConvex  (  MStatus *  ReturnStatus = NULL  ) 
This method checks if the face is convex.
[out]  ReturnStatus  Status code 
bool isStarlike  (  MStatus *  ReturnStatus = NULL  ) 
This method checks if the face is starlike.
That is, a line from the centre to any vertex lies entirely within the face.
[out]  ReturnStatus  Status code 
bool isLamina  (  MStatus *  ReturnStatus = NULL  ) 
This method checks if the face is a lamina (the face is folded over onto itself).
[out]  ReturnStatus  Status code 
bool isHoled  (  MStatus *  ReturnStatus = NULL  ) 
This method checks if the face has any holes.
[out]  ReturnStatus  Status code 
bool isPlanar  (  MStatus *  ReturnStatus = NULL  ) 
This method checks if the face is planar.
[out]  ReturnStatus  Status code 
This method checks if the winding order of UV's for this face are reversed (clockwise), or not (counter clockwise)
[in]  uvSet  UV set to work with 
[out]  ReturnStatus  Status code 

static 
Returns the name of this class.