|
Inherited: public
Point<Type>
Protected Vars: Point<Type> Start, Point<Type> End, Type t, Type StartT, Type EndT Public Functions:
/* Initializes the Start and End points of
the Curve. */
/* Returns 1 if t equals the Maximum t-value
for the curve, else 0 is returned. */
/* Returns the Start point of the Curve
*/
/* Returns the End point of the Curve
*/
/* Returns StartT's value. */
/* Returns EndT's value. */
/* Returns t's value. */
/* Sets t's value to T.
*/
Curve<Type>&
operator=(const Curve &c);
|
|
Inherited: public
Curve<Type>
Private Vars: Point<Type> A, Point<Type> B Public Functions:
/* This constructor only assigns the
variables, it doesn't construct the curve. Call Construct below to
/* This fn is called to construct the
curve. 0 is returned if there is a problem with the times passed.
One of
/* Change is used to change one or
more of the control points or Times on the curve or to create a curve if
/* CalcPoint uses its own class variable
to calculate the point on the curve and stores the result into
/* CalcPoint uses the Time passed to
calculate the point on the curve and stores the result into Result.
/* Speed returns the speed of the object.
This speed will of course be constant since the derivative
/* Length takes 2 values [t1,t2] and
calculates the length between these two times on the curve.
/* This Length fn calculates the length
of this curve. */
|
|
Inherited: publicCurve<Type>
Private Vars: Point<Type>
CP2, Point<Type> CP3, Point<Type> A, Point<Type> B, Point<Type>
C,
Public Functions:
/* This constructor only assigns the
variables, it doesn't construct the curve. Call Construct below to
/* This fn is called to construct the
curve. 0 is returned if there is a problem with the times passed.
One
/* Change is used to change one or
more of the control points or Times on the curve or to create a curve
void GetPoint(unsigned char WhichPt, Point<Type> &Result); void GetAllPoints(Point<Type> &p1, Point<Type> &p2, Point<Type> &p3, Point<Type> &p4); /* CalcPoint uses its own class variable
to calculate the point on the curve and stores the result into
/* CalcPoint uses the Time passed to
calculate the point on the curve and stores the result into Result.
/* Speed returns the speed of the object
at position T. */
/* Speed returns the speed of the object
at the class' position t. */
/* Acceleration returns the acceleration
of the object at the class' position t. */
/* Acceleration returns the acceleration
of the object at position T. */
/* Length takes 3 values [t1, t2] and
and NumberOfIntervals and calculates the length between these two
/* This Length fn calculates the length
of this curve based on the number of intervals passed. */
|
|
Inherited: public
TimeLinearCurve<GLfloat>,
public TimeCubicCurve<GLfloat>
Defined Types: PathType {NONE, LINEAR_TIME, CUBIC_TIME} Private Vars: Point<GLfloat> Current, PathType pathType Public Functions:
/* Gets the current position of the object.
*/
/* Sets the current position of the object.
*/
/* Returns the current path type of the object.
*/
/* Calls glTranslate() to translate the object.
glPushMatrix() and glPopMatrix() are not called. */
/* MoveFromTo constructs the curve
on which the object is to move and then calls Update. This movement
/* MoveFromCurrentTo constructs the
curve on which the object is to move from its current position to
/* SetPath constructs the curve on
which the object is to move and then calls Update. This fn returns
/* Will update the primitive's
position along a time curve. A value of GL_TRUE is returned if the
|
|
Inherited: public
TimeLinearCurve<GLfloat>
Private Vars: Point<GLfloat> Current Public Functions:
/* Calls glRotate() to rotate the object.
glPushMatrix() and glPopMatrix() are not called */
/* Sets the current angle of the object.
*/
/* Gets the current angle of the object.
*/
/* Update will update the object's
angle. GL_TRUE is returned if the object is still rotating,
else
/* RotateFromTo will rotate the object
from StartAngle to EndAngle given the times provided.
/* RotateFromTo will rotate the object
from the Current angle to the EndAngle during the given the times
/* RotateFromCurrent will rotate the
object from Current to the angle Current+NumberOfDegrees
|
|
Inherited: public
RotationCtrl
Defined Types: Direction
{LEFT=0, RIGHT, LEFT_S, RIGHT_S, FRONT,
Public Functions:
|
|
Inherited: public
ActorCommon
Defined Types: Parts
{HEAD=0, EYE, NECK, TORSO, U_ARM, L_ARM, HAND,THUMB_1, THUMB_2,
|
|
Inherited: public
ActorCommon
Uses: Point<GLfloat> Defined Types: WhichAngles
{MIN, MAX, REST, CURRENT},
Protected Vars: Point<GLfloat>
MinAngle, Point<GLfloat> MaxAngle,
Public Functions:
/* GetMin gets the Min rotation angles
for this part. */
/* SetMin sets the Min rotation angles
for this part. */
/* GetMax gets the Max rotation angles
for this part. */
/* SetMax sets the Max rotation angles
for this part */
/* GetRest gets the Rest rotation angles
for this part. */
/* SetRest sets the Rest rotation angles
for this part. */
/* GetOffset gets the offset for this
part. */
/* SetOffset sets the offset for this
part. */
/* Rest is used to rotate the corresponding
part to its rest position. */
/* Rotate rotates this part about 1
or more axes to an angle of Current + DegreesToRotate. It is assumed
/* RotateTo rotates this part about
1 or more axes to the Angle provided. It is assumed that a
/* Rotate rotates this part about 1
axis to an angle of Current + DegreesToRotate. It is assumed that
a
/* RotateTo rotates this primitive
about 1 axis to the Angle provided. It is assumed that a value
< 0.0 for
|
|
Inherited: public
PartCommon
Uses: Vectors Defined Types: PrimitivePart {TOP, MIDDLE, BOTTOM} Protected Vars: Glfloat
Verts[18][3], Glfloat Normals[18][3], Glfloat TopColor[4],
Public Functions:
/* GetVertex gets the designated vertex.
*/
/* SetVertex sets the designated vertex.
*/
/* GetNormal gets the designated normal.
*/
/* SetNormal sets the designated normal.
*/
/* Draw draws the primitive.
If CallTransformationFns is true, then the glTranslate() and glRotate
/* GetProperty gets the Color or one
of the Material properties of the primitive. If you're getting the
/* SetProperty sets the Color or one
of the Material properties of the primitive. */
/* Initialize will read the data from
the file pointer to initialize the attributes of this primitive.
The value
/* This function will write the primitive
data (vertices, normals, color, material, and transformation info)
/* CalcNormals will calculate the normals
for this primitive */
/* NegateNormals is used to change
the sign of the normals. This may be useful since CalcNormals may
|
|
Uses: Vectors
Defined Types: EyePart {PUPIL, IRIS, MAIN} Protected Vars: GLfloat
Verts[49][3], GLfloat Normals[49][3], GLfloat PupilColor[4],
Public Functions:
/* SetBlinking sets the Blinking variable
to GL_TRUE. */
/* SetNotBlinking sets the Blinking
variable to GL_FALSE. */
/* EyeIsBlinking queries the Blinking
variable. */
/* GetVertex gets the designated vertex
*/
/* SetVertex sets the designated vertex.
*/
/* GetNormal gets the designated normal.
*/
/* SetNormal sets the designated normal.
*/
/* Draw draws the Eye. */
/* SetBlinkMaterials sets up
the eye blinking material properties. */
/* Initializewill read the data from
the file pointer to initialize the attributes of the eye. The value
for
/* CalcNormals will calculate the normals
for the eye. */
/* NegateNormals is used to change
the sign of the normals. This may be useful since CalcNormals may
|
|
Inherited: public
Eye
Uses: PartCommon Protected Vars: PartCommon EyeControl[2] Public Functions:
void GetEyesOffset(ActorCommon::Side Which, Point<GLfloat> &offset); void SetEyesOffset(ActorCommon::Side Which, Point<GLfloat> &offset) /* RotateEyes will rotate the designated
eye in the direction provied. Degrees > 0.0 */
/* RotateEyesTo will rotate the eyes
to the angle provided. */
/* RestEyes will construct the curve
to place the eyes at rest . */
/* UpdateEyes will update the angle
of rotation . */
/* DrawEyes draws both Eyes.
*/
/* This fn is used to get the angle
for one of the eyes. */
/* This fn is used to set the angle
for one of the eyes. */
/* GetEyeProperty gets the Color, or
one of the Material properties for the Pupil, Iris, or Main part of
/* SetEyeProperty sets the Color, or
one of the Material properties for the Pupil, Iris, or Main part of the
/* InitializeEyes will read the data
from the file pointer to initialize the attributes of this primitive.
The
/* This fn will write the primitive
data (vertices, normals, color, material, and transformation info) to
|
|
Inherited: public
PartCommon,
public Eyes
Uses: Vectors Defined Types: HeadPart
{SKIN_FACE, LIP, NOSTRIL, EYEBROW, HAIR},
Protected Vars: Glfloat
Verts[328][3], Glfloat Normals[3289][3], Glfloat FaceColor[4],
Private Vars: LidState lidState, MouthState mouthState Public Functions:
/* GetVertex gets the designated vertex.
*/
/* SetVertex sets the designated vertex.
*/
/* GetNormal gets the designated normal.
*/
/* SetNormal sets the designated normal.
*/
/* OpenMouth will open the mouth the
percent provided within the amount of time provided, where
/* CloseMouth will close the mouth
the percent provided within the amount of time provided, where
/* Blink causes the eyes to blink.
The eyelids will stay closed for (EndTime-StartTime) seconds. */
/* CloseEyelids causes the lids to
close and stay closed at the time provided and to stay closed until
/* Rotate will rotate the head in the
direction provided. Degrees > 0.0. */
/* Update calls RotationCtrl::Update
for both the head and eyes. */
/* Draw draws the head and eyes. */
/* GetProperty gets the Color or one
of the Material properties of the head. */
/* SetProperty sets the Color or one
of the Material properties of the head. */
/* Initialize will read the data from
the file pointer to initialize the attributes of the head and eyes.
The
/* GetProperty gets the Color, or one
of the Material properties for the head. */
/* SetProperty sets the Color, or one
of the Material properties for the head . */
/* Initialize will read the data from
the file pointer to initialize the attributes of this primitive.
The value
/* This fn will write the head data
(vertices, normals, color, material, and transformation info) to the file
/* CalcNormals calculates the normals
for the head only, and not the eyes. */
/* NegateNormals is used to change
the sign of the normals. This may be useful since CalcNormals may
Private Functions:
|
|
Inherited: public
ActorPrimitive
Public Functions:
/* Rotate will rotate the neck Current+Degrees
in the direction provied, where Degrees > 0.0. */
|
|
Inherited: public
ActorPrimitive
Uses: Vectors Protected Vars: GLfloat
BreastVerts[33][3], GLfloat BreastNormals[33][3], Point<Glfloat> BreastOffset,
Private Vars: GLboolean IsFemale Public Functions:
/* Rotate will rotate the torso in
the direction provied. Degrees > 0.0. */
/* Draw draws the Torso and Bust if
this is a female. If CallTransformationFns is true, then the glTranslate()
/* GetVertex gets the designated vertex.
*/
/* SetVertex sets the designated vertex.
*/
/* GetNormal gets the designated normal.
*/
/* SetNormal sets the designated normal.
*/
/* Initialize will read the data from
the file pointer to initialize the attributes of this primitive.
The value for
/* This fn will write the primitive
data (vertices, normals, color, material, and transformation info) to the
/* CalcNormals will calculate the normals
for the Torso and Breast (if this is a female). */
/* NegateNormals is used to change
the sign of the Torso or Bust normals. This may be useful since
Protected Functions:
|
|
Uses: ActorPrimitive
Protected Vars: ActorPrimitive
MainHand[2], ActorPrimitive ThumbPart1[2],
Public Functions:
/* SetToWalkingPosition places the
hands in the walking position. */
/* SetToJoggingPosition places the
hands in the jogging position. */
/* SetToRunningPosition placess the
hands in the running position. */
/* Point places the designated hand
in the pointing position. */
/* MakeFist places the designated hand
in the fist position. */
/* AssumeStoopPos places the hands
in the stoop position. */
/* RotateMain will rotate the designated
main part of the hand in the direction provied. Degrees > 0.0.
*/
/* RotateMain will rotate the
designated main part of the hand to the Angle provided. */
/* RotateThumbPart1 will rotate
the designated ThumbPart1 in the direction provied. Degrees > 0.0.
*/
/* RotateThumbPart1 will rotate
the designated ThumbPart1 to the Angle provied.. */
/* RotateThumbPart2 will rotate the
designated ThumbPart2 in the direction provied. Degrees > 0.0.
*/
/* RotateThumbPart2 will rotate
the designated ThumbPart2 to the Angle provied.. */
/* RotateFFingerPart1 will rotate the
designated FFingerPart1 in the direction provied. Degrees > 0.0.
*/
/* RotateFFingerPart1 will rotate the
designated FFingerPart1 to the Angle provied.. */
/* RotateFFingerPart2 will rotate the
designated FFingerPart2 in the direction provied. Degrees > 0.0.
*/
/* RotateFFingerPart2 will rotate
the designated FFingerPart2 to the Angle provied.. */
/* RotateFFingerPart3 will rotate the
designated FFingerPart3 in the direction provied. Degrees > 0.0.
*/
/* RotateFFingerPart3 will rotate
the designated FFingerPart3 to the Angle provied.. */
/* RotateSFingerPart1 will rotate the
designated SFingerPart1 in the direction provied. Degrees > 0.0.
*/
/* RotateSFingerPart1 will rotate
the designated SFingerPart1 to the Angle provied.. */
/* RotateSFingerPart2 will rotate the
designated SFingerPart2 in the direction provied. Degrees > 0.0.
*/
/* RotateSFingerPart2 will rotate
the designated SFingerPart2 to the Angle provied.. */
/* RotateSFingerPart3 will rotate the
designated SFingerPart3 in the direction provied. Degrees > 0.0.
*/
/* RotateSFingerPart3 will rotate
the designated SFingerPart3 to the Angle provied.. */
/* RotateTFingerPart1 will rotate the
designated TFingerPart1 in the direction provied. Degrees > 0.0.
*/
/* RotateTFingerPart1 will rotate
the designated TFingerPart1 to the Angle provied.. */
/* RotateTFingerPart2 will rotate the
designated TFingerPart2 in the direction provied. Degrees > 0.0.
*/
/* RotateTFingerPart2 will rotate
the designated TFingerPart2 to the Angle provied.. */
/* RotateTFingerPart3 will rotate the
designated TFingerPart3 in the direction provied. Degrees > 0.0.
*/
/* RotateTFingerPart3 will rotate the
designated TFingerPart3 to the Angle provied.. */
/* RotatePFingerPart1 will rotate the
designated PFingerPart1 in the direction provied. Degrees > 0.0.
*/
/* RotatePFingerPart1 will rotate
the designated PFingerPart1 to the Angle provied.. */
/* RotatePFingerPart2 will rotate the
designated PFingerPart2 in the direction provied. Degrees > 0.0.
*/
/* RotatePFingerPart2 will rotate
the designated PFingerPart2 to the Angle provied.. */
/* RotatePFingerPart3 will rotate the
designated PFingerPart3 in the direction provied. Degrees > 0.0.
*/
/* RotatePFingerPart3 will rotate
the designated PFingerPart3 to the Angle provied.. */
/* Rest calls Hands::Rest below for
both hands. */
/* Rest calls PartCommon::Rest for
all parts of the designated hand. */
/* Update calls RotationCtrl::Update
for all parts of both hands. */
/* Draw draws both hands. */
/* GetProperty gets the Color, or one
of the Material properties for the designated part of the hand. */
/* SetProperty sets the Color, or one
of the Material properties for the designated part of the hand. */
/* GetAngle is used to get the MIN,
MAX, REST or CURRENT angle for the specified part of the hand. */
/* SetAngle is used to set the MIN,
MAX, REST or CURRENT angle for the specified part of the hand. */
/* GetOffset is used to get the offset
for the specified part of the hand. */
/* SetOffset is used to set the offset
for the specified part of the hand. */
/* GetVertex is used to get the vertex
for the specified part of the hand. */
/* SetVertex is used to set the vertex
for the specified part of the hand. */
/* GetNormal is used to get the normal
for the specified part of the hand. */
/* SetNormal is used to set the normal
for the specified part of the hand. */
/* Initialize will read the data from
the file pointer to initialize the attributes of both hands. The
value for
/* This fn will write the data (vertices,
normals, color, material, and transformation info) for both hands
to
/* CalcNormals will calculate the normals
for both hands. */
/* NegateNormals is used to change
the sign of the normals for both hands. This may be useful
since
|
|
Inherited: public
Hands
Defined Types: ArmsMovingState
{ARMS_STANDING, ARMS_WALKING, ARMS_JOGGING,
Protected Vars: ActorPrimitive
UpperArm[2], ActorPrimitive LowerArm[2],
Public Functions:
/* Point. */
/* Rotate will rotate the designated
UpperArm in the direction provied. Degrees > 0.0. */
/* Rotate will rotate the designated
UpperArm to the Angle provied. */
/* Rotate will rotate the designated
LowerArm in the direction provied. Degrees > 0.0. */
/* Rotate will rotate the designated
LowerArm to the Angle provied. */
/* Rest calls Arms::Rest below for
both arms. */
/* Rest calls PartCommon::Rest for
both arms and hands. */
/* Update calls RotationCtrl::Update
for all parts of both hands. */
/* Draws both arms and hands. */
/* GetProperty gets the Color, or one
of the Material properties for the designated part of the arm. */
/* SetProperty sets the Color, or one
of the Material properties for the designated part of the arm. */
/* GetAngle is used to get the MIN,
MAX, REST or CURRENT angle for the specified part of the arm. */
/* SetAngle is used to set the MIN,
MAX, REST or CURRENT angle for the specified part of the arm. */
/* GetOffset is used to get the offset
for the specified part of the arm. */
/* SetOffset is used to set the offset
for the specified part of the arm. */
/* GetVertex is used to get the vertex
for the specified part of the arm. */
/* SetVertex is used to set the vertex
for the specified part of the arm. */
/* GetNormal is used to get the normal
for the specified part of the arm. */
/* SetNormal is used to set the normal
for the specified part of the arm. */
/* Initializewill read the data from
the file pointer to initialize the attributes of the arms. The value
for
/* This fn will write the primitive
data (vertices, normals, color, material, and transformation info) to
/* CalcNormals will calculate the normals
for the Torso and Bust (if this is a female). */
/* NegateNormals is used to change
the sign of the arms' and hands' normals. This may be useful since
Protected Functions:
|
|
Inherited: public
Head,
public Neck, public Torso,
public Arms, public Legs,
public ActorGlobal
Defined Types: CAMovingState
{CA_STANDING, CA_WALKING, CA_JOGGING, CA_RUNNING},
Private Vars: RotationCtrl
ActorRC, TranslationCtrl ActorTC, CAMovingState MovingState,
Public Functions:
/* GetCurrentAngle gets the current
angle of the actor's body. */
/* SetCurrentAngle sets the current
angle of the actor's body. */
/* GetCurrentPosition gets the current
position of the actor's body. */
/* SetCurrentPosition sets the current
position of the actor's body. */
/* GetStoopOffset gets the stoop offset
for the actor. */
/* SetStoopOffset sets the stoop offset
for the actor. */
/* RotateFromTo constructs a curve
for the object to rotate from the StartAngle to the EndAngle.
/* RotateFromCurrentTo constructs a
curve for the object to rotate from the Current.x,y,z() angle to the
/* RotateFromCurrent constructs a curve
for the object to rotate from the Current.x,y,z() to
/* WalkFromTo sets a linear path for
the actor to walk. GL_TRUE is returned if the path was set up
/* JogFromTo sets a linear path for
the actor to jog. GL_TRUE is returned if the path was set up
/* RunFromTo sets a linear path for
the actor to run. GL_TRUE is returned if the path was set up
/* Walk sets up a cubic path for the
actor to walk. This fn returns GL_TRUE if the path was set
/* Jog sets up a cubic path for the
actor to jog. This fn returns GL_TRUE if the path was set properly,
/* Run sets up a cubic path for the
actor to run. This fn returns GL_TRUE if the path was set properly,
/* PointAt makes the actor point at
a point in space. If the point is out of direct viewing range, then
it
/* FacePt makes the actor look in a
direction. If the point is out of direct viewing range, then it will
/* LookAt makes the actor look at a
point in space. If the point is out of direct viewing range, then
it
/* LookAtTrackedUser makes the actor
look at a point in space. If the point is out of direct viewing
/* Stoop places the actor in the stoop
position. */
/* Rest places the whole body at rest.
*/
/* Calls Update for every part of the
body. */
/* Draws the entire body. */
/* This fn is used to compute the translation
of the primitive from where it was created to where it
/* This fn is used to set the translation
of the primitive from where it was created to where it should be
/* Used to initialize the body by reading
in a set of coords and colors for each part. Pass GL_TRUE
/* FreeMemory frees all shared
memory allocated for the actor. */
/* This fn will write all actor data
(vertices, normals, color, material, and transformation info) to the file.
*/
|