Panda3D
Public Member Functions | Public Attributes | List of all members
EggTopstrip Class Reference

Reads a character model and/or animations and strips out the animation from one of the top joints from the entire character. More...

#include "eggTopstrip.h"

Inheritance diagram for EggTopstrip:
EggCharacterFilter EggMultiFilter EggMultiBase EggBase ProgramBase

Public Member Functions

void adjust_transform (LMatrix4d &mat) const
 Adjust the transform extracted from the "top" joint according to the -s and -i/-n options, prior to applying it to the skeleton. More...
 
void check_transform_channels ()
 Checks the _transform_channels string to ensure that it contains only the expected nine letters, or a subset. More...
 
void run ()
 
void strip_anim (EggCharacterData *char_data, EggJointData *joint_data, int from_model, EggCharacterData *from_char, EggJointData *top_joint, EggCharacterDb &db)
 Applies the channels from joint _top_joint in model from_model to the joint referenced by joint_data. More...
 
void strip_anim_vertices (EggNode *egg_node, int into_model, int from_model, EggJointData *top_joint, EggCharacterDb &db)
 Applies the channels from joint _top_joint in model from_model to the vertices at egg_node. More...
 
- Public Member Functions inherited from EggCharacterFilter
void add_fixrest_option ()
 
- Public Member Functions inherited from EggMultiFilter
 EggMultiFilter (bool allow_empty=false)
 
- Public Member Functions inherited from EggMultiBase
void post_process_egg_files ()
 Performs any processing of the egg file(s) that is appropriate before writing them out. More...
 
- Public Member Functions inherited from EggBase
void add_normals_options ()
 Adds -no, -np, etc. More...
 
void add_points_options ()
 Adds -points as a valid option for this program. More...
 
void add_transform_options ()
 Adds -TS, -TT, etc. More...
 
- Public Member Functions inherited from ProgramBase
 ProgramBase (const std::string &name=std::string())
 
std::string get_exec_command () const
 Returns the command that invoked this program, as a shell-friendly string, suitable for pasting into the comments of output files. More...
 
virtual void parse_command_line (int argc, char **argv)
 Dispatches on each of the options on the command line, and passes the remaining parameters to handle_args(). More...
 
void show_description ()
 Writes the program description to stderr. More...
 
void show_options ()
 Describes each of the available options to stderr. More...
 
void show_text (const std::string &text)
 Formats the indicated text to stderr with the known _terminal_width. More...
 
void show_text (const std::string &prefix, int indent_width, std::string text)
 Formats the indicated text and its prefix for output to stderr with the known _terminal_width. More...
 
void show_usage ()
 Writes the usage line(s) to stderr. More...
 
void write_man_page (std::ostream &out)
 Generates a man page in nroff syntax based on the description and options. More...
 

Public Attributes

Filename _channel_filename
 
bool _got_invert_transform
 
bool _invert_transform
 
std::string _top_joint_name
 
std::string _transform_channels
 
- Public Attributes inherited from ProgramBase
Args _program_args
 
Filename _program_name
 

Additional Inherited Members

- Public Types inherited from ProgramBase
typedef pdeque< std::string > Args
 
- Static Public Member Functions inherited from EggBase
static void convert_paths (EggNode *node, PathReplace *path_replace, const DSearchPath &additional_path)
 Recursively walks the egg hierarchy. More...
 

Detailed Description

Reads a character model and/or animations and strips out the animation from one of the top joints from the entire character.

Particularly useful for generating stackable character models from separately-extracted characters.

Definition at line 34 of file eggTopstrip.h.

Member Function Documentation

◆ adjust_transform()

void EggTopstrip::adjust_transform ( LMatrix4d &  mat) const

Adjust the transform extracted from the "top" joint according to the -s and -i/-n options, prior to applying it to the skeleton.

Definition at line 287 of file eggTopstrip.cxx.

◆ check_transform_channels()

void EggTopstrip::check_transform_channels ( )

Checks the _transform_channels string to ensure that it contains only the expected nine letters, or a subset.

Definition at line 187 of file eggTopstrip.cxx.

◆ strip_anim()

void EggTopstrip::strip_anim ( EggCharacterData char_data,
EggJointData joint_data,
int  from_model,
EggCharacterData from_char,
EggJointData top_joint,
EggCharacterDb db 
)

Applies the channels from joint _top_joint in model from_model to the joint referenced by joint_data.

Definition at line 222 of file eggTopstrip.cxx.

References EggComponentData::get_num_models().

◆ strip_anim_vertices()

void EggTopstrip::strip_anim_vertices ( EggNode egg_node,
int  into_model,
int  from_model,
EggJointData top_joint,
EggCharacterDb db 
)

Applies the channels from joint _top_joint in model from_model to the vertices at egg_node.

Definition at line 266 of file eggTopstrip.cxx.

References EggComponentData::has_model().


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