#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:
-
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:
-
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:
-
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:
-
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:
-
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:
-
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.
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:
-
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 |
( |
|
) |
|
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:
-