Interface
to IK constraint data.
Synopsis
#include <AlConstraint.h>
class AlConstraint : public AlObject , public AlAnimatable
virtual ~AlConstraint();
virtual statusCode deleteObject();
virtual AlObjectType type() const;
virtual AlAnimatable* asAnimatablePtr( void );
AlConstraint* next( void ) const;
boolean on() const;
double weight() const;
boolean isUVConstraint() const;
statusCode uv( double[2] ) const;
statusCode setOn( boolean );
statusCode setWeight( double );
statusCode setUV( double[2] );
AlDagNode* sourceNode( void ) const;
AlDagNode* destinationNode( void ) const;
Description
The AlConstraint class
allows access to the IK constraint information on an AlJoint.
(See the discussion of
skeletons, joints, constraints, ik, and so on, in the printed reference manuals
for a full description.)
Briefly, the constraint
data constrains the joint node to another object. The constraint
can be a point constraint, an orientation constraint, or an aim
constraint.
This is the base class
for constraints. Point, orientation, and aim constraints are derived from
this class.
AlConstraint::~AlConstraint()
Description
Destructor
for the AlConstraint wrapper.
statusCode AlConstraint::deleteObject()
Description
Destructor
for AlConstraint.
Return Codes
sSuccess - the constraint
was deleted
sInvalidObject - the
constraint was invalid
sFailure - the constraint
could not be deleted
AlObjectType AlConstraint::type()
const
Description
Returns
the class identifier kConstraintType;
AlConstraint* AlConstraint::next()
const
Description
Returns
the next constraint after this one. If no constraint follows, NULL
is returned.
boolean AlConstraint::on()
const
Description
Indicates
whether this constraint is active or not.
Return Values
TRUE - this constraint
is active
FALSE - this constraint
is not active
double AlConstraint::weight()
const
Description
Returns
the weight on this constraint. The weight will be between 0.0 and
100.0 inclusive (or -1 on error).
boolean AlConstraint::isUVConstraint()
const
Description
This method returns TRUE if
the constraint is an uv constraint.
statusCode AlConstraint::uv(double
uv[2]) const
Description
This method returns uv
values of the uv constraint.
Arguments
> uv[2] - the u
and v parameter of the constraint. If the dest node is a curve,
only uv[0] is valid.
Return Codes
sSuccess - the uv or
u parameter(s) were returned
sInvalidArgument - the
uv was NULL
sInvalidObject - this
constraint is invalid or is not a uv constraint
sFailure - this constraint
is not a uv constraint.
AlDagNode* AlConstraint::sourceNode(
void ) const
Description
Returns the AlDagNode
that the constraint is on.
AlDagNode* AlConstraint::destinationNode(
void ) const
Description
Returns the AlDagNode
that the source node is constrained to.
statusCode AlConstraint::setOn(
boolean onOff )
Description
Turns the effect of the constraint
on or off.
Arguments
< onOff - TRUE turns
the effect on, FALSE turns it off
Return Codes
sSuccess - effect set
sInvalidObject - object
invalid
statusCode AlConstraint::setWeight(
double weight )
Description
Sets the weight of the constraint.
The weight must be between 0.0 and 100.0 inclusive. If the weight
is outside this range it will be clipped.
Arguments
< weight - the percentage
effect of this constraint
Return Codes
sSuccess - weight set
sInvalidObject - object
invalid
statusCode AlConstraint::setUV(double
uv[2])
Description
Sets the constraint’s
uv values.
Arguments
< uv[2] - the u
and v parameter for the constraint.
Return Codes
sSuccess - the uv or
u parameter(s) were set
sInvalidArgument - the
uv was NULL
sInvalidObject - this
constraint is invalid or is not a uv constraint
sFailure - this constraint
is not a uv constraint