15 #ifndef SOFTNODETREE_H
16 #define SOFTNODETREE_H
18 #include "pandatoolbase.h"
19 #include "softNodeDesc.h"
49 char *
GetName(SAA_Scene *scene, SAA_Elem *element);
50 char *
GetFullName(SAA_Scene *scene, SAA_Elem *element);
int get_num_nodes() const
Returns the total number of nodes in the hierarchy, not counting the root node.
EggTable * get_egg_table(SoftNodeDesc *node_desc)
Returns the EggTable corresponding to the joint for the indicated node.
A base class for nodes in the hierarchy that are not leaf nodes.
char * GetModelNoteInfo(SAA_Scene *, SAA_Elem *)
Given an element, return a string containing the contents of its MODEL NOTE entry.
char * GetName(SAA_Scene *scene, SAA_Elem *element)
Given an element, return a copy of the element's name WITHOUT prefix.
This is the primary interface into all the egg data, and the root of the egg file structure...
char * GetFullName(SAA_Scene *scene, SAA_Elem *element)
Given an element, return a copy of the element's name complete with prefix.
Describes a complete tree of soft nodes for conversion.
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 ge...
The main glue of the egg hierarchy, this corresponds to the <Group>, <Instance>, and <Joint> type nod...
char * GetRootName(const char *)
Given a string, return a copy of the string up to the first occurence of '-'.
EggGroup * get_egg_group(SoftNodeDesc *node_desc)
Returns the EggGroupNode corresponding to the group or joint for the indicated node.
bool build_complete_hierarchy(SAA_Scene &scene, SAA_Database &database)
Walks through the complete Soft hierarchy and builds up the corresponding tree.
This corresponds to an <Xfm$Anim_S$> entry, which is a collection of up to nine <S$Anim> entries that...
Describes a single instance of a node aka element in the Soft scene graph, relating it to the corresp...
SoftNodeDesc * get_node(int n) const
Returns the nth node in the hierarchy, in an arbitrary ordering.
void handle_null(SAA_Scene *scene, SoftNodeDesc *node_desc, const char *node_name)
Sets joint information for MNILL node.
SoftNodeDesc * build_node(SAA_Scene *scene, SAA_Elem *model)
Returns a pointer to the node corresponding to the indicated dag_path object, creating it first if ne...
EggXfmSAnim * get_egg_anim(SoftNodeDesc *node_desc)
Returns the anim table corresponding to the joint for the indicated node.