#include <puppet.h>
Inheritance diagram for Puppet::
Public Methods | |
Puppet::Puppet (void) | |
Puppet::~Puppet (void) | |
virtual void | ActOnJoint (uint16 jointEntry, float value) |
Assigns to value to joint. More... | |
virtual RESULT_TYPE | AddNodeJoint (uint16 actionArrayLoc, uint16 actionCode, uint16 actionNode, float valMax, float valMin, string &name, VECTOR_TYPE supplementalData) |
Adds a node joint. More... | |
virtual RESULT_TYPE | AddParticleJoint (uint16 actionArrayLoc, PuppetProperty aP, VECTOR_TYPE vBegin, VECTOR_TYPE vEnd, string &n, VECTOR_TYPE sup) |
Adds a property joint. More... | |
virtual RESULT_TYPE | AddPropertyJoint (uint16 actionArrayLoc, PuppetProperty aP, VECTOR_TYPE vBegin, VECTOR_TYPE vEnd, string &n, VECTOR_TYPE sup, HANDLE_TYPE pH) |
Adds a property joint. More... | |
virtual RESULT_TYPE | DeleteJoint (uint16 actionArrayLoc) |
Deletes a joint. More... | |
void | FillCommon (vpmVPM *vpmPuppetInfo, ssfPuppet *ssfPuppetInfo, VPM *vpmFileInfo, ObjectCreateStruct &createstruct) |
Fills in name, position, scale, and orientation of any puppet from files. More... | |
VECTOR_TYPE | GetPosition (void) |
Gets position. More... | |
VECTOR_TYPE | GetScale (void) |
Gets scale. More... | |
virtual void | KeyframeAnimation (uint16 anim)=0 |
Starts a keyframed animation. More... | |
RESULT_TYPE | ModifyJoint (uint16 actionArrayLoc, JointPart part, float mVal) |
Modify abstract part of a joint. More... | |
RESULT_TYPE | ModifyJoint (uint16 actionArrayLoc, JointPart part, string &mVal) |
RESULT_TYPE | ModifyJoint (uint16 actionArrayLoc, JointPart part, uint16 mVal) |
RESULT_TYPE | ModifyJoint (uint16 actionArrayLoc, JointPart part, VECTOR_TYPE mVal) |
virtual uint16 | PuppetType (void) |
Returns a code identifying the type of puppet. More... | |
void | SetPosition (VECTOR_TYPE newPosition) |
Sets the puppet's position in world-space. More... | |
void | SetScale (VECTOR_TYPE newScale) |
Sets the puppet's scale in world-space. More... | |
virtual void | UpdateTick (void)=0 |
Function that gets called on a puppet every update. More... | |
Public Attributes | |
HANDLE_TYPE | myHandle |
In-engine handle to the object. More... | |
Protected Attributes | |
JointPtr * | actionArray |
Array full of joints. More... | |
uint16 | actionArrayMax |
Maximum number of joints for this puppet. | |
string | modelName |
The name of the model. More... | |
VECTOR_TYPE | position |
Position of puppet. More... | |
VECTOR_TYPE | scale |
Scale of puppet. More... | |
VECTOR_TYPE | orientation |
Orientation of puppet. More... |
Puppet stores all the meta-data connected to a single engine object with modifiable properties. No big surprises here.
|
Assigns to value to joint.
|
|
Adds a node joint.
|
|
Adds a property joint.
|
|
Adds a property joint.
|
|
Deletes a joint.
|
|
Fills in name, position, scale, and orientation of any puppet from files. For most the the puppet constructors, there's quite a bit of common information that has to be entered into an objectcreatestruct, and many fields contained within Puppet that have to be assigned. FillCommon takes some XML parse files and does the work of setting everything general in createstruct, aka everything but the "m_type", and sets any varialbes contained in Puppet to something sane. |
|
Gets position.
|
|
Gets scale.
|
|
Starts a keyframed animation.
Reimplemented in ModelPuppet, LightPuppet, and PSystemPuppet. |
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
Modify abstract part of a joint.
|
|
Returns a code identifying the type of puppet.
Reimplemented in ModelPuppet, LightPuppet, and PSystemPuppet. |
|
Sets the puppet's position in world-space.
|
|
Sets the puppet's scale in world-space.
|
|
Function that gets called on a puppet every update. If a puppet requires maintenance or upkeep of some sort, changing data only when the Stage recieves a network packet from Kairaishi might not be sufficient. Every update tick, this function gets called to remedy that problem. Reimplemented in ModelPuppet, LightPuppet, and PSystemPuppet. |
|
Array full of joints. A dynamically allocated array (just tacked onto the heap once, but could be made to shift in size with the number of joints) that holds all the joints of a puppet. |
|
The name of the model. This value isn't used in filo I/O at all, but rather for GUIs and human-readable analyses of puppets. |
|
In-engine handle to the object. In whatever engine we're working with, some notion of the in-engine version of the puppet must be maintained, so API calls don't require extraneous lookups or dependencies. This would be it. |
|
Orientation of puppet. Vector representing the rotation of the puppet about the X, Y, and Z axes, in order. (So the orientation matrix would be creted by doing the X rotation first, then Y, then Z). This should probably be converted to a more convenient quaternion expression in the future. |
|
Position of puppet. Vector representing the position of the puppet in the engine. |
|
Scale of puppet. Vector representing the scale of the puppet in the engine. |