MItCurveCV Class Reference
[OpenMaya - API module for common classes]

#include <MItCurveCV.h>

List of all members.


Detailed Description

Iterator for NURBS curve CVs.

This class is the iterator class for NURBS curve control vertices (CVs). The iteration can be for a given curve or for a group of CVs.

Example: Translates the CVs for a curve in the X direction (world space).

    MItCurveCV* cvIter = new MItCurveCV( curve, &stat );
    MVector vector(1.0,0.0,0.0);

    if ( MStatus::kSuccess == stat ) {
        for ( ; !cvIter->isDone(); cvIter->next() )
        {
            cvIter->translateBy( vector, MSpace::kWorld );
        }
        cvIter->updateCurve();  // Tell curve is has been changed
    }
    else {
        cerr << "Error creating iterator!" << endl;
    }
Examples:

cvPosCmd.cpp, lassoTool.cpp, moveCurveCVsCmd.cpp, moveTool.cpp, and translateCmd.cpp.


Public Member Functions

  MItCurveCV (MObject &curve, MStatus *ReturnStatus=NULL)
  MItCurveCV (const MDagPath &curve, MObject &component=MObject::kNullObj, MStatus *ReturnStatus=NULL)
virtual  ~MItCurveCV ()
bool  isDone (MStatus *ReturnStatus=NULL) const
MStatus  next ()
MStatus  reset ()
MStatus  reset (MObject &curve)
MStatus  reset (const MDagPath &curve, MObject &component=MObject::kNullObj)
MPoint  position (MSpace::Space space=MSpace::kObject, MStatus *ReturnStatus=NULL) const
MStatus  setPosition (const MPoint &pt, MSpace::Space space=MSpace::kObject)
MStatus  translateBy (const MVector &vec, MSpace::Space space=MSpace::kObject)
int  index (MStatus *ReturnStatus=NULL) const
MObject  cv (MStatus *ReturnStatus=NULL) const
  This method is obsolete.
MObject  currentItem (MStatus *ReturnStatus=NULL) const
bool  hasHistoryOnCreate (MStatus *ReturnStatus=NULL) const
MStatus  updateCurve ()

Constructor & Destructor Documentation

MItCurveCV::MItCurveCV ( MObject curve,
MStatus ReturnStatus = NULL  
)

Constructor. This constructor is used when iterating over an entire curve.

Parameters:
[in]  curve  The curve for the iteration
[out]  ReturnStatus  Status code
Status Codes:

MItCurveCV::MItCurveCV ( const MDagPath curve,
MObject component = MObject::kNullObj,
MStatus ReturnStatus = NULL  
)

Constructor. This constructor is used when iterating over a group of CVs. If the component is not given then the iteration will be for the whole curve.

Parameters:
[in]  curve  Dag path to the curve for the iteration
[in]  component  A group of CVs to be iterated on
[out]  ReturnStatus  Status code
Status Codes:

MItCurveCV::~MItCurveCV (  )  [virtual]

Class destructor. Deallocates memory used by this iterator.


Member Function Documentation

bool MItCurveCV::isDone ( MStatus ReturnStatus = NULL  )  const

Returns true if the iteration is finished, i.e. there are no more CVs to iterate on.

Parameters:
[out]  ReturnStatus  Status code
Returns:
Boolean value: true if there are no more CVs to iterate on, false otherwise.
Status Codes:

MStatus MItCurveCV::next (  ) 

Advance to the next CV in the iteration. If the iterator is already at the last CV then this method has no effect. Use isDone to determine if the iterator is at the last CV.

Returns:
Status code
Status Codes:

MStatus MItCurveCV::reset (  ) 

Reset the iterator to the first CV.

Returns:
Status code
Status Codes:

MStatus MItCurveCV::reset ( MObject curve  ) 

Reset the iterator to the specified curve.

Parameters:
[in]  curve  The curve for the iteration
Returns:
Status code
Status Codes:

MStatus MItCurveCV::reset ( const MDagPath curve,
MObject component = MObject::kNullObj  
)

Reset the iterator to the specified curve and component. The component is a group of CVs belonging to the specified curve. The component defaults to MObject::kNullObj. If a component is not given then the iterator will be reset for the whole curve.

Parameters:
[in]  curve  Dag path to the curve for the iteration
[in]  component  A group of CVs to be iterated on
Returns:
Status code
Status Codes:

MPoint MItCurveCV::position ( MSpace::Space  space = MSpace::kObject,
MStatus ReturnStatus = NULL  
) const

Return the position of the current CV.

Parameters:
[in]  space  the co-oordinate system for the returned point
[out]  ReturnStatus  Status code
Returns:
Status code
Status Codes:

MStatus MItCurveCV::setPosition ( const MPoint pt,
MSpace::Space  space = MSpace::kObject  
)

Set the position of the current CV to the specified point.

Parameters:
[in]  space  the co-ordinate system for this transformation.
Returns:
Status code
Status Codes:

MStatus MItCurveCV::translateBy ( const MVector vec,
MSpace::Space  space = MSpace::kObject  
)

Translates the current CV by the amount sepcified in vec.

Parameters:
[in]  space  the co-oordinate system for this transformation.
Returns:
Status code
Status Codes:

int MItCurveCV::index ( MStatus ReturnStatus = NULL  )  const

This method returns the index of the current CV in the CV array for this curve.

Parameters:
[out]  ReturnStatus  Status code
Returns:
The index of the current CV
Status Codes:

MObject MItCurveCV::cv ( MStatus ReturnStatus = NULL  )  const

This method is obsolete.

Deprecated:
Use the MItCurveCV::currentItem method.
This method returns the current CV as an MObject.
Parameters:
[out]  ReturnStatus  Status code
Returns:
A handle to the CV requested
Status Codes:

MObject MItCurveCV::currentItem ( MStatus ReturnStatus = NULL  )  const

This method returns the current CV as an MObject.

Parameters:
[out]  ReturnStatus  Status code
Returns:
A handle to the CV requested
Status Codes:

bool MItCurveCV::hasHistoryOnCreate ( MStatus ReturnStatus = NULL  )  const

This method determines if the shape was created with history.

If the object that this iterator is attached to is not a shape then this method will fail.

Parameters:
[out]  ReturnStatus 
Returns:
Boolean value: true if shape has history, false otherwise.
Status Codes:

MStatus MItCurveCV::updateCurve (  ) 

This method is used to signal the curve that it has been changed and needs to redraw itself.

When modifying a large number of CVs, it is most efficient to call this method after all of the CVs have been modified.

  • Status code
Status Codes:

Autodesk® Maya® 2011 © 1997-2010 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6