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