ScummVM API documentation
Grim::ModelNode Class Reference

Public Member Functions

void loadBinary (Common::SeekableReadStream *data, ModelNode *hierNodes, const Model::Geoset *g)
 
void draw () const
 
void getBoundingBox (int *x1, int *y1, int *x2, int *y2) const
 
void addChild (ModelNode *child)
 
void removeChild (ModelNode *child)
 
void setMatrix (const Math::Matrix4 &matrix)
 
void update ()
 
void addSprite (Sprite *sprite)
 
void removeSprite (const Sprite *sprite)
 
void translateViewpoint () const
 
void translateViewpointStart () const
 
void translateViewpointFinish () const
 

Public Attributes

char _name [64]
 
Mesh_mesh
 
int _flags
 
int _type
 
int _depth
 
int _numChildren
 
ModelNode_parent
 
ModelNode_child
 
ModelNode_sibling
 
Math::Vector3d _pos
 
Math::Vector3d _pivot
 
Math::Quaternion _rot
 
Math::Vector3d _animPos
 
Math::Quaternion _animRot
 
bool _meshVisible
 
bool _hierVisible
 
bool _initialized
 
bool _needsUpdate
 
Math::Matrix4 _matrix
 
Math::Matrix4 _localMatrix
 
Math::Matrix4 _pivotMatrix
 
Sprite_sprite
 

Member Data Documentation

◆ _flags

int Grim::ModelNode::_flags

A value of 0x100 (256) specifies that when animating this node, keyframes should not be interpolated (lerped), but instead the transition from source to target is to occur discretely.

◆ _type

int Grim::ModelNode::_type

Each KeyFrameAnim has a type identifier. This type field is a bitmask which is ANDed againts the type in the KeyFrameAnim to control which KeyFrameAnims animate on which nodes of the character. This enables selectively controlling the animations to act only on certain bones.


The documentation for this class was generated from the following file: