This keeps track of relevant things about the traversal as we walk through the flt hierarchy. More...
#include "fltToEggLevelState.h"
Public Member Functions | |
FltToEggLevelState (FltToEggConverter *converter) | |
FltToEggLevelState (const FltToEggLevelState ©) | |
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. More... | |
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. More... | |
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.
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 59 of file fltToEggLevelState.cxx.
References FltBead::get_transform().
Sets up the group to reflect the transform indicated by the given record, if any.
Definition at line 127 of file fltToEggLevelState.cxx.
References EggTransform::clear_transform(), FltBead::get_num_transform_steps(), and FltBead::has_transform().