Panda3D
|
Describes a complete tree of max nodes for conversion. More...
#include "maxNodeTree.h"
Public Member Functions | |
bool | build_complete_hierarchy (INode *root, ULONG *selection_list, int len) |
Walks through the complete Max hierarchy and builds up the corresponding tree. | |
MaxNodeDesc * | build_joint (INode *max_node, MaxNodeDesc *node_joint) |
Returns a pointer to the node corresponding to the indicated INode object, creating it first if necessary. | |
MaxNodeDesc * | build_node (INode *max_node) |
Returns a pointer to the node corresponding to the indicated INode object, creating it first if necessary. | |
void | clear_egg (EggData *egg_data, EggGroupNode *egg_root, EggGroupNode *skeleton_node) |
Removes all of the references to generated egg structures from the tree, and prepares the tree for generating new egg structures. | |
MaxNodeDesc * | find_joint (INode *max_node) |
The recursive implementation of build_node(). | |
MaxNodeDesc * | find_node (INode *max_node) |
The recursive implementation of build_node(). | |
EggXfmSAnim * | get_egg_anim (MaxNodeDesc *node_desc) |
Returns the anim table corresponding to the joint for the indicated node. | |
EggGroup * | get_egg_group (MaxNodeDesc *node_desc) |
Returns the EggGroupNode corresponding to the group or joint for the indicated node. | |
EggTable * | get_egg_table (MaxNodeDesc *node_desc) |
Returns the EggTable corresponding to the joint for the indicated node. | |
MaxNodeDesc * | get_node (int n) const |
Returns the nth node in the hierarchy, in an arbitrary ordering. | |
int | get_num_nodes () const |
Returns the total number of nodes in the hierarchy, not counting the root node. | |
Public Attributes | |
bool | _export_mesh |
PN_stdfloat | _fps |
MaxNodeDesc * | _root |
Describes a complete tree of max nodes for conversion.
Definition at line 23 of file maxNodeTree.h.
MaxNodeTree::MaxNodeTree | ( | ) |
Definition at line 19 of file maxNodeTree.cxx.
bool MaxNodeTree::build_complete_hierarchy | ( | INode * | root, |
ULONG * | selection_list, | ||
int | len ) |
Walks through the complete Max hierarchy and builds up the corresponding tree.
Definition at line 87 of file maxNodeTree.cxx.
Referenced by MaxToEggConverter::convert().
MaxNodeDesc * MaxNodeTree::build_joint | ( | INode * | max_node, |
MaxNodeDesc * | node_joint ) |
Returns a pointer to the node corresponding to the indicated INode object, creating it first if necessary.
Definition at line 48 of file maxNodeTree.cxx.
References MaxNodeDesc::from_INode().
Referenced by build_node().
MaxNodeDesc * MaxNodeTree::build_node | ( | INode * | max_node | ) |
Returns a pointer to the node corresponding to the indicated INode object, creating it first if necessary.
Definition at line 33 of file maxNodeTree.cxx.
References build_joint(), MaxNodeDesc::from_INode(), and MaxNodeDesc::is_node_joint().
Referenced by find_joint().
void MaxNodeTree::clear_egg | ( | EggData * | egg_data, |
EggGroupNode * | egg_root, | ||
EggGroupNode * | skeleton_node ) |
Removes all of the references to generated egg structures from the tree, and prepares the tree for generating new egg structures.
Definition at line 128 of file maxNodeTree.cxx.
MaxNodeDesc * MaxNodeTree::find_joint | ( | INode * | max_node | ) |
The recursive implementation of build_node().
Definition at line 318 of file maxNodeTree.cxx.
References build_node(), find_node(), and MaxNodeDesc::is_node_joint().
MaxNodeDesc * MaxNodeTree::find_node | ( | INode * | max_node | ) |
The recursive implementation of build_node().
Definition at line 296 of file maxNodeTree.cxx.
Referenced by find_joint().
EggXfmSAnim * MaxNodeTree::get_egg_anim | ( | MaxNodeDesc * | node_desc | ) |
Returns the anim table corresponding to the joint for the indicated node.
Creates the table node if it has not already been created.
Definition at line 222 of file maxNodeTree.cxx.
References get_egg_table().
EggGroup * MaxNodeTree::get_egg_group | ( | MaxNodeDesc * | node_desc | ) |
Returns the EggGroupNode corresponding to the group or joint for the indicated node.
Creates the group node if it has not already been created.
Definition at line 141 of file maxNodeTree.cxx.
References EggGroupNode::add_child(), get_egg_group(), and MaxNodeDesc::is_joint().
Referenced by get_egg_group().
EggTable * MaxNodeTree::get_egg_table | ( | MaxNodeDesc * | node_desc | ) |
Returns the EggTable corresponding to the joint for the indicated node.
Creates the table node if it has not already been created.
Definition at line 187 of file maxNodeTree.cxx.
References EggGroupNode::add_child(), EggData::get_coordinate_system, get_egg_table(), and MaxNodeDesc::is_joint().
Referenced by get_egg_anim(), and get_egg_table().
MaxNodeDesc * MaxNodeTree::get_node | ( | int | n | ) | const |
Returns the nth node in the hierarchy, in an arbitrary ordering.
Definition at line 118 of file maxNodeTree.cxx.
int MaxNodeTree::get_num_nodes | ( | ) | const |
Returns the total number of nodes in the hierarchy, not counting the root node.
Definition at line 110 of file maxNodeTree.cxx.
bool MaxNodeTree::_export_mesh |
Definition at line 45 of file maxNodeTree.h.
PN_stdfloat MaxNodeTree::_fps |
Definition at line 42 of file maxNodeTree.h.
MaxNodeDesc* MaxNodeTree::_root |
Definition at line 41 of file maxNodeTree.h.