Panda3D
|
This keeps track of relevant things about the traversal as we walk through the flt hierarchy. More...
#include "fltToEggLevelState.h"
Public Member Functions | |
FltToEggLevelState (const FltToEggLevelState ©) | |
FltToEggLevelState (FltToEggConverter *converter) | |
EggGroupNode * | get_synthetic_group (const std::string &name, const FltBead *transform_bead, FltGeometry::BillboardType type=FltGeometry::BT_none) |
Sometimes it is necessary to synthesize a group within a particular EggGroup, for instance to insert a transform or billboard flag. | |
void | operator= (const FltToEggLevelState ©) |
void | set_transform (const FltBead *flt_bead, EggGroup *egg_group) |
Sets up the group to reflect the transform indicated by the given record, if any. | |
Public Attributes | |
EggGroupNode * | _egg_parent |
const FltObject * | _flt_object |
This keeps track of relevant things about the traversal as we walk through the flt hierarchy.
Definition at line 30 of file fltToEggLevelState.h.
|
inline |
Definition at line 17 of file fltToEggLevelState.I.
|
inline |
Definition at line 28 of file fltToEggLevelState.I.
FltToEggLevelState::~FltToEggLevelState | ( | ) |
Definition at line 29 of file fltToEggLevelState.cxx.
EggGroupNode * FltToEggLevelState::get_synthetic_group | ( | const std::string & | name, |
const FltBead * | transform_bead, | ||
FltGeometry::BillboardType | type = FltGeometry::BT_none ) |
Sometimes it is necessary to synthesize a group within a particular EggGroup, for instance to insert a transform or billboard flag.
This function will synthesize a group as needed, or return an existing group (if the group need not be synthesized, or if a matching group was previously synthesized).
This collects together polygons that share the same billboard axis and/or transform space into the same group, rather than wastefully creating a group per polygon.
Definition at line 58 of file fltToEggLevelState.cxx.
References EggGroupNode::add_child(), FltBead::get_transform(), and set_transform().
|
inline |
Definition at line 40 of file fltToEggLevelState.I.
Sets up the group to reflect the transform indicated by the given record, if any.
Definition at line 126 of file fltToEggLevelState.cxx.
References EggTransform::add_rotate3d(), EggTransform::add_scale3d(), EggTransform::add_translate3d(), EggTransform::clear_transform(), FltTransformRotateAboutEdge::get_angle(), FltTransformRotateAboutPoint::get_angle(), FltBead::get_num_transform_steps(), FltBead::get_transform(), FltBead::get_transform_step(), FltBead::has_transform(), TypedObject::is_exact_type(), and EggTransform::set_transform3d().
Referenced by get_synthetic_group().
EggGroupNode* FltToEggLevelState::_egg_parent |
Definition at line 44 of file fltToEggLevelState.h.
const FltObject* FltToEggLevelState::_flt_object |
Definition at line 43 of file fltToEggLevelState.h.