Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

TransformState Class Reference

#include <transformState.h>

Inheritance diagram for TransformState:

TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject List of all members.

Public Member Functions

virtual ~TransformState ()
bool operator< (const TransformState &other) const
INLINE bool is_identity () const
INLINE bool is_invalid () const
INLINE bool is_singular () const
INLINE bool has_components () const
INLINE bool components_given () const
INLINE bool hpr_given () const
INLINE bool quat_given () const
INLINE bool has_pos () const
INLINE bool has_hpr () const
INLINE bool has_quat () const
INLINE bool has_scale () const
INLINE bool has_uniform_scale () const
INLINE bool has_mat () const
INLINE const LVecBase3f & get_pos () const
INLINE const LVecBase3f & get_hpr () const
INLINE const LQuaternionf & get_quat () const
INLINE const LVecBase3f & get_scale () const
INLINE float get_uniform_scale () const
INLINE const LMatrix4f & get_mat () const
 CPT (TransformState) set_pos(const LVecBase3f &pos) const
 CPT (TransformState) set_hpr(const LVecBase3f &hpr) const
 CPT (TransformState) set_quat(const LQuaternionf &quat) const
 CPT (TransformState) set_scale(const LVecBase3f &scale) const
 CPT (TransformState) compose(const TransformState *other) const
 CPT (TransformState) invert_compose(const TransformState *other) const
void output (ostream &out) const
void write (ostream &out, int indent_level) const
virtual void write_datagram (BamWriter *manager, Datagram &dg)
virtual void finalize ()
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

 CPT (TransformState) make_invalid()
INLINE CPT (TransformState) make_pos(const LVecBase3f &pos)
INLINE CPT (TransformState) make_hpr(const LVecBase3f &hpr)
INLINE CPT (TransformState) make_quat(const LQuaternionf &quat)
INLINE CPT (TransformState) make_pos_hpr(const LVecBase3f &pos
INLINE CPT (TransformState) make_scale(float scale)
INLINE CPT (TransformState) make_scale(const LVecBase3f &scale)
 CPT (TransformState) make_pos_hpr_scale(const LVecBase3f &pos
 CPT (TransformState) make_pos_quat_scale(const LVecBase3f &pos
 CPT (TransformState) make_mat(const LMatrix4f &mat)
int get_num_states ()
int get_num_unused_states ()
int clear_cache ()
void register_with_read_factory ()
TypedWritablechange_this (TypedWritable *old_ptr, BamReader *manager)
TypeHandle get_class_type ()
void init_type ()

Public Attributes

PUBLISHED __pad0__: static CPT(TransformState) make_identity()
INLINE const LVecBase3f & hpr
const LVecBase3f & hpr
const LVecBase3f const LVecBase3f & scale
const LQuaternionf & quat
const LQuaternionf const LVecBase3f & scale

Protected Member Functions

 TransformState ()
void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

TypedWritablemake_from_bam (const FactoryParams &params)

Private Types

typedef pset< const TransformState *,
IndirectLess< TransformState > > 
States
typedef pmap< const TransformState *,
Composition
CompositionCache
enum  Flags {
  F_is_identity = 0x0001, F_is_singular = 0x0002, F_singular_known = 0x0004, F_components_given = 0x0008,
  F_components_known = 0x0010, F_has_components = 0x0020, F_mat_known = 0x0040, F_is_invalid = 0x0080,
  F_quat_given = 0x0100, F_quat_known = 0x0200, F_hpr_given = 0x0400, F_hpr_known = 0x0800,
  F_uniform_scale = 0x1000, F_is_destructing = 0x8000
}

Private Member Functions

 TransformState (const TransformState &copy)
void operator= (const TransformState &copy)
 CPT (TransformState) do_compose(const TransformState *other) const
 CPT (TransformState) do_invert_compose(const TransformState *other) const
INLINE void check_singular () const
INLINE void check_components () const
INLINE void check_hpr () const
INLINE void check_quat () const
INLINE void check_mat () const
void calc_singular ()
void calc_components ()
void calc_hpr ()
void calc_quat ()
void calc_mat ()
INLINE void check_uniform_scale ()
INLINE void set_destructing ()
INLINE bool is_destructing () const

Static Private Member Functions

 CPT (TransformState) return_new(TransformState *state)
 CPT (TransformState) _identity_state

Private Attributes

States::iterator _saved_entry
CompositionCache _composition_cache
CompositionCache _invert_composition_cache
const TransformState * _self_compose
LVecBase3f _pos
LVecBase3f _hpr
LVecBase3f _scale
LQuaternionf _quat
LMatrix4f _mat
LMatrix4f * _inv_mat
unsigned short _flags

Static Private Attributes

States_states = NULL
TypeHandle _type_handle

Member Typedef Documentation

typedef pmap<const TransformState *, Composition> TransformState::CompositionCache [private]
 

Definition at line 150 of file transformState.h.

typedef pset<const TransformState *, IndirectLess<TransformState> > TransformState::States [private]
 

Definition at line 128 of file transformState.h.

Referenced by clear_cache(), get_num_states(), get_num_unused_states(), and TransformState().


Member Enumeration Documentation

enum TransformState::Flags [private]
 

Enumeration values:
F_is_identity 
F_is_singular 
F_singular_known 
F_components_given 
F_components_known 
F_has_components 
F_mat_known 
F_is_invalid 
F_quat_given 
F_quat_known 
F_hpr_given 
F_hpr_known 
F_uniform_scale 
F_is_destructing 

Definition at line 177 of file transformState.h.


Constructor & Destructor Documentation

TransformState::TransformState  )  [protected]
 

Definition at line 40 of file transformState.cxx.

References _flags, _inv_mat, _saved_entry, _self_compose, _states, F_is_identity, F_singular_known, NULL, and States.

TransformState::TransformState const TransformState &  copy  )  [private]
 

Definition at line 61 of file transformState.cxx.

TransformState::~TransformState  )  [virtual]
 

Definition at line 82 of file transformState.cxx.

References _composition_cache, _inv_mat, _invert_composition_cache, _saved_entry, _self_compose, _states, is_destructing(), NULL, set_destructing(), and unref_delete().


Member Function Documentation

void TransformState::calc_components  )  [private]
 

Definition at line 1038 of file transformState.cxx.

References _flags, _hpr, _pos, _quat, _scale, check_uniform_scale(), decompose_matrix(), F_components_known, F_has_components, F_hpr_known, F_is_identity, F_is_invalid, F_mat_known, F_quat_known, F_uniform_scale, and get_mat().

void TransformState::calc_hpr  )  [private]
 

Definition at line 1078 of file transformState.cxx.

References _flags, _hpr, _quat, check_components(), F_hpr_known, F_is_invalid, and F_quat_known.

void TransformState::calc_mat  )  [private]
 

Definition at line 1114 of file transformState.cxx.

References _flags, _mat, _pos, _scale, compose_matrix(), F_components_known, F_is_identity, F_is_invalid, F_mat_known, and get_hpr().

void TransformState::calc_quat  )  [private]
 

Definition at line 1096 of file transformState.cxx.

References _flags, _hpr, _quat, check_components(), F_hpr_known, F_is_invalid, and F_quat_known.

void TransformState::calc_singular  )  [private]
 

Definition at line 1011 of file transformState.cxx.

References _flags, _inv_mat, F_is_invalid, F_is_singular, F_singular_known, get_mat(), and NULL.

TypedWritable * TransformState::change_this TypedWritable old_ptr,
BamReader manager
[static]
 

Definition at line 1199 of file transformState.cxx.

References CPT(), DCAST, pointer, and BamReader::register_finalize().

Referenced by make_from_bam().

INLINE void TransformState::check_components  )  const [private]
 

Referenced by calc_hpr(), and calc_quat().

INLINE void TransformState::check_hpr  )  const [private]
 

INLINE void TransformState::check_mat  )  const [private]
 

INLINE void TransformState::check_quat  )  const [private]
 

INLINE void TransformState::check_singular  )  const [private]
 

INLINE void TransformState::check_uniform_scale  )  [private]
 

Referenced by calc_components(), and fillin().

int TransformState::clear_cache  )  [static]
 

Definition at line 787 of file transformState.cxx.

References _composition_cache, _invert_composition_cache, _self_compose, _states, NULL, States, and unref_delete().

INLINE bool TransformState::components_given  )  const
 

Referenced by output().

TransformState::CPT TransformState   )  [static, private]
 

TransformState::CPT TransformState   )  const [private]
 

TransformState::CPT TransformState   )  const [private]
 

TransformState::CPT TransformState   )  [static, private]
 

TransformState::CPT TransformState   )  const
 

TransformState::CPT TransformState   )  const
 

TransformState::CPT TransformState   )  const
 

TransformState::CPT TransformState   )  const
 

TransformState::CPT TransformState   )  const
 

TransformState::CPT TransformState   )  const
 

TransformState::CPT TransformState   )  const [static]
 

TransformState::CPT TransformState   )  const [static]
 

TransformState::CPT TransformState   )  const [static]
 

INLINE TransformState::CPT TransformState   )  const [static]
 

INLINE TransformState::CPT TransformState   )  [static]
 

INLINE TransformState::CPT TransformState   )  const [static]
 

INLINE TransformState::CPT TransformState   )  const [static]
 

INLINE TransformState::CPT TransformState   )  const [static]
 

