- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions

# MItMeshPolygon Class Reference

# OpenMaya - API module for common classes

Search for all occurrences

## Detailed Description

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.

Examples:

  cleanPerFaceAssignmentCmd.cpp, convertEdgesToFacesCmd.cpp, convertVerticesToFacesCmd.cpp, cvColorShader.cpp, findTexturesPerPolygonCmd.cpp, getPointAndNormal.cpp, lassoTool.cpp, meshMapUtils.cpp, meshOpFtyAction.cpp, meshRemapCmd.cpp, meshRemapTool.cpp, meshReorderCmd.cpp, narrowPolyViewer.cpp, objExport.cpp, peltOverlapCmd.cpp, polyWriter.cpp, splitUVCmd.cpp, and splitUVFtyAction.cpp.

`#include <MItMeshPolygon.h>`

List of all members.

## Public Member Functions
| MItMeshPolygon (const MObject &polyObject, MStatus *ReturnStatus=NULL)
| Constructor.
| MItMeshPolygon (const MDagPath &polyObject, MObject &component=MObject::kNullObj, MStatus *ReturnStatus=NULL)
| Constructor.
virtual | ~MItMeshPolygon ()
| Destructor.
bool | isDone (MStatus *ReturnStatus=NULL)
| Indicates if all of the polygons have been traversed yet.
MStatus | next ()
| Advance to the next polygon in the iteration.
MStatus | reset ()
| Reset the iterator to the first polygon.
MStatus | reset (const MObject &polyObject)
| Reset the iterator to the first polygon in the supplied surface.
MStatus | reset (const MDagPath &polyObject, MObject &component=MObject::kNullObj)
| Reset the iterator with the given surface and component.
unsigned int | count (MStatus *ReturnStatus=NULL)
| Return the number of polygons in the iteration.
unsigned int | polygonVertexCount (MStatus *ReturnStatus=NULL)
| Return the number of vertices for the current polygon.
MPoint | center (MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL)
| Return the position of the center of the current polygon.
MObject | polygon (MStatus *ReturnStatus=NULL)
| This method is obsolete.
MObject | currentItem (MStatus *ReturnStatus=NULL)
| Get the current polygon in the iteration as a component.
unsigned int | index (MStatus *ReturnStatus=NULL)
| Returns the index of the current polygon.
MStatus | setIndex (int index, int &prevIndex)
| This method sets the index of the current face to be accessed.
unsigned int | vertexIndex (int index, MStatus *ReturnStatus=NULL)
| Returns the object-relative index of the specified vertex of the current polygon.
MStatus | getVertices (MIntArray &vertices)
| This method gets the indices of the vertices of the current face.
MPoint | point (int index, MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL)
| Return the position of the vertex at index in the current polygon.
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.
MStatus | setPoint (const MPoint &point, unsigned int index, MSpace::Space space=MSpace::kObject)
| Set the vertex at the given index in the current polygon.
MStatus | setPoints (MPointArray &pointArray, MSpace::Space space=MSpace::kObject)
| Sets new locations for vertices of the current polygon that the iterator is pointing to.
unsigned int | normalIndex (int vertex, MStatus *ReturnStatus=NULL) const
| Returns the normal index for the specified vertex.
MStatus | getNormal (MVector &normal, MSpace::Space space=MSpace::kObject) const
| Return the face normal of the current polygon.
MStatus | getNormal (unsigned int Vertexindex, MVector &normal, MSpace::Space space=MSpace::kObject) const
| Returns the vertex-face normal for the vertex in the current polygon.
MStatus | getNormals (MVectorArray &vectorArray, MSpace::Space space=MSpace::kObject) const
| Returns the normals for all vertices in the current face.
unsigned int | tangentIndex (int vertex, MStatus *ReturnStatus=NULL) const
| Returns the tangent (or binormal) index for the specified vertex.
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).
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).
MStatus | setUV (int vertexId, float2 &uvPoint, const MString *uvSet=NULL)
| Modify the UV value for the given vertex in the current face.
MStatus | getUV (int vertexId, float2 &uvPoint, const MString *uvSet=NULL) const
| Return the texture coordinate for the given vertex.
MStatus | setUVs (MFloatArray &uArray, MFloatArray &vArray, const MString *uvSet=NULL)
| Modify the UV value for all vertices in the current face.
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).
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.
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.
MStatus | getUVIndex (int vertex, int &index, const MString *uvSet=NULL)
| Returns the index of the texture coordinate for the given vertex.
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.
MStatus | getUVSetNames (MStringArray &setNames) const
| This method is used to find the UV set names mapped to the current face.
bool | hasColor (MStatus *ReturnStatus=NULL) const
| This method determines whether the current face has color-per-vertex set for any vertex.
bool | hasColor (int localVertexIndex, MStatus *ReturnStatus=NULL)
| This method determines whether the current face has color-per-vertex set for the given vertex.
MStatus | getColor (MColor &color, const MString *colorSetName=NULL)
| This method gets the average color of the all the vertices in this face.
MStatus | getColor (MColor &color, int vertexIndex)
| This method gets the color of the specifed vertex in this face.
MStatus | getColors (MColorArray &colors, const MString *colorSetName=NULL)
| This method gets the color of the each vertex in the current face.
MStatus | numColors (int &count, const MString *colorSetName=NULL)
| This method checks for the number of colors on vertices in this face.
MStatus | getColorIndex (int vertexIndex, int &colorIndex, const MString *colorSetName=NULL)
| This method returns the colorIndex for a vertex of the current face.
MStatus | getColorIndices (MIntArray &colorIndex, const MString *colorSetName=NULL)
| This method returns the colorIndices for each vertex on the face.
bool | hasValidTriangulation (MStatus *ReturnStatus=NULL) const
| This method checks if the face has a valid triangulation.
MStatus | numTriangles (int &count) const
| This Method checks for the number of triangles in this face in the current triangulation.
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.
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.
MStatus | updateSurface ()
| Signal that this polygonal surface has changed and needs to redraw itself.
MStatus | geomChanged ()
| Reset the geom pointer in the MItMeshPolygon.
MStatus | getEdges (MIntArray &edges)
| This method gets the indices of the edges contained in the current face.
MStatus | getConnectedFaces (MIntArray &faces)
| This method gets the indices of the faces connected to the current face.
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.
MStatus | getConnectedVertices (MIntArray &vertices)
| This method gets the object-relative indices of the vertices surrounding the vertices of the current face, but does not include the vertices of the current face.
bool | isConnectedToFace (int index, MStatus *ReturnStatus=NULL)
| This method determines whether the given face is adjacent to the current face.
bool | isConnectedToEdge (int index, MStatus *ReturnStatus=NULL)
| This method determines whether the given edge is connected to a vertex in the current face.
bool | isConnectedToVertex (int index, MStatus *ReturnStatus=NULL)
| This method determines whether the given vertex shares an edge with a vertex in the current face.
MStatus | numConnectedFaces (int &faceCount) const
| This method checks for the number of connected faces.
MStatus | numConnectedEdges (int &edgeCount) const
| This method checks for the number of connected edges on the vertices of this face.
bool | onBoundary (MStatus *ReturnStatus=NULL)
| This method determines whether the current face is on a boundary.
MStatus | getArea (double &area, MSpace::Space space=MSpace::kObject)
| This method gets the area of the face.
bool | zeroArea (MStatus *ReturnStatus=NULL)
| This method checks if its a zero area face.
MStatus | getUVArea (double &area, const MString *uvSet=NULL)
| This method gets the UV area of the face.
bool | zeroUVArea (MStatus *ReturnStatus=NULL)
| This method checks if the UV area of the face is zero.
bool | zeroUVArea (const MString &uvSet, MStatus *ReturnStatus=NULL)
| This method checks if the UV area of the face is zero.
bool | isConvex (MStatus *ReturnStatus=NULL)
| This method checks if the face is convex.
bool | isStarlike (MStatus *ReturnStatus=NULL)
| This method checks if the face is starlike.
bool | isLamina (MStatus *ReturnStatus=NULL)
| This method checks if the face is a lamina (the face is folded over onto itself).
bool | isHoled (MStatus *ReturnStatus=NULL)
| This method checks if the face has any holes.
bool | isPlanar (MStatus *ReturnStatus=NULL)
| This method checks if the face is planar.
## Static Public Member Functions
static const char * | className ()
| Returns the name of this class.

