VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
makVrv::DtDiGuyOsgRootNode Class Reference

Custom per character root node that does custom traversals and short circuits osg lod picking.

Inheritance diagram for makVrv::DtDiGuyOsgRootNode:
Inheritance graph
[legend]

Public Member Functions

 DtDiGuyOsgRootNode (DtDiGuyOsgGraphicsLink *link)
 
virtual ~DtDiGuyOsgRootNode ()
 
virtual void unbuild ()
 
virtual void traverse (osg::NodeVisitor &nv)
 
void add_geode_for_fast_draw (diguyGraphicsShape *shape, osg::Geode *geode, int lod)
 
void add_switch_for_fast_draw (diguyGraphicsShape *shape, osg::Switch *switch_node, int lod)
 
void remove_shape (DtDiGuyOsgGraphicsShape *shape)
 
virtual void setOctreeNode (DtOctreeNode< float64 > *node)
 
virtual DtOctreeNode< float64 > * octreeNode () const
 
virtual void setScenario (DtDiGuyScenario *scenario)
 
virtual DtDiGuyScenarioscenario ()
 
virtual void setPositionAndOrientation (const DtVector &pos, const DtTaitBryan &orient)
 
virtual void setIsOccupant (bool occ)
 
diguyCharacter * character ()
 
const DtVectorposition ()
 
const DtTaitBryan & orientation ()
 
const osg::Quat & quat ()
 
bool isOccupant ()
 
void setLastTraversal (unsigned int lastTrav)
 
unsigned int lastTraversal ()
 

Protected Attributes

std::vector< std::vector
< diguyOsgGraphicsShapeSwitchPair > > 
m_switch_nodes
 
std::vector< std::vector
< diguyOsgGraphicsShapeGeodePair > > 
m_lod_drawables
 
DtDiGuyOsgGraphicsLinkm_link
 
unsigned int myLastTraversal
 
float myMinDrawDistance
 
bool myOccupant
 
DtOctreeNode< float64 > * myOctreeNode
 
DtDiGuyScenariomyScenario
 
DtVector myWorldPosition
 
DtTaitBryan myWorldOrientation
 
osg::Quat myQuat
 

Constructor & Destructor Documentation

makVrv::DtDiGuyOsgRootNode::DtDiGuyOsgRootNode ( DtDiGuyOsgGraphicsLink link)

CTOR.

virtual makVrv::DtDiGuyOsgRootNode::~DtDiGuyOsgRootNode ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtDiGuyOsgRootNode::unbuild ( )
virtual

called by link::unbuild()

virtual void makVrv::DtDiGuyOsgRootNode::traverse ( osg::NodeVisitor &  nv)
virtual

override of base osg code

void makVrv::DtDiGuyOsgRootNode::add_geode_for_fast_draw ( diguyGraphicsShape shape,
osg::Geode *  geode,
int  lod 
)

caches a drawable for drawing quickly

void makVrv::DtDiGuyOsgRootNode::add_switch_for_fast_draw ( diguyGraphicsShape shape,
osg::Switch *  switch_node,
int  lod 
)

adding a switch for fast drawing

void makVrv::DtDiGuyOsgRootNode::remove_shape ( DtDiGuyOsgGraphicsShape shape)

cleans up geodes and shapes

virtual void makVrv::DtDiGuyOsgRootNode::setOctreeNode ( DtOctreeNode< float64 > *  node)
virtual

set octree node associated with this character

virtual DtOctreeNode<float64>* makVrv::DtDiGuyOsgRootNode::octreeNode ( ) const
virtual

gets octree node associated with this character

virtual void makVrv::DtDiGuyOsgRootNode::setScenario ( DtDiGuyScenario scenario)
virtual

set DtDiGuyScenario object associated with this character

virtual DtDiGuyScenario* makVrv::DtDiGuyOsgRootNode::scenario ( )
virtual

get DtDiGuyScenario object associated with this character

virtual void makVrv::DtDiGuyOsgRootNode::setPositionAndOrientation ( const DtVector pos,
const DtTaitBryan &  orient 
)
virtual

updates myWorldPosition, myWorldOrientation, myQuat, doesn't do anything else

virtual void makVrv::DtDiGuyOsgRootNode::setIsOccupant ( bool  occ)
inlinevirtual

is this a non-moving character in a vehicle

References myOccupant.

diguyCharacter* makVrv::DtDiGuyOsgRootNode::character ( )

gets diguy character

const DtVector& makVrv::DtDiGuyOsgRootNode::position ( )
inline

perf critical position of character

References myWorldPosition.

const DtTaitBryan& makVrv::DtDiGuyOsgRootNode::orientation ( )
inline

vrv orientation

References myWorldOrientation.

const osg::Quat& makVrv::DtDiGuyOsgRootNode::quat ( )
inline

cached osg style orientation

References myQuat.

bool makVrv::DtDiGuyOsgRootNode::isOccupant ( )
inline

is this a fake person in a vehicle

References myOccupant.

void makVrv::DtDiGuyOsgRootNode::setLastTraversal ( unsigned int  lastTrav)
inline

used to figure out if the character has been visited yet this frame.

References myLastTraversal.

unsigned int makVrv::DtDiGuyOsgRootNode::lastTraversal ( )
inline

used to figure out if the character has been visited yet this frame.

References myLastTraversal.

Member Data Documentation

std::vector<std::vector<diguyOsgGraphicsShapeSwitchPair> > makVrv::DtDiGuyOsgRootNode::m_switch_nodes
protected
std::vector<std::vector<diguyOsgGraphicsShapeGeodePair> > makVrv::DtDiGuyOsgRootNode::m_lod_drawables
protected
DtDiGuyOsgGraphicsLink* makVrv::DtDiGuyOsgRootNode::m_link
protected
unsigned int makVrv::DtDiGuyOsgRootNode::myLastTraversal
protected

Referenced by lastTraversal(), and setLastTraversal().

float makVrv::DtDiGuyOsgRootNode::myMinDrawDistance
protected
bool makVrv::DtDiGuyOsgRootNode::myOccupant
protected

Referenced by isOccupant(), and setIsOccupant().

DtOctreeNode<float64>* makVrv::DtDiGuyOsgRootNode::myOctreeNode
protected
DtDiGuyScenario* makVrv::DtDiGuyOsgRootNode::myScenario
protected
DtVector makVrv::DtDiGuyOsgRootNode::myWorldPosition
protected

Referenced by position().

DtTaitBryan makVrv::DtDiGuyOsgRootNode::myWorldOrientation
protected

Referenced by orientation().

osg::Quat makVrv::DtDiGuyOsgRootNode::myQuat
protected

Referenced by quat().


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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)