#include
<MItSurfaceCV.h>
List of all
members.
Detailed Description
NURBS surface CV iterator.
Iterator class for NURBS surface CVs.
Example: Translates the CVs for a surface in the X
direction (world space).
|
Public Member Functions
|
|
MItSurfaceCV
(MObject &surface,
bool useURows=true, MStatus *ReturnStatus=NULL) |
|
MItSurfaceCV
(const MDagPath
&surface, MObject
&component=MObject::kNullObj,
bool useURows=true, MStatus *ReturnStatus=NULL) |
virtual |
~MItSurfaceCV
() |
bool |
isDone
(MStatus
*ReturnStatus=NULL) const |
bool |
isRowDone
(MStatus
*ReturnStatus=NULL) const |
MStatus |
next
() |
MStatus |
nextRow
() |
MStatus |
reset
() |
MStatus |
reset
(MObject &surface,
bool useURows=true) |
MStatus |
reset
(const MDagPath
&surface, MObject
&component, bool useURows=true) |
MPoint |
position
(MSpace::Space
space=MSpace::kObject, MStatus *ReturnStatus=NULL) const |
MStatus |
setPosition
(const MPoint
&point, MSpace::Space
space=MSpace::kObject) |
MStatus |
translateBy
(const MVector
&vector, MSpace::Space
space=MSpace::kObject) |
int |
index
(MStatus
*ReturnStatus=NULL) const |
MStatus |
getIndex
(int &indexU, int &indexV) const |
MObject |
cv
(MStatus
*ReturnStatus=NULL) const |
|
This method is obsolete.
|
MObject |
currentItem
(MStatus
*ReturnStatus=NULL) const |
bool |
hasHistoryOnCreate
(MStatus
*ReturnStatus=NULL) const |
MStatus |
updateSurface
() |
Constructor & Destructor Documentation
MItSurfaceCV::MItSurfaceCV |
( |
MObject & |
surface, |
|
|
bool |
useURows = true , |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Constructor. This constructor is used when iterating over all
the CVs on the given surface.
- Parameters:
-
[in] |
surface |
The surface for the iteration |
[in] |
useURows |
If true then the iterator will iterate in the U
direction, otherwise it will be in the V direction. |
[out] |
ReturnStatus |
Status code |
- Status Codes:
-
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 surface.
- Parameters:
-
[in] |
surface |
The surface for the iteration |
[in] |
component |
A group of CVs to be iterated on |
[in] |
useURows |
If true then the iterator will iterate in the U
direction, otherwise it will be in the V direction. |
[out] |
ReturnStatus |
Status code |
- Status Codes:
-
MItSurfaceCV::~MItSurfaceCV |
( |
|
) |
[virtual] |
Member Function Documentation
bool MItSurfaceCV::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:
-
bool MItSurfaceCV::isRowDone |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Returns true if the current row has no more CVs to
iterate over. The row can be in the U or V direction depending on
what value of useURows has been set in the constructor.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- Boolean value: true if the current row in the iteration
is finished, false otherwise.
- Status Codes:
-
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:
-
Advance to the next row in the iteration. The row can be in the
U or V direction depending on what value of useURows has
been set in the constructor.
- Returns:
- Status code
- Status Codes:
-
Reset the iterator to the first CV.
- Returns:
- Status code
- Status Codes:
-
MStatus MItSurfaceCV::reset |
( |
MObject & |
surface, |
|
|
bool |
useURows = true |
|
|
) |
|
|
|
Reset the iterator to iterate over all CVs on the specified
surface.
- Parameters:
-
[in] |
surface |
The surface for the iteration |
[in] |
useURows |
If true then the iterator will iterate in the U
direction, otherwise it will be in the V direction. |
- Returns:
- Status code
- Status Codes:
-
Reset the iterator to iterate over the CVs of the given surface
that are specified in the given component. If the component is NULL
then the iteration will be over all CVs on the surface.
- Parameters:
-
[in] |
surface |
The surface for the iteration |
[in] |
component |
A group of CVs to be iterated on |
[in] |
useURows |
If true then the iterator will iterate in the U
direction, otherwise it will be in the V direction. |
- Returns:
- Status code
- Status Codes:
-
Returns the position of the current CV in the iteration in the
specified space.
- Parameters:
-
[in] |
space |
The coordinate space in which the CV is set |
[out] |
ReturnStatus |
Status code |
- Returns:
- The position of the current CV in the iteration
- Status Codes:
-
Set the position of the current CV in the iteration to the
specified point.
- Parameters:
-
[out] |
point |
The new position for the current CV in the iteration |
[in] |
space |
The coordinate space in which the CV is set |
- Returns:
- Status code
- Status Codes:
-
Move the current CV in the iteration by the sepcified
vector.
- Parameters:
-
[out] |
vector |
The translation vector |
[in] |
space |
The coordinate space in which the CV is set |
- Returns:
- Status code
- Status Codes:
-
int MItSurfaceCV::index |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Get the index of the current CV as it appears in CV array for
this surface.
The index returned is a single index. To convert this into a
double (U,V) index:
sizeInV = MFnNurbsSurfaceInstance.numCVsInV();
indexU = index() / sizeInV;
indexV = index() % sizeInV;
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- The index for the current CV in the iteration
- Status Codes:
-
MStatus MItSurfaceCV::getIndex |
( |
int & |
indexU, |
|
|
int & |
indexV |
|
|
) |
|
|
const |
Get the index of the current CV as it appears in CV array for
this surface.
The index returned is a double (U,V) index. To convert this into
a single index:
index = numCVsInV()*indexU + indexV
- Parameters:
-
[out] |
indexU |
Storage for the u index |
[out] |
indexV |
Storage for the v index |
- Returns:
- Status code
- Status Codes:
-
This method is obsolete.
- Deprecated:
- Use the MItSurfaceCV::currentItem
method.
Get the current CV in the iteration as a component.
Components are used to specify one or more CVs and are usefull
in operating on groups of non-contiguous CVs for a curve or
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 CV in the interation
- Status Codes:
-
MObject MItSurfaceCV::currentItem |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Get the current CV in the iteration as a component.
Components are used to specify one or more CVs and are usefull
in operating on groups of non-contiguous CVs for a curve or
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 CV in the interation
- Status Codes:
-
bool MItSurfaceCV::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:
-
- Returns:
- Boolean value: true if the shape has history,
false otherwise.
- Status Codes:
-
MStatus MItSurfaceCV::updateSurface |
( |
|
) |
|
This method is used to signal the surface 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.
- Returns:
- Status code
- Status Codes:
-