#include
<MItMeshEdge.h>
List of all
members.
Detailed Description
Polygon edge iterator.
This class is the edge iterator for 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 edges for the polygon. When a
component is given this iterator will iterate over the edges
specified in the component. When iterating over components a DAG
path to the polygon must also be supplied.
|
Public Member Functions
|
|
MItMeshEdge
(MObject
&polyObject, MStatus *ReturnStatus=NULL) |
|
MItMeshEdge
(MObject
&polyObject, MObject &component, MStatus *ReturnStatus=NULL) |
|
MItMeshEdge
(const MDagPath
&polyObject, MObject &component=MObject::kNullObj,
MStatus
*ReturnStatus=NULL) |
virtual |
~MItMeshEdge
() |
bool |
isDone
(MStatus
*ReturnStatus=NULL) |
MStatus |
next
() |
MStatus |
reset
() |
MStatus |
reset
(MObject
&polyObject, MObject &component=MObject::kNullObj) |
MStatus |
reset
(const MDagPath
&polyObject, MObject &component=MObject::kNullObj) |
int |
count
(MStatus
*ReturnStatus=NULL) |
MPoint |
center
(MSpace::Space
space=MSpace::kObject, MStatus *ReturnStatus=NULL) |
MPoint |
point
(int index, MSpace::Space
space=MSpace::kObject, MStatus *ReturnStatus=NULL) |
MStatus |
setPoint
(const MPoint
&point, unsigned int index, MSpace::Space
space=MSpace::kObject) |
bool |
isSmooth
(MStatus
*ReturnStatus=NULL) const |
MStatus |
setSmoothing
(bool smooth=true) |
MStatus |
cleanupSmoothing
() |
|
This method is obsolete.
|
int |
index
(int index, MStatus
*ReturnStatus=NULL) |
int |
index
(MStatus
*ReturnStatus=NULL) const |
MObject |
edge
(MStatus
*ReturnStatus=NULL) |
|
This method is obsolete.
|
MObject |
currentItem
(MStatus
*ReturnStatus=NULL) |
MStatus |
updateSurface
() |
MStatus |
geomChanged
() |
MStatus |
setIndex
(int index, int &prevIndex) |
int |
getConnectedFaces
(MIntArray
&faceList, MStatus
*ReturnStatus=NULL) const |
int |
getConnectedEdges
(MIntArray
&edgeList, MStatus
*ReturnStatus=NULL) const |
MStatus |
numConnectedFaces
(int &faceCount) const |
MStatus |
numConnectedEdges
(int &edgeCount) const |
bool |
connectedToFace
(int index, MStatus
*ReturnStatus=NULL) |
bool |
connectedToEdge
(int index, MStatus
*ReturnStatus=NULL) |
bool |
onBoundary
(MStatus
*ReturnStatus=NULL) |
MStatus |
getLength
(double &length, MSpace::Space
space=MSpace::kObject) |
Constructor & Destructor Documentation
MItMeshEdge::MItMeshEdge |
( |
MObject & |
polyObject, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Constructor. Creates an iterator for all edges of the given
surface.
- Parameters:
-
[in] |
polyObject |
The surface to iterate over |
[out] |
ReturnStatus |
Status code |
- Status Codes:
-
Constructor. Creates an iterator for the edges of a given
surface. The returned edges are connected to the component object.
This component may be a vertex or a face or an edge component. If
no component is specified then the iteration will be for all edges
of the given polygon.
- Parameters:
-
[in] |
polyObject |
The surface to iterate over |
[in] |
component |
The component that determines which edges to iterate over |
[out] |
ReturnStatus |
Status code |
- Status Codes:
-
Constructor. Creates an iterator for the edges of a given
surface. The returned edges are connected to the component object.
This component may be a vertex or a face or an edge component. If
no component is specified then the iteration will be for all edges
of the given polygon.
- Parameters:
-
[in] |
polyObject |
The surface to iterate over |
[in] |
component |
The edges of the polyObject to iterate over |
[out] |
ReturnStatus |
Status code |
- Status Codes:
-
MItMeshEdge::~MItMeshEdge |
( |
|
) |
[virtual] |
Destructor. Frees up storage used by the iterator.
Member Function Documentation
bool MItMeshEdge::isDone |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Indicates if all of the edges have been traversed yet.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- Boolean value: true All edges have been traversed,
false otherwise.
- Status Codes:
-
Advance to the next edge in the iteration.
- Returns:
- Status code
- Status Codes:
-
Reset the iterator to the first edge.
- Returns:
- Status code
- Status Codes:
-
Reset the iterator to the first edge in the supplied mesh. Uses
the edges constrained by the given component. If component is null
then the iteration will be for all edges in the given polygon.
- Parameters:
-
[in] |
polyObject |
The mesh object for the iteration |
[in] |
component |
The constraint object. May be a vertex, a face or an edge
component |
- Returns:
- Status code
- Status Codes:
-
Reset the iterator to the first edge in the supplied mesh. Uses
the edges constrained by the given component. If component is null
then the iteration will be for all edges in the given polygon.
- Parameters:
-
[in] |
polyObject |
The surface to iterate over |
[in] |
component |
The constraint object. May be a vertex, a face or an edge
component |
- Returns:
- Status code
- Status Codes:
-
int MItMeshEdge::count |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Return the number of edges in this iteration.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- The number of edges in the iteration
- Status Codes:
-
Returns the center of the current edge.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- The center of the current edge
- Status Codes:
-
Return the position of the specified vertex of the current
edge.
- Parameters:
-
[in] |
index |
The vertex of the edge we wish to examine (0 or 1) |
[in] |
space |
The coordinate system for this operation |
[out] |
ReturnStatus |
Status code |
- Returns:
- The position of the edge vertex for the given index
- Status Codes:
-
Set the specified vertex of the current edge to the given
value.
- Parameters:
-
[in] |
point |
The new value for the edge |
[in] |
index |
The vertex index of the current edge we wish to set (0 or
1) |
[in] |
space |
The coordinate system for this operation |
- Returns:
- Status code
- Status Codes:
-
bool MItMeshEdge::isSmooth |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
This method determines if the current edge in the iteration is
smooth (soft).
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- Boolean value: true if the edge is smooth (soft),
false if the edge is hard.
- Status Codes:
-
MStatus MItMeshEdge::setSmoothing |
( |
bool |
smooth = true |
) |
|
This method sets the current edge to be hard or smooth (soft).
The cleanupSmoothing method is no longer required to be
called after setSmoothing in Maya3.0 and later versions.
- Parameters:
-
[in] |
smooth |
if true the edge will be smooth (soft), otherwise the edge will
be hard. |
- Returns:
- Status code
- Status Codes:
-
MStatus
MItMeshEdge::cleanupSmoothing |
( |
|
) |
|
This method is obsolete.
- Deprecated:
- This method is no longer required in Maya3.0 and later
versions. (In previous versions, this method was needed to clean up
the geometry after setSmoothing has been done on one or more
edges).
- Returns:
- Status code
- Status Codes:
-
int MItMeshEdge::index |
( |
int |
index, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
This method returns a vertex index for the current edge based
upon the specified index. The index can be either 0 or 1 since an
edge is made up of exactly two vertices.
- Parameters:
-
[in] |
index |
The vertex index in current edge (0 or 1) |
[out] |
ReturnStatus |
Status code |
- Returns:
- The index in the vertex list of the edge vertex requested
- Status Codes:
-
int MItMeshEdge::index |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
This method returns the index of the current edge in the
iteration.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- The index of the current edge in the iteration
- Status Codes:
-
This method is obsolete.
- Deprecated:
- Use the MItMeshEdge::currentItem
method.
Get the current edge in the iteration as a component.
Components are used to specify one or more edges and are usefull
in operating on groups of non-contiguous edges 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 edge in the interation
- Status Codes:
-
Get the current edge in the iteration as a component.
Components are used to specify one or more edges and are usefull
in operating on groups of non-contiguous edges 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 edge in the interation
- Status Codes:
-
MStatus MItMeshEdge::updateSurface |
( |
|
) |
|
Signal that this polygonal surface has changed and needs to
redraw itself.
- Returns:
- Status code
- Status Codes:
-
MStatus MItMeshEdge::geomChanged |
( |
|
) |
|
Reset the geom pointer in the MItMeshEdge. If you're using MFnMesh to update Normals or
Color per vertex while iterating, you must call geomChanged on the
iterator immediately after the MFnMesh call to make sure
that your geometry is up to date. A crash may result if this method
is not called.
- Returns:
- Status code
- Status Codes:
-
MStatus MItMeshEdge::setIndex |
( |
int |
index, |
|
|
int & |
prevIndex |
|
|
) |
|
|
|
This method sets the index of the current edge to be accessed.
The current edge will no longer be in sync with any previous
iteration. two vertices.
- Parameters:
-
[in] |
index |
The index of desired edge to access. |
- Returns:
- The index of the current edge in the iteration
- Status Codes:
-
int MItMeshEdge::getConnectedFaces |
( |
MIntArray & |
faces, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
const |
This method returns a list of faces (with 1 or 2 faces)
connected to teh current edge.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- Number of connected faces
- Status Codes:
-
int MItMeshEdge::getConnectedEdges |
( |
MIntArray & |
edges, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
const |
This method returns a list of edges connected to the current
edge.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- Number of connected edges
- Status Codes:
-
MStatus
MItMeshEdge::numConnectedFaces |
( |
int & |
faceCount |
) |
const |
This method returns the number of faces (1 or 2 ) connected to
the current edge.
- Parameters:
-
[in] |
faceCount |
Number of connected faces |
- Returns:
- Status code
- Status Codes:
-
MStatus
MItMeshEdge::numConnectedEdges |
( |
int & |
edgeCount |
) |
const |
This method returns the number of edges connected to the current
edge.
- Returns:
- Status code
- Status Codes:
-
bool MItMeshEdge::connectedToFace |
( |
int |
index, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
This method determines whether the given face contains the
current edge
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- Boolean value: true if contained, false
otherwise.
- Status Codes:
-
bool MItMeshEdge::connectedToEdge |
( |
int |
index, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
This method determines whether the given edge is connected to
the current edge
- Parameters:
-
[in] |
ReturnStatus |
Status code |
- Returns:
- Boolean value: true if contained, false
otherwise.
- Status Codes:
-
bool MItMeshEdge::onBoundary |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
This method checks to see if the current edge is a border
edge.
NOTE: it is possible to turn all edges into boundaries by
extracting faces. In this case, onBoundary()
will always return true even though it appears that there are
internal edges.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- Boolean value: true if it's a border edge, false
otherwise.
- Status Codes:
-
This method returns the length of the current edge.
- Parameters:
-
[in] |
length |
length of edge |
- Returns:
- Status code
- Status Codes:
-