#include
<MFnMotionPath.h>
List of all
members.
Detailed Description
Motion path animation function set.
This class is used for constructing and manipulating motion path
animation.
Motion path animation requires a curve (or surface) and one or
more other objects. During the animation, the objects will be moved
along the curve.
Setting "follow" for the motion path aligns the object(s) local
axis to the tangent of the motion path. Banking can also be applied
to objects.
Motion path markers are points along the path where the
orientation and position for the object(s) travelling along the
path can be specified.
|
Public Types
|
enum |
Axis
{
kXaxis,
kYaxis,
kZaxis } |
|
Available axes. More...
|
Public Member Functions
|
virtual MFn::Type |
type
() const |
|
Function set type.
|
virtual |
~MFnMotionPath
() |
|
Destructor.
|
|
MFnMotionPath
() |
|
Default constructor.
|
|
MFnMotionPath
(MObject &object,
MStatus
*ReturnStatus=NULL) |
|
Constructor.
|
MObject |
create
(const MDagPath
&pathObject, const MDagPath &objectToAnimate,
MTime &timeStart,
MTime &timeEnd,
MDGModifier
*modifier=NULL, MStatus *ReturnStatus=NULL) |
MStatus |
setPathObject
(const MDagPath
&pathObject, MDGModifier *modifier=NULL) |
MDagPath |
pathObject
(MStatus
*ReturnStatus=NULL) |
MStatus |
addAnimatedObject
(const MDagPath
&objectToAnimate, MDGModifier *modifier=NULL) |
MStatus |
getAnimatedObjects
(MDagPathArray
&array) |
MStatus |
setFollow
(bool on, MDGModifier *modifier=NULL) |
bool |
follow
(MStatus
*ReturnStatus=NULL) const |
MStatus |
setFollowAxis
(Axis
axis) |
Axis |
followAxis
(MStatus
*ReturnStatus=NULL) |
MStatus |
setUpAxis
(Axis
axis) |
Axis |
upAxis
(MStatus
*ReturnStatus=NULL) |
MStatus |
setBank
(bool bank) |
bool |
bank
(MStatus
*ReturnStatus=NULL) const |
MStatus |
setBankScale
(double bankScale) |
double |
bankScale
(MStatus
*ReturnStatus=NULL) |
MStatus |
setBankThreshold
(double bankThreshold) |
double |
bankThreshold
(MStatus
*ReturnStatus=NULL) |
MStatus |
setUseNormal
(bool use) |
bool |
useNormal
(MStatus
*ReturnStatus=NULL) |
MStatus |
setInverseNormal
(bool invert) |
bool |
inverseNormal
(MStatus
*ReturnStatus=NULL) |
MStatus |
setUStart
(double start) |
MStatus |
setUEnd
(double end) |
double |
uStart
(MStatus
*ReturnStatus=NULL) |
double |
uEnd
(MStatus
*ReturnStatus=NULL) |
MStatus |
setUTimeStart
(MTime &start) |
MStatus |
setUTimeEnd
(MTime &end) |
MTime |
uTimeStart
(MStatus
*ReturnStatus=NULL) |
MTime |
uTimeEnd
(MStatus
*ReturnStatus=NULL) |
unsigned int |
numPositionMarkers
(MStatus
*ReturnStatus=NULL) |
MObject |
getPositionMarker
(unsigned int, MStatus
*ReturnStatus=NULL) |
unsigned int |
numOrientationMarkers
(MStatus
*ReturnStatus=NULL) |
MObject |
getOrientationMarker
(unsigned int, MStatus
*ReturnStatus=NULL) |
|
MFnMotionPath
(const MObject
&object, MStatus
*ReturnStatus=NULL) |
|
Constructor.
|
Protected Member Functions
|
virtual const char * |
className
() const |
|
Class name.
|
Member Enumeration Documentation
Available axes.
- Enumerator:
-
Constructor & Destructor Documentation
MFnMotionPath::MFnMotionPath |
( |
MObject & |
object, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Constructor.
Class constructor that initializes the function set to the given
MObject.
- Parameters:
-
[in] |
object |
The MObject to
attach the function set to |
[out] |
ReturnStatus |
the return status |
- Status Codes:
-
MFnMotionPath::MFnMotionPath |
( |
const MObject & |
object, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Constructor.
Class constructor that initializes the function set to the given
MObject.
- Parameters:
-
[in] |
object |
The MObject to
attach the function set to |
[out] |
ReturnStatus |
the return status |
- Status Codes:
-
Member Function Documentation
MFn::Type
MFnMotionPath::type |
( |
|
) |
const [virtual] |
const char * MFnMotionPath::className |
( |
|
) |
const [protected, virtual] |
Class name.
Return the class name : "MFnMotionPath"
Reimplemented from MFnDependencyNode.
Create a new motion path dependency node. When a motion path
node is created, the following defaults are set:
- Follow OFF
- Bank OFF
- BankScale 1.0
- BankThreshold 0.5 * PI
- Parameters:
-
[in] |
pathObject |
the curve, surface, or curve-on-surface to use as the object
path |
[in] |
objectToAnimate |
the object that will follow the motion path |
[in] |
timeStart |
the time at which to start the animation |
[in] |
timeEnd |
the time at which to end the animation |
[in] |
modifier |
this object will hold the undo information |
[out] |
ReturnStatus |
Status Code |
- Returns:
- The new motion path node
- Status Codes:
-
Set the curve or surface for this motion path. All animated
objects for this motion path will follow the new path that is
specified.
- Parameters:
-
[in] |
pathObject |
The curve (or surface) that will be the motion path |
[in] |
modifier |
The object that will hold the undo information |
- Returns:
- Status Code
- Status Codes:
-
Return a dag path to the motion path object. The motion path
object is the curve/surface that animated objects of this node will
move along.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The dag path of the motion path object
- Status Codes:
-
Add an object to be animated along this motion path.
- Parameters:
-
[in] |
objectToAnimate |
A DAG path to the animated object |
[in] |
modifier |
The object that will hold the undo information |
- Returns:
- Status Code
- Status Codes:
-
Returns an array of dag paths to the animated objects for this
motion path.
- Parameters:
-
[out] |
array |
Storage for the dag paths. |
- Returns:
- Status Code
- Status Codes:
-
Setting follow on will cause the animated object(s) local axis
to be aligned with the tangent of the motion path. The default
alignment axis is Y.
- Parameters:
-
[in] |
on |
Specifies whether follow is activated for this motion path |
[in] |
modifier |
The object that will hold the undo information |
- Returns:
- Status Code
- Status Codes:
-
bool MFnMotionPath::follow |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determines whether follow is set for this motion path node.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
-
- true Follow is turned on
- false Follow is turned off
- Status Codes:
-
Sets the axis of the animated object that will follow the motion
path. Possible alignment parameters are kXaxis,
kYaxiz, or kZaxis.
- Parameters:
-
[in] |
axis |
Object axis to align with motion path tangent |
- Returns:
- Status Code
- Status Codes:
-
Return the follow axis for this motion path.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The follow axis.
- Status Codes:
-
Set the up-axis for this motion path.
- Parameters:
-
- Returns:
- Status Code
- Status Codes:
-
Return the up-axis for this motion path.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The up-axis for this motion path
- Status Codes:
-
MStatus MFnMotionPath::setBank |
( |
bool |
bank |
) |
|
- Parameters:
-
[in] |
bank |
Specifies whether bank is turned on |
- Returns:
- Status Code
- Status Codes:
-
bool MFnMotionPath::bank |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determines whether bank has been enabled for this motion
path.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
-
- true Bank is enabled
- false Bank is disabled
- Status Codes:
-
MStatus MFnMotionPath::setBankScale |
( |
double |
bankScale |
) |
|
Set the bank scale for this motion path. If the computed bank
angles are not large enough, the user can specify the bankScale to
amplify them. The default value is 1.
Positive bankScale produces inward bank angle, negative
bankScale produces outward bank angle.
- Parameters:
-
[in] |
bankScale |
The new bank scale value |
- Returns:
- Status Code
- Status Codes:
-
double MFnMotionPath::bankScale |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Return the bank scale for this motion path.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The bank scale.
- Status Codes:
-
MStatus
MFnMotionPath::setBankThreshold |
( |
double |
bankThreshold |
) |
|
Set the bank threshold for this motion path. The bank threshold
is used to specify the maximum bank angle. The default value is 90
degrees.
- Parameters:
-
[in] |
bankThreshold |
The new bank threshold value |
- Returns:
- Status Code
- Status Codes:
-
double MFnMotionPath::bankThreshold |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Return the bank threshold for this motion path. The bank
threshold is used to specify the maximum bank angle. The default
value is 90 degrees.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The bank threshold.
- Status Codes:
-
MStatus MFnMotionPath::setUseNormal |
( |
bool |
use |
) |
|
If true, enables alignment of the up axis of the animated
object to the normal vector of the path geometry.
- Parameters:
-
[in] |
use |
Specifies if normal is used |
- Returns:
- Status Code
- Status Codes:
-
bool MFnMotionPath::useNormal |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Determines whether the up-axis of the animated object for this
motion path is aligned with the normal vector of the path
geometry.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
-
- true Normal vector is used for object alignment.
- false Normal vector is not used for object
alignment.
- Status Codes:
-
MStatus
MFnMotionPath::setInverseNormal |
( |
bool |
invert |
) |
|
If true, enable alignment of the up axis of the moving
object(s) to the opposite direction of the normal vector of the
path geometry.
- Parameters:
-
[in] |
invert |
Specifies if inverse normal is used |
- Returns:
- Status Code
- Status Codes:
-
bool MFnMotionPath::inverseNormal |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Determines whether the up-axis of the animated object for this
motion path is aligned to the opposite direction of the normal
vector of the path geometry.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
-
- true Inverse normal vector is used for object
alignment.
- false Inverse normal vector is not used for object
alignment.
- Status Codes:
-
MStatus MFnMotionPath::setUStart |
( |
double |
start |
) |
|
Sets the starting value of the u parameterization for the
animation.
- Parameters:
-
[in] |
start |
the new start value |
- Returns:
- Status Code
- Status Codes:
-
MStatus MFnMotionPath::setUEnd |
( |
double |
end |
) |
|
Sets the end value of the u parameterization for the
animation.
- Parameters:
-
[in] |
end |
the new end value |
- Returns:
- Status Code
- Status Codes:
-
double MFnMotionPath::uStart |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Returns the starting value of the u parameterization for the
animation.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The starting value
- Status Codes:
-
double MFnMotionPath::uEnd |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Returns the end value of the u parameterization for the
animation.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The end value
- Status Codes:
-
Sets the starting time of the animation for the u parameter.
- Parameters:
-
[in] |
start |
the new start time |
- Returns:
- Status code
- Status Codes:
-
Sets the end time of the animation for the u parameter.
- Parameters:
-
[in] |
end |
the new end time |
- Returns:
- Status code
- Status Codes:
-
MTime MFnMotionPath::uTimeStart |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Returns the start time of the animation for the u parameter.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The starting time
- Status Codes:
-
MTime MFnMotionPath::uTimeEnd |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Returns the end time of the animation for the u parameter.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The end time
- Status Codes:
-
unsigned int
MFnMotionPath::numPositionMarkers |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Returns the number of position markers on this motion path.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The number of markers
- Status Codes:
-
MObject
MFnMotionPath::getPositionMarker |
( |
unsigned int |
markerNum, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Gets the position marker where markerNum is the order in which
the marker was created.
- Parameters:
-
[in] |
markerNum |
The number of the marker |
[out] |
ReturnStatus |
Status Code |
- Returns:
- The position marker
- Status Codes:
-
unsigned int
MFnMotionPath::numOrientationMarkers |
( |
MStatus * |
ReturnStatus =
NULL |
) |
|
Returns the number of orientation markers on this motion
path.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- The number of markers
- Status Codes:
-
MObject
MFnMotionPath::getOrientationMarker |
( |
unsigned int |
markerNum, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Gets the orientation marker where markerNum is the order in
which the marker was created.
- Parameters:
-
[in] |
markerNum |
The number of the marker |
[out] |
ReturnStatus |
Status Code |
- Returns:
- The orientation marker
- Status Codes:
-