Panda3D
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
MaxNodeTree Class Reference

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.
 
MaxNodeDescbuild_joint (INode *max_node, MaxNodeDesc *node_joint)
 Returns a pointer to the node corresponding to the indicated INode object, creating it first if necessary.
 
MaxNodeDescbuild_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.
 
MaxNodeDescfind_joint (INode *max_node)
 The recursive implementation of build_node().
 
MaxNodeDescfind_node (INode *max_node)
 The recursive implementation of build_node().
 
EggXfmSAnimget_egg_anim (MaxNodeDesc *node_desc)
 Returns the anim table corresponding to the joint for the indicated node.
 
EggGroupget_egg_group (MaxNodeDesc *node_desc)
 Returns the EggGroupNode corresponding to the group or joint for the indicated node.
 
EggTableget_egg_table (MaxNodeDesc *node_desc)
 Returns the EggTable corresponding to the joint for the indicated node.
 
MaxNodeDescget_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
 

Detailed Description

Describes a complete tree of max nodes for conversion.

Definition at line 23 of file maxNodeTree.h.

Constructor & Destructor Documentation

◆ MaxNodeTree()

MaxNodeTree::MaxNodeTree ( )

Definition at line 19 of file maxNodeTree.cxx.

Member Function Documentation

◆ build_complete_hierarchy()

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().

◆ build_joint()

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().

◆ 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().

◆ clear_egg()

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.

◆ find_joint()

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().

◆ find_node()

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().

◆ get_egg_anim()

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().

◆ get_egg_group()

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().

◆ get_egg_table()

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().

◆ get_node()

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.

◆ get_num_nodes()

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.

Member Data Documentation

◆ _export_mesh

bool MaxNodeTree::_export_mesh

Definition at line 45 of file maxNodeTree.h.

◆ _fps

PN_stdfloat MaxNodeTree::_fps

Definition at line 42 of file maxNodeTree.h.

◆ _root

MaxNodeDesc* MaxNodeTree::_root

Definition at line 41 of file maxNodeTree.h.


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