## Constructor & Destructor Documentation

MItMeshPolygon | ( | const MObject & | polyObject,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Constructor.

Creates an iterator for all polygons of the given surface.

Parameters:

  [in] | polyObject | The surface to iterate over
  [out] | ReturnStatus | Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

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.

Parameters:

  [in] | polyObject | The surface (mesh) to iterate over
  [in] | component | The polygons of the polyObject to iterate over
  [out] | ReturnStatus | Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

~MItMeshPolygon | ( |  | ) | `[virtual]`

Destructor.

Frees up storage used by the iterator.

## Member Function Documentation

bool isDone | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

Indicates if all of the polygons have been traversed yet.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if all polygons have been traversed, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

Examples:
  cleanPerFaceAssignmentCmd.cpp, and splitUVFtyAction.cpp.

MStatus next | ( |  | ) |

Search for all occurrences

Advance to the next polygon in the iteration.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

Examples:
  cleanPerFaceAssignmentCmd.cpp, meshRemapCmd.cpp, meshReorderCmd.cpp, and splitUVFtyAction.cpp.

MStatus reset | ( |  | ) |

Search for all occurrences

Reset the iterator to the first polygon.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

Examples:
  cleanPerFaceAssignmentCmd.cpp, getPointAndNormal.cpp, and splitUVFtyAction.cpp.

MStatus reset | ( | const MObject & | polyObject | ) |

Search for all occurrences

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

Parameters:

  [in] | polyObject | The polygon for the iteration

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus reset | ( | const MDagPath & | polyObject,
|  | MObject & | component = `MObject::kNullObj`
| ) |  |

Search for all occurrences

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.

Parameters:

  [in] | polyObject | The surface (mesh) to iterate over
  [in] | component | The polygons (faces) of the polyObject to iterate over

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

unsigned int count | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

Return the number of polygons in the iteration.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  The number of polygons in the iteration

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

Examples:
  cleanPerFaceAssignmentCmd.cpp.

unsigned int polygonVertexCount | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

Return the number of vertices for the current polygon.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  The number of vertices for the current polygon

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

Examples:
  splitUVFtyAction.cpp.

MPoint center | ( | MSpace::Space | space = `MSpace::kObject`,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

Return the position of the center of the current polygon.

Parameters:

  [in] | space | The coordinate system for this operation
  [out] | ReturnStatus | Status code

Returns:
  The center of the current polygon

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MObject polygon | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method is obsolete.

Deprecated:
  Use the MItMeshPolygon::currentItem method.

Get the current polygon in the iteration as a component.

Components are used to specify one or more polygons and are usefull in operating on groups of non-contiguous 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.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  The current polygon in the interation

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kInsufficientMemory No memory available.
  - MS::kFailure An object error has occurred.

MObject currentItem | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

Get the current polygon in the iteration as a component.

Components are used to specify one or more polygons and are usefull in operating on groups of non-contiguous 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.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  The current polygon in the interation

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kInsufficientMemory No memory available.
  - MS::kFailure An object error has occurred.

unsigned int index | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

Returns the index of the current polygon.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  The index of the current polygon

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

Examples:
  cleanPerFaceAssignmentCmd.cpp, meshReorderCmd.cpp, and splitUVFtyAction.cpp.

MStatus setIndex | ( | int | index,
|  | int & | prevIndex
| ) |  |

Search for all occurrences

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.

Parameters:

  [in] | index | The index of desired face to access.
  [in] | prevIndex | The index of the current face in the iteration

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

Examples:
  getPointAndNormal.cpp.

unsigned int vertexIndex | ( | int | index,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

Returns the object-relative 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.

Parameters:

  [in] | index | The face-relative index of the vertex in the polygon
  [out] | ReturnStatus | Status code

Returns:
  The index in the polygon array of the given vertex

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

Examples:
  meshReorderCmd.cpp.

MStatus getVertices | ( | MIntArray & | vertices | ) |

Search for all occurrences

This method gets the indices of the vertices of the current face.

Parameters:

  [out] | vertices | An array to place all the vertex indices into

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MPoint point | ( | int | index,
|  | MSpace::Space | space = `MSpace::kObject`,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

Return the position of the vertex at index in the current polygon.

Parameters:

  [in] | index | The face-relative index of the vertex in the current polygon
  [in] | space | The coordinate system for this operation
  [out] | ReturnStatus | Status code

Returns:
  The vertex position

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

void getPoints | ( | MPointArray & | pointArray,
|  | MSpace::Space | space = `MSpace::kObject`,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

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 face-relative 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.

Parameters:

  [out] | pointArray | The array where the vertex positions will be stored
  [in] | space | The coordinate system for this operation
  [out] | ReturnStatus | Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus setPoint | ( | const MPoint & | point,
|  | unsigned int | index,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  |

Search for all occurrences

Set the vertex at the given index in the current polygon.

Parameters:

  [in] | point | The new position for the vertex
  [in] | index | The face-relative index of the vertex in the current polygon
  [in] | space | The coordinate system for this operation

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus setPoints | ( | MPointArray & | pointArray,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  |

Search for all occurrences

Sets new locations for vertices of the current polygon that the iterator is pointing to.

Parameters:

  [in] | pointArray | The new positions for the vertices.
  [in] | space | The coordinate system for this operation.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

unsigned int normalIndex | ( | int | localVertexIndex,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  | const

Search for all occurrences

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:

  [in] | localVertexIndex | The face-relative index of the vertex to examine for the current polygon
  [out] | ReturnStatus | Status code

Returns:
  The index of the normal for the specified vertex

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getNormal | ( | MVector & | normal,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  | const

Search for all occurrences

Return the face normal of the current polygon.

Parameters:

  [out] | normal | Storage for the normal
  [in] | space | The transformation space

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Unable to do world space transfromation.

MStatus getNormal | ( | unsigned int | index,
|  | MVector & | normal,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  | const

Search for all occurrences

Returns the vertex-face normal for the vertex in the current polygon.

Parameters:

  [in] | index | face-relative vertex index of the vertex whose normal to retrieve
  [out] | normal | Storage for the normal
  [in] | space | The transformation space

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Unable to do world space transfromation.

MStatus getNormals | ( | MVectorArray & | normalArray,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  | const

Search for all occurrences

Returns the normals for all vertices in the current face.

Parameters:

  [out] | normalArray | Storage for the normals
  [in] | space | The transformation space

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Unable to do world space transfromation.

unsigned int tangentIndex | ( | int | localVertexIndex,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  | const

Search for all occurrences

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:

  [in] | localVertexIndex | The face-relative index of the vertex to examine for the current polygon
  [out] | ReturnStatus | Status code

Returns:
  The index of the tangent for the specified vertex

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool hasUVs | ( | MStatus * | ReturnStatus = `NULL` | ) | const

Search for all occurrences

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).

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if the face has UV's mapped, false otherwise

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

Examples:
  splitUVFtyAction.cpp.

bool hasUVs | ( | const MString & | uvSet,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  | const

Search for all occurrences

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).

Parameters:

  [in] | uvSet | UV set to work with
  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if the face has UV's mapped, false otherwise

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus setUV | ( | int | vertexId,
|  | float2 & | uvPoint,
|  | const MString * | uvSet = `NULL`
| ) |  |

Search for all occurrences

Modify the UV value for the given vertex in the current face.

If the face is not already mapped, this method will fail.

Parameters:

  [in] | vertexId | face-relative index of the vertex to set UV for.
  [in] | uvPoint | The UV values to set it to
  [in] | uvSet | UV set to work with

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus getUV | ( | int | vertex,
|  | float2 & | uvPoint,
|  | const MString * | uvSet = `NULL`
| ) |  | const

Search for all occurrences

Return the texture coordinate for the given vertex.

Parameters:

  [in] | vertex | The face-relative vertex index to get UV for
  [out] | uvPoint | Storage for u and v values
  [in] | uvSet | UV set to work with

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid vertex index given. The vertex index must be less than polygonVertexCount() and must also be mapped by the specified uvSet.

MStatus setUVs | ( | MFloatArray & | uArray,
|  | MFloatArray & | vArray,
|  | const MString * | uvSet = `NULL`
| ) |  |

Search for all occurrences

Modify the UV value for all vertices in the current face.

If the face has not already been mapped, this method will fail.

Parameters:

  [in] | uArray | All the U values - in local face order
  [in] | vArray | The corresponding V values
  [in] | uvSet | UV set to work with

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus getUVs | ( | MFloatArray & | uArray,
|  | MFloatArray & | vArray,
|  | const MString * | uvSet = `NULL`
| ) |  | const

Search for all occurrences

Return the all the texture coordinates for the vertices of this face (in local vertex order).

Parameters:

  [out] | uArray | Storage for u values
  [out] | vArray | Storage for v values
  [in] | uvSet | UV set to work with

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid vertex index given. The vertex index must be less than polygonVertexCount() and must also be mapped by the specified uvSet.

Examples:
  getPointAndNormal.cpp.

MStatus getPointAtUV | ( | MPoint & | pt,
|  | float2 & | uvPoint,
|  | MSpace::Space | space = `MSpace::kObject`,
|  | const MString * | uvSet = `NULL`,
|  | float | tolerance = `0.0`
| ) |  |

Search for all occurrences

Return the position of the point at the given UV value in the current polygon.

Parameters:

  [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

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

Examples:
  getPointAndNormal.cpp.

MStatus getUVAtPoint | ( | MPoint & | pt,
|  | float2 & | uvPoint,
|  | MSpace::Space | space = `MSpace::kObject`,
|  | const MString * | uvSet = `NULL`
| ) |  |

Search for all occurrences

Find the point closest to the given point in the current polygon, and return the UV value at that point.

Parameters:

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

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus getUVIndex | ( | int | vertex,
|  | int & | index,
|  | const MString * | uvSet = `NULL`
| ) |  |

Search for all occurrences

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.

Parameters:

  [in] | vertex | The face-relative 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

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter An invalid vertex index given. The vertex index must be less than polygonVertexCount() and must also be mapped by the specified uvSet.

Examples:
  splitUVFtyAction.cpp.

MStatus getUVIndex | ( | int | vertex,
|  | int & | index,
|  | float & | u,
|  | float & | v,
|  | const MString * | uvSet = `NULL`
| ) |  |

Search for all occurrences

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.

Parameters:

  [in] | vertex | The face-relative 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

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter An invalid vertex index given. The vertex index must be less than polygonVertexCount() and must also be mapped by the specified uvSet.

MStatus getUVSetNames | ( | MStringArray & | setNames | ) | const

Search for all occurrences

This method is used to find the UV set names mapped to the current face.

Parameters:

  [out] | setNames | The string array to return the UV sets names in

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred or an internal error.

bool hasColor | ( | MStatus * | ReturnStatus = `NULL` | ) | const

Search for all occurrences

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

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if at least one vertex has color, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool hasColor | ( | int | vertexIndex,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

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

Parameters:

  [in] | vertexIndex | face-relative vertex index to check for color on
  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if the given vertex has color, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getColor | ( | MColor & | color,
|  | const MString * | colorSetName = `NULL`
| ) |  |

Search for all occurrences

This method gets the average color of the all the vertices in this face.

Parameters:

  [out] | color | The average color
  [in] | colorSetName | Name of the color set.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getColor | ( | MColor & | color,
|  | int | index
| ) |  |

Search for all occurrences

This method gets the color of the specifed vertex in this face.

Parameters:

  [out] | color | The color to get
  [in] | index | The face-relative vertex index on this face

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getColors | ( | MColorArray & | colors,
|  | const MString * | colorSetName = `NULL`
| ) |  |

Search for all occurrences

This method gets the color of the each vertex in the current face.

Parameters:

  [out] | colors | Storage for the colors of the vertice in this face
  [in] | colorSetName | Name of the color set.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus numColors | ( | int & | colorCount,
|  | const MString * | colorSetName = `NULL`
| ) |  |

Search for all occurrences

This method checks for the number of colors on vertices in this face.

Parameters:

  [out] | colorCount | Storage for the color count
  [in] | colorSetName | Name of the color set.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus getColorIndex | ( | int | vertexIndex,
|  | int & | colorIndex,
|  | const MString * | colorSetName = `NULL`
| ) |  |

Search for all occurrences

This method returns the colorIndex for a vertex of the current face.

Parameters:

  [in] | vertexIndex | Face-relative index of vertex.
  [out] | colorIndex | Color index filled in this function.
  [in] | colorSetName | Name of the color set.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus getColorIndices | ( | MIntArray & | colorIndices,
|  | const MString * | colorSetName = `NULL`
| ) |  |

Search for all occurrences

This method returns the colorIndices for each vertex on the face.

Parameters:

  [out] | colorIndices | Color index filled in this function.
  [in] | colorSetName | Name of the color set.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

bool hasValidTriangulation | ( | MStatus * | ReturnStatus = `NULL` | ) | const

Search for all occurrences

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.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true the face has a valid triangulation false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus numTriangles | ( | int & | triCount | ) | const

Search for all occurrences

This Method checks for the number of triangles in this face in the current triangulation.

Parameters:

  [out] | triCount | Storage for the triangle count

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus getTriangle | ( | int | localTriIndex,
|  | MPointArray & | points,
|  | MIntArray & | vertexList,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  | const

Search for all occurrences

Get the vertices and vertex positions of the given triangle in the current face's triangulation.

Parameters:

  [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

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus getTriangles | ( | MPointArray & | points,
|  | MIntArray & | vertexList,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  | const

Search for all occurrences

Get the vertices and vertex positions of all the triangles in the current face's triangulation.

Parameters:

  [out] | points | Storage for all the vertex points
  [out] | vertexList | Storage for all the vertex indices
  [in] | space | World Space or Object Space

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus updateSurface | ( |  | ) |

Search for all occurrences

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

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus geomChanged | ( |  | ) |

Search for all occurrences

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

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus getEdges | ( | MIntArray & | edges | ) |

Search for all occurrences

This method gets the indices of the edges contained in the current face.

Parameters:

  [out] | edges | An array to place all the edge indices into

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getConnectedFaces | ( | MIntArray & | faces | ) |

Search for all occurrences

This method gets the indices of the faces connected to the current face.

Parameters:

  [out] | faces | An array to place all the face indices into

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getConnectedEdges | ( | MIntArray & | edges | ) |

Search for all occurrences

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.

Parameters:

  [out] | edges | An array to place all the edge indices into

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getConnectedVertices | ( | MIntArray & | vertices | ) |

Search for all occurrences

This method gets the object-relative indices of the vertices surrounding the vertices of the current face, but does not include the vertices of the current face.

Parameters:

  [out] | vertices | An array to stuff all the vertex indices into

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool isConnectedToFace | ( | int | index,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

This method determines whether the given face is adjacent to the current face.

Parameters:

  [in] | index | Index of the face to be tested for
  [out] | ReturnStatus | Status code

Returns:
  true if connected, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool isConnectedToEdge | ( | int | index,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

This method determines whether the given edge is connected to a vertex in the current face.

Parameters:

  [in] | index | Index of the edge to be tested for
  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if connected, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool isConnectedToVertex | ( | int | index,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

This method determines whether the given vertex shares an edge with a vertex in the current face.

Parameters:

  [in] | index | Index of the vertex to be tested for
  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if connected, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus numConnectedFaces | ( | int & | faceCount | ) | const

Search for all occurrences

This method checks for the number of connected faces.

Parameters:

  [out] | faceCount | Storage for the face count

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus numConnectedEdges | ( | int & | edgeCount | ) | const

Search for all occurrences

This method checks for the number of connected edges on the vertices of this face.

Parameters:

  [out] | edgeCount | Storage for the edge count

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

bool onBoundary | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method determines whether the current face is on a boundary.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if on a boundary, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getArea | ( | double & | area,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  |

Search for all occurrences

This method gets the area of the face.

Parameters:

  [out] | area | The area
  [in] | space | World Space or Object Space

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool zeroArea | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method checks if its a zero area face.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if the face has zero area, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getUVArea | ( | double & | area,
|  | const MString * | uvSet = `NULL`
| ) |  |

Search for all occurrences

This method gets the UV area of the face.

Parameters:

  [out] | area | The uv area
  [in] | uvSet | UV set to work with

Returns:
  Status code

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool zeroUVArea | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method checks if the UV area of the face is zero.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if the face has zero UV area, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool zeroUVArea | ( | const MString & | uvSet,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

This method checks if the UV area of the face is zero.

Parameters:

  [in] | uvSet | UV set to work with
  [out] | ReturnStatus | Status code

Returns:
  - true if the face has zero UV area
  - false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool isConvex | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method checks if the face is convex.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if the face is convex, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool isStarlike | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method checks if the face is starlike.

That is, a line from the centre to any vertex lies entirely within the face.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if the face is starlike, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool isLamina | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method checks if the face is a lamina (the face is folded over onto itself).

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true if the face is a lamina, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool isHoled | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method checks if the face has any holes.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true the face has one or more holes, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

bool isPlanar | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

This method checks if the face is planar.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true the face is planar, false otherwise.

Status Codes:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

const char * className | ( |  | ) | `[static]`

Search for all occurrences

Returns the name of this class.

Returns:
  The name of this class.

MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon
MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon MItMeshPolygon