INLINE TransformState::CPT TransformState   )  const [static]
 

TransformState::CPT TransformState   )  [static]
 

Referenced by change_this().

void TransformState::fillin DatagramIterator scan,
BamReader manager
[protected]
 

Reimplemented from TypedWritable.

Definition at line 1268 of file transformState.cxx.

References _flags, _hpr, _mat, _pos, _quat, _scale, check_uniform_scale(), F_components_given, F_hpr_given, F_hpr_known, F_mat_known, F_quat_given, TypedWritable::fillin(), DatagramIterator::get_uint16(), and has_components().

Referenced by make_from_bam().

void TransformState::finalize  )  [virtual]
 

Reimplemented from TypedWritable.

Definition at line 1227 of file transformState.cxx.

References ReferenceCount::unref().

virtual TypeHandle TransformState::force_init_type void   )  [inline, virtual]
 

Reimplemented from TypedWritableReferenceCount.

Definition at line 222 of file transformState.h.

References ReferenceCount::get_class_type(), and TypedWritableReferenceCount::init_type().

TypeHandle TransformState::get_class_type void   )  [inline, static]
 

Reimplemented from ReferenceCount.

Definition at line 211 of file transformState.h.

Referenced by register_with_read_factory().

INLINE const LVecBase3f& TransformState::get_hpr  )  const
 

Referenced by calc_mat(), output(), NodePath::set_hpr(), NodePath::set_pos_hpr(), and write_datagram().

INLINE const LMatrix4f& TransformState::get_mat  )  const
 

Referenced by Fog::adjust_to_camera(), calc_components(), calc_singular(), GraphicsEngine::do_cull(), and output().

int TransformState::get_num_states  )  [static]
 

Definition at line 668 of file transformState.cxx.

References _states, NULL, and States.

int TransformState::get_num_unused_states  )  [static]
 

Definition at line 683 of file transformState.cxx.

References _composition_cache, _invert_composition_cache, _self_compose, _states, count, NULL, and States.

INLINE const LVecBase3f& TransformState::get_pos  )  const
 

Referenced by CPT(), NodePath::get_pos(), output(), and NodePath::set_pos_hpr().

INLINE const LQuaternionf& TransformState::get_quat  )  const
 

Referenced by CPT(), and NodePath::set_quat().

INLINE const LVecBase3f& TransformState::get_scale  )  const
 

Referenced by CPT(), output(), and NodePath::set_scale().

virtual TypeHandle TransformState::get_type void   )  const [inline, virtual]
 

Reimplemented from TypedWritableReferenceCount.

Definition at line 219 of file transformState.h.

References ReferenceCount::get_class_type().

INLINE float TransformState::get_uniform_scale  )  const
 

Referenced by output().

INLINE bool TransformState::has_components  )  const
 

Referenced by CPT(), fillin(), output(), NodePath::set_hpr(), NodePath::set_pos_hpr(), NodePath::set_quat(), and NodePath::set_scale().

INLINE bool TransformState::has_hpr  )  const
 

INLINE bool TransformState::has_mat  )  const
 

INLINE bool TransformState::has_pos  )  const
 

INLINE bool TransformState::has_quat  )  const
 

INLINE bool TransformState::has_scale  )  const
 

INLINE bool TransformState::has_uniform_scale  )  const
 

Referenced by output().

INLINE bool TransformState::hpr_given  )  const
 

void TransformState::init_type void   )  [inline, static]
 

Reimplemented from TypedWritableReferenceCount.

Definition at line 214 of file transformState.h.

References ReferenceCount::get_class_type(), TypedWritableReferenceCount::init_type(), and register_type().

Referenced by init_libpgraph().

INLINE bool TransformState::is_destructing  )  const [private]
 

Referenced by ~TransformState().

INLINE bool TransformState::is_identity  )  const
 

Referenced by CollisionLevelState::apply_transform(), CullTraverserData::apply_transform_and_state(), SceneGraphAnalyzer::collect_statistics(), and output().

INLINE bool TransformState::is_invalid  )  const
 

Referenced by output().

INLINE bool TransformState::is_singular  )  const
 

Referenced by CullTraverserData::apply_transform_and_state().

TypedWritable * TransformState::make_from_bam const FactoryParams params  )  [static, protected]
 

Definition at line 1248 of file transformState.cxx.

References change_this(), fillin(), params, parse_params(), and BamReader::register_change_this().

Referenced by register_with_read_factory().

bool TransformState::operator< const TransformState &  other  )  const
 

Definition at line 208 of file transformState.cxx.

References _flags, _hpr, _pos, _quat, _scale, c, F_components_given, F_hpr_given, F_is_identity, F_is_invalid, and F_quat_given.

