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

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions

# MItMeshEdge Class Reference
OpenMaya - API module for common classes

This reference page is linked to from the following overview topics: The five basic polygonal API classes, Appendix C: Frequently asked questions.

Search for all occurrences

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

Examples:

  convertEdgesToFacesCmd.cpp, convertVerticesToEdgesCmd.cpp, lassoTool.cpp, meshMapUtils.cpp, meshOpFtyAction.cpp, and objExport.cpp.

`#include <MItMeshEdge.h>`

List of all members.

## Public Member Functions
| MItMeshEdge (MObject &polyObject, MStatus *ReturnStatus=NULL)
| Constructor.
| MItMeshEdge (MObject &polyObject, MObject &component, MStatus *ReturnStatus=NULL)
| Constructor.
| MItMeshEdge (const MDagPath &polyObject, MObject &component=MObject::kNullObj, MStatus *ReturnStatus=NULL)
| Constructor.
virtual | ~MItMeshEdge ()
| Destructor.
bool | isDone (MStatus *ReturnStatus=NULL)
| Indicates if all of the edges have been traversed yet.
MStatus | next ()
| Advance to the next edge in the iteration.
MStatus | reset ()
| Reset the iterator to the first edge.
MStatus | reset (MObject &polyObject, MObject &component=MObject::kNullObj)
| Reset the iterator to the first edge in the supplied mesh.
MStatus | reset (const MDagPath &polyObject, MObject &component=MObject::kNullObj)
| Reset the iterator to the first edge in the supplied mesh.
int | count (MStatus *ReturnStatus=NULL)
| Return the number of edges in this iteration.
MPoint | center (MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL)
| Returns the center of the current edge.
MPoint | point (int index, MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL)
| Return the position of the specified vertex of the current edge.
MStatus | setPoint (const MPoint &point, unsigned int index, MSpace::Space space=MSpace::kObject)
| Set the specified vertex of the current edge to the given value.
bool | isSmooth (MStatus *ReturnStatus=NULL) const
| This method determines if the current edge in the iteration is smooth (soft).
MStatus | setSmoothing (bool smooth=true)
| This method sets the current edge to be hard or smooth (soft).
MStatus | cleanupSmoothing ()
| This method is obsolete.
int | index (int index, MStatus *ReturnStatus=NULL)
| This method returns a vertex index for the current edge based upon the specified index.
int | index (MStatus *ReturnStatus=NULL) const
| This method returns the index of the current edge in the iteration.
MObject | edge (MStatus *ReturnStatus=NULL)
| This method is obsolete.
MObject | currentItem (MStatus *ReturnStatus=NULL)
| Get the current edge in the iteration as a component.
MStatus | updateSurface ()
| Signal that this polygonal surface has changed and needs to redraw itself.
MStatus | geomChanged ()
| Reset the geom pointer in the MItMeshEdge.
MStatus | setIndex (int index, int &prevIndex)
| This method sets the index of the current edge to be accessed.
int | getConnectedFaces (MIntArray &faceList, MStatus *ReturnStatus=NULL) const
| This method returns an array containing the indices of the faces connected to the current edge.
int | getConnectedEdges (MIntArray &edgeList, MStatus *ReturnStatus=NULL) const
| This method returns a list of edges connected to the current edge.
MStatus | numConnectedFaces (int &faceCount) const
| This method returns the number of faces (1 or 2 ) connected to the current edge.
MStatus | numConnectedEdges (int &edgeCount) const
| This method returns the number of edges connected to the current edge.
bool | connectedToFace (int index, MStatus *ReturnStatus=NULL)
| This method determines whether the given face contains the current edge.
bool | connectedToEdge (int index, MStatus *ReturnStatus=NULL)
| This method determines whether the given edge is connected to the current edge.
bool | onBoundary (MStatus *ReturnStatus=NULL)
| This method checks to see if the current edge is a border edge.
MStatus | getLength (double &length, MSpace::Space space=MSpace::kObject)
| This method returns the length of the current edge.
## Static Public Member Functions
static const char * | className ()
| Returns the name of this class.

## Constructor & Destructor Documentation

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MItMeshEdge | ( | MObject & | polyObject,
|  | MObject & | component,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MItMeshEdge | ( | const MDagPath & | polyObject,
|  | MObject & | component = `MObject::kNullObj`,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

~MItMeshEdge | ( |  | ) | `[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 edges have been traversed yet.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  Boolean value: true All edges have been traversed, false otherwise.

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

Examples:
  convertEdgesToFacesCmd.cpp.

MStatus next | ( |  | ) |

Search for all occurrences

Advance to the next edge in the iteration.

Returns:
  Status code

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

MStatus reset | ( |  | ) |

Search for all occurrences

Reset the iterator to the first edge.

Returns:
  Status code

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

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

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid object given.
  - MS::kInsufficientMemory Memory error.

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

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid object given.

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

Search for all occurrences

Return the number of edges in this iteration.

Parameters:

  [out] | ReturnStatus | Status code

Returns:
  The number of edges in the iteration

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

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

Search for all occurrences

Returns the center of the current edge.

Parameters:

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

Returns:
  The center of the current edge

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

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

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

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

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

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

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus setSmoothing | ( | bool | smooth = `true` | ) |

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

MStatus cleanupSmoothing | ( |  | ) |

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

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

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

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

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

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

Search for all occurrences

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:
  - 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 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:
  - MS::kSuccess The method was successful.
  - MS::kInsufficientMemory No memory available.
  - 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 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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.

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

Search for all occurrences

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.

Parameters:

  [in] | index | The index of desired edge to access.
  [out] | prevIndex | Index of the edge which was current before the change.

Returns:
  The index of the current edge in the iteration

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

int getConnectedFaces | ( | MIntArray & | faces,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  | const

Search for all occurrences

This method returns an array containing the indices of the faces connected to the current edge.

Normally a boundary edge will only have one face connected to it and an internal edge will have two, but if the mesh has manifold geometry then the edge may have three or more faces connected to it.

Parameters:

  [out] | faces | Array of face indices.
  [out] | ReturnStatus | Status code

Returns:
  Number of connected faces

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

int getConnectedEdges | ( | MIntArray & | edges,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  | const

Search for all occurrences

This method returns a list of edges connected to the current edge.

Parameters:

  [out] | edges | Array of edge indices.
  [out] | ReturnStatus | Status code

Returns:
  Number of connected edges

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 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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

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

Search for all occurrences

This method returns the number of edges connected to the current edge.

Parameters:

  [out] | edgeCount | Number of connected edges.

Returns:
  Status code

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

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

Search for all occurrences

This method determines whether the given face contains the current edge.

Parameters:

  [in] | index | Index of face to check.
  [out] | ReturnStatus | Status code

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

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

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

Search for all occurrences

This method determines whether the given edge is connected to the current edge.

Parameters:

  [in] | index | Index of edge to check.
  [in] | ReturnStatus | Status code

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

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

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

Search for all occurrences

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:
  - MS::kSuccess The method was successful.
  - MS::kFailure An object error has occurred.
  - MS::kInvalidParameter Invalid index given.

MStatus getLength | ( | double & | length,
|  | MSpace::Space | space = `MSpace::kObject`
| ) |  |

Search for all occurrences

This method returns the length of the current edge.

Parameters:

  [in] | length | length of edge
  [in] | space | Coordinate space in which to perform the operation.

Returns:
  Status code

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

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

Search for all occurrences

Returns the name of this class.

Returns:
  The name of this class.

MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge
MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge MItMeshEdge