Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

NodeJoint Class Reference

Concrete class that controls nodes. More...

#include <joint.h>

Inheritance diagram for NodeJoint::

Joint List of all members.

Public Methods

 NodeJoint (void)
 Empty constructor. More...

 NodeJoint (uint16 aC, uint16 aN, float v, float vMax, float vMin, string &n, VECTOR_TYPE sup)
 Explicitly-specified joint constructor. More...

 ~NodeJoint (void)
 The destructor for NodeJoint. More...

void ApplyJoint (LTMatrix *modifyMe)
 Apply joint to node's transformation matrix. More...

uint16 GetAffectedNode (void)
 Returns node id. More...

void Init (uint16 aC, uint16 aN, float v, float vMax, float vMin, string &n, VECTOR_TYPE sup)
 Initialize a NodeJoint. More...

uint16 JointType (void)
 Returns joint type. More...

void Modify (JointPart part, float mVal)
 Assigns new value to abstract joint part. More...

void Modify (JointPart part, string &mVal)
void Modify (JointPart part, uint16 mVal)
void Modify (JointPart part, VECTOR_TYPE mVal)
void SetValue (float newValue)
 Scaled and assigns value to joint. More...


Detailed Description

Concrete class that controls nodes.

NodeJoint is the joint used to control a degree-of-freedom on a model's skeletal node. Inherits from Joint; should only be used on models.


Constructor & Destructor Documentation

NodeJoint::NodeJoint void   
 

Empty constructor.

Constructor that just assigns NA_NOTHING as the action to a non-existant node.

NodeJoint::NodeJoint uint16    aC,
uint16    aN,
float    v,
float    vMax,
float    vMin,
string &    n,
VECTOR_TYPE    sup
 

Explicitly-specified joint constructor.

Parameters:
aC  an integer specifying the action code.
aN  an integer specifying the node to modify
v  a float denotingthe current value
vMax  a float that is "v"'s maximum.
vMin  a float that is "v"'s minimum.
n  a string that is the joint's new name.
sup  a vector full of supplemental data.
Constructor that relies on the developer to assign all fields immediately. Used in runtime construction of NodeJoints from file data.

NodeJoint::~NodeJoint void   
 

The destructor for NodeJoint.

The destructor doesn't need to free anything just yet, so nothing happens here just yet.


Member Function Documentation

void NodeJoint::ApplyJoint LTMatrix *    modifyMe
 

Apply joint to node's transformation matrix.

Parameters:
modifyMe  the LTMatrix that must be transformed to move the node.
Applies the current joint to the matrix that a node will pass through/be transformed by. Very LithTech specific right now, though in theory this type of function will have to happen in any engine that suports skeletal animation.

uint16 NodeJoint::GetAffectedNode void   
 

Returns node id.

Returns:
an integer specifying the target node
Simply returns the number of the node this joint acts on.

void NodeJoint::Init uint16    aC,
uint16    aN,
float    v,
float    vMax,
float    vMin,
string &    n,
VECTOR_TYPE    sup
 

Initialize a NodeJoint.

Parameters:
aC  an integer specifying the action code.
aN  an integer specifying the node to modify
v  a float denotingthe current value
vMax  a float that is "v"'s maximum.
vMin  a float that is "v"'s minimum.
n  a string that is the joint's new name.
sup  a vector full of supplemental data.
Fills in the NodeJoint structure with the variables supplied.

uint16 NodeJoint::JointType void    [virtual]
 

Returns joint type.

\uint16 NodeJoint::JointType( void )

Returns:
an integer reporting the joint type.
For NodeJoint, this returns NODEJOINT_NUM.

Reimplemented from Joint.

void NodeJoint::Modify JointPart    part,
VECTOR_TYPE    mVal
[virtual]
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
part  a JointPart
mVal  a VECTOR_TYPE

Reimplemented from Joint.

void NodeJoint::Modify JointPart    part,
uint16    mVal
[virtual]
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
part  a JointPart
mVal  a uint16

Reimplemented from Joint.

void NodeJoint::Modify JointPart    part,
string &    mVal
[virtual]
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
part  a JointPart
mVal  a string

Reimplemented from Joint.

void NodeJoint::Modify JointPart    part,
float    mVal
[virtual]
 

Assigns new value to abstract joint part.

Parameters:
part  a JointPart
mVal  a float
Modify takes in a part code and a new value, and modfies the indicates area of the joint in accordance with the new value. Use the JointPart enum to determine your choices ...any type submitted as mVal should be fine (b/c of the overloading)

Reimplemented from Joint.

void NodeJoint::SetValue float    newValue [virtual]
 

Scaled and assigns value to joint.

Parameters:
newValue  a float between -100 and 100, inclusive.
The meat of the joint (except for node-joints, in whom the skeleton-bending function is the most important), this takes a float between -100 and 100 and turns it into a proper value for the joint along the range defined by min/begin and max/end.

Reimplemented from Joint.


The documentation for this class was generated from the following file:
Generated on Tue Oct 16 13:42:10 2001 for The Stage by doxygen1.2.11 written by Dimitri van Heesch, © 1997-2001