void TransformState::operator= const TransformState &  copy  )  [private]
 

Definition at line 71 of file transformState.cxx.

void TransformState::output ostream &  out  )  const
 

Definition at line 595 of file transformState.cxx.

References components_given(), get_hpr(), get_mat(), get_pos(), get_scale(), get_uniform_scale(), has_components(), has_uniform_scale(), is_identity(), is_invalid(), and quat_given().

Referenced by operator<<().

INLINE bool TransformState::quat_given  )  const
 

Referenced by output().

void TransformState::register_with_read_factory  )  [static]
 

Definition at line 1135 of file transformState.cxx.

References get_class_type(), BamReader::get_factory(), make_from_bam(), and Factory< TypedWritable >::register_factory().

Referenced by init_libpgraph().

INLINE void TransformState::set_destructing  )  [private]
 

Referenced by ~TransformState().

void TransformState::write ostream &  out,
int  indent_level
const
 

Definition at line 656 of file transformState.cxx.

References indent().

Referenced by SceneGraphReducer::r_apply_attribs().

void TransformState::write_datagram BamWriter manager,
Datagram dg
[virtual]
 

Implements TypedWritableReferenceCount.

Definition at line 1146 of file transformState.cxx.

References _flags, _mat, _pos, _quat, _scale, Datagram::add_uint16(), F_components_given, F_components_known, F_has_components, F_hpr_given, F_hpr_known, F_is_identity, F_is_invalid, F_is_singular, F_mat_known, F_quat_given, F_quat_known, F_singular_known, get_hpr(), and TypedWritable::write_datagram().


Member Data Documentation

PUBLISHED TransformState::__pad0__
 

Reimplemented from TypedWritableReferenceCount.

Definition at line 70 of file transformState.h.

CompositionCache TransformState::_composition_cache [private]
 

Definition at line 151 of file transformState.h.

Referenced by clear_cache(), get_num_unused_states(), and ~TransformState().

unsigned short TransformState::_flags [private]
 

Definition at line 198 of file transformState.h.

Referenced by calc_components(), calc_hpr(), calc_mat(), calc_quat(), calc_singular(), fillin(), operator<(), TransformState(), and write_datagram().

LVecBase3f TransformState::_hpr [private]
 

Definition at line 193 of file transformState.h.

Referenced by calc_components(), calc_hpr(), calc_quat(), fillin(), and operator<().

LMatrix4f* TransformState::_inv_mat [private]
 

Definition at line 196 of file transformState.h.

Referenced by calc_singular(), TransformState(), and ~TransformState().

CompositionCache TransformState::_invert_composition_cache [private]
 

Definition at line 152 of file transformState.h.

Referenced by clear_cache(), get_num_unused_states(), and ~TransformState().

LMatrix4f TransformState::_mat [private]
 

Definition at line 195 of file transformState.h.

Referenced by calc_mat(), fillin(), and write_datagram().

LVecBase3f TransformState::_pos [private]
 

Definition at line 193 of file transformState.h.

Referenced by calc_components(), calc_mat(), fillin(), operator<(), and write_datagram().

LQuaternionf TransformState::_quat [private]
 

Definition at line 194 of file transformState.h.

Referenced by calc_components(), calc_hpr(), calc_quat(), fillin(), operator<(), and write_datagram().

States::iterator TransformState::_saved_entry [private]
 

Definition at line 135 of file transformState.h.

Referenced by TransformState(), and ~TransformState().

LVecBase3f TransformState::_scale [private]
 

Definition at line 193 of file transformState.h.

Referenced by calc_components(), calc_mat(), fillin(), operator<(), and write_datagram().

const TransformState* TransformState::_self_compose [private]
 

Definition at line 157 of file transformState.h.

Referenced by clear_cache(), get_num_unused_states(), TransformState(), and ~TransformState().

TransformState::States * TransformState::_states = NULL [static, private]
 

Definition at line 27 of file transformState.cxx.

Referenced by clear_cache(), get_num_states(), get_num_unused_states(), TransformState(), and ~TransformState().

TypeHandle TransformState::_type_handle [static, private]
 

Reimplemented from TypedWritableReferenceCount.

Definition at line 225 of file transformState.h.

const LVecBase3f& TransformState::hpr
 

Definition at line 80 of file transformState.h.

INLINE const LVecBase3f& TransformState::hpr
 

Definition at line 76 of file transformState.h.

const LQuaternionf& TransformState::quat
 

Definition at line 83 of file transformState.h.

const LQuaternionf const LVecBase3f& TransformState::scale
 

Definition at line 83 of file transformState.h.

const LVecBase3f const LVecBase3f& TransformState::scale
 

Definition at line 80 of file transformState.h.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:13:44 2003 for Panda by doxygen1.3