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

Owns a DiGuy scenario for the application.

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

Public Types

typedef std::set< DtStringStringSet
 
typedef std::vector< StringSetStringSetVec
 
typedef std::vector
< DtDiguyLightConfig
LightConfigDataArray
 
typedef std::vector
< DtDiguyStationConfig
StationConfigArray
 

Public Member Functions

 DtDiGuyScenario (const DtDiGuyScenario &rhs)=delete
 
DtDiGuyScenariooperator= (const DtDiGuyScenario &rhs)=delete
 
virtual ~DtDiGuyScenario ()
 
void initializeVisualComponent ()
 
diguyScenario & scenario ()
 
virtual void clearScene ()
 
virtual osg::Node * characterRoot ()
 
virtual bool useGuides () const
 
virtual float guideSyncGain () const
 
virtual bool useInstancing () const
 
virtual bool useTextureVariations () const
 
virtual bool useMultithreadedCull () const
 
virtual bool useOctree () const
 
std::string findCharacterName (DtElementID parentSceneObjectID)
 
diguyCharacter * getCharacter (DtElementID parentSceneObjectID)
 
int getSupportsWeightVariations (DtElementID parentSceneObjectID)
 
bool evalScript (const std::string &script)
 
virtual bool isGeocentric () const
 
virtual DtDegetDe ()
 
virtual void cullAndUpdate (const Frustum_64 &frustum, const DtDiGuyCullData &cullData)
 
virtual DtDiGuyInstanceDrawableinstancedDrawable ()
 
virtual void updateStats (int mask, double duration)
 
virtual DtLightPointNodelightPointNode ()
 
virtual const
LightConfigDataArray
lightDataArray ()
 
virtual const StationConfigArraystationDataArray ()
 
virtual void drawDebugLines (osg::RenderInfo &renderInfo, const osg::Vec3d &eyePoint, DtOsgGizmoRenderer *renderer)
 
virtual bool debugUIActive ()
 
Octree methods.
virtual void createOctreeNode (DtDiGuyOsgRootNode *pChar)
 
virtual void destroyOctreeNode (DtDiGuyOsgRootNode *pChar)
 
virtual void characterOctreeNodeUpdated (DtDiGuyOsgRootNode *pChar)
 
virtual Octree_64octree ()
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtDiGuyScenarioinstance (DtDe &de, bool initVisualComponent=true)
 
static DtDiGuyScenariolightweight_instance (const std::string &dataPath)
 
static osg::Group * getDiGuyAttachGroup ()
 
static osg::Group * getDiGuyInstancingAttachGroup ()
 

Static Public Attributes

static int theStatNumCharDrawn
 
static std::atomic< inttheStatNumCharInstanced
 

Protected Member Functions

 DtDiGuyScenario (DtDe &de)
 
 DtDiGuyScenario (const std::string &dataPth)
 
void updateScenario (double simTime)
 
void setComponentVisualizationMode (int mode)
 
void createDiGuyScenario ()
 
Slots for DtDe renderer and DtDeSharedStateSignaler signals.
virtual void slot_terrainLoaded (const DtUnicode &terrain, bool reload)
 
virtual void slot_windowCreated (DtWindow *window)
 
virtual void slot_windowDestroyed (DtWindow *window)
 
virtual void slot_ProfilingChanged (bool active)
 
virtual void slot_reloadShader ()
 
virtual void slot_displayConfigurationRealized ()
 
virtual void slot_preDraw ()
 
virtual void slot_postDraw ()
 
virtual void slot_postUpdate ()
 
virtual void syncToSharedDiGuySettings ()
 
virtual void slot_diGuyInstancingEnabledChanged (bool enabled)
 
virtual void slot_diGuyInstancedLodChanged (int lod)
 
virtual void slot_diGuyVisualizeInstancingChanged (bool enabled)
 
virtual void slot_diGuyTextureVariationsEnabledChanged (bool enabled)
 
virtual void slot_diGuyMaxDrawDistanceChanged (float distance)
 
virtual void slot_diGuyMaxMotionUpdateDistanceChanged (float distance)
 
virtual void slot_diGuyMultiThreadUpdateChanged (bool enabled)
 
virtual void updateImgui (void)
 

Static Protected Member Functions

static DtDiGuyScenariocreateInstance (DtDe &de, bool initVisualComponent=true)
 
static DtDiGuyScenariocreateNonVisualInstance (const std::string &dataPath)
 
static void slot_displayToBeDestroyed (const std::string &displayName, DtDe *de)
 

Protected Attributes

DtDemyDe
 
bool myDeIsValid
 
diguyScenario * myScenario
 
osg::ref_ptr< osg::Group > myDiguyRoot
 
osg::ref_ptr< osg::Group > myCharacterRoot
 
osg::ref_ptr< DtLightPointNodemyLightPointNode
 
osg::ref_ptr
< osg::MatrixTransform > 
myLightPointRoot
 
osg::ref_ptr
< osg::MatrixTransform > 
myInstancingRoot
 
osg::ref_ptr
< DtDiGuyInstanceDrawable
myInstancedDrawable
 
bool myIsGeocentric
 
double myFirstUpdateT
 
double myPreviousUpdateTime
 
bool myUseInstancing
 
bool myUseGuides
 
bool myUseTextureVariations
 
bool myUseOctree
 
bool myUseMultithreadedCull
 
bool myDrawSkeletons
 
bool myDrawIKVisuals
 
bool myDrawMovementInfo
 
float myMaxMotionUpdateDistance
 
float myGuideSyncGain
 
bool myVisualComponentInitialized
 
bool myLightweightInstance
 
bool myDebugUIActive
 
std::string myAlternateDataPath
 
DtSignalConnectionManager myConnections
 
tbb::mutex myOctreeMutex
 
Octree_64myOctree
 
Octree_64::NodeVector myVisibleOctreeNodes
 
tbb::concurrent_vector
< DtDiGuyOsgRootNode * > 
myNoninstancedNodeArray
 
int myStatOctreeUpdate
 
float myStatOctreeUpdateTime
 
float myStatPreviousOctreeUpdateTime
 
float myStatCulltime
 
LightConfigDataArray myLightDataArray
 
StationConfigArray myStationDataArray
 
bool myReAddNodeToSceneGraph
 

Member Typedef Documentation

Constructor & Destructor Documentation

makVrv::DtDiGuyScenario::DtDiGuyScenario ( DtDe de)
protected
makVrv::DtDiGuyScenario::DtDiGuyScenario ( const std::string &  dataPth)
protected
makVrv::DtDiGuyScenario::DtDiGuyScenario ( const DtDiGuyScenario rhs)
delete

Copy CTOR ( Deleted - non-copyable ).

virtual makVrv::DtDiGuyScenario::~DtDiGuyScenario ( )
virtual

DTOR.

Member Function Documentation

static DtDiGuyScenario& makVrv::DtDiGuyScenario::instance ( DtDe de,
bool  initVisualComponent = true 
)
static
static DtDiGuyScenario* makVrv::DtDiGuyScenario::lightweight_instance ( const std::string &  dataPath)
static
DtDiGuyScenario& makVrv::DtDiGuyScenario::operator= ( const DtDiGuyScenario rhs)
delete

Assignment operator ( Deleted - non-copyable ).

void makVrv::DtDiGuyScenario::initializeVisualComponent ( )
diguyScenario& makVrv::DtDiGuyScenario::scenario ( )

Get the scenario.:

virtual void makVrv::DtDiGuyScenario::clearScene ( )
virtual
virtual osg::Node* makVrv::DtDiGuyScenario::characterRoot ( )
virtual

Get the OSG root node for the DI-Guy character geometry.

virtual bool makVrv::DtDiGuyScenario::useGuides ( ) const
virtual

should diguy guides be used to smooth character movement

virtual float makVrv::DtDiGuyScenario::guideSyncGain ( ) const
virtual

how aggressive the guides should be to get from diguy motion data to dead reckoned data

virtual bool makVrv::DtDiGuyScenario::useInstancing ( ) const
virtual

should instancing be used

virtual bool makVrv::DtDiGuyScenario::useTextureVariations ( ) const
virtual

should texture variation system be used

virtual bool makVrv::DtDiGuyScenario::useMultithreadedCull ( ) const
virtual

should cull run in parallel

virtual bool makVrv::DtDiGuyScenario::useOctree ( ) const
virtual

should we use an octtree for culling

std::string makVrv::DtDiGuyScenario::findCharacterName ( DtElementID  parentSceneObjectID)

Finds the character name, given the parent scene object ID.

diguyCharacter* makVrv::DtDiGuyScenario::getCharacter ( DtElementID  parentSceneObjectID)

helper function to get pointer to specific DI-Guy character

int makVrv::DtDiGuyScenario::getSupportsWeightVariations ( DtElementID  parentSceneObjectID)

Returns if character supports weight variations (skinny to fat)

bool makVrv::DtDiGuyScenario::evalScript ( const std::string &  script)

Evaluates a script using the diguyScenario's interpreter.

static osg::Group* makVrv::DtDiGuyScenario::getDiGuyAttachGroup ( )
static

Accessor for getting to the diguy attach group without needing to include/link diguy libraries.

static osg::Group* makVrv::DtDiGuyScenario::getDiGuyInstancingAttachGroup ( )
static

Accessor for getting to the diguy instancing attach group without needing to include/link diguy libraries.

virtual bool makVrv::DtDiGuyScenario::isGeocentric ( ) const
virtual

cached value so that every character doesn't need to ask

virtual void makVrv::DtDiGuyScenario::createOctreeNode ( DtDiGuyOsgRootNode pChar)
virtual

octree functions for faster cull traversals

virtual void makVrv::DtDiGuyScenario::destroyOctreeNode ( DtDiGuyOsgRootNode pChar)
virtual

remove associated octree node

virtual void makVrv::DtDiGuyScenario::characterOctreeNodeUpdated ( DtDiGuyOsgRootNode pChar)
virtual

updates the octree with this character root node

virtual Octree_64* makVrv::DtDiGuyScenario::octree ( )
inlinevirtual

returns octree

virtual DtDe& makVrv::DtDiGuyScenario::getDe ( )
inlinevirtual

returns de

virtual void makVrv::DtDiGuyScenario::cullAndUpdate ( const Frustum_64 frustum,
const DtDiGuyCullData cullData 
)
virtual
virtual DtDiGuyInstanceDrawable* makVrv::DtDiGuyScenario::instancedDrawable ( )
inlinevirtual

returns instance drawable singleton

virtual void makVrv::DtDiGuyScenario::updateStats ( int  mask,
double  duration 
)
virtual

only called by octree cull code

virtual DtLightPointNode* makVrv::DtDiGuyScenario::lightPointNode ( )
virtual

returns the light point node for the characters

virtual const LightConfigDataArray& makVrv::DtDiGuyScenario::lightDataArray ( )
virtual

returns the config data for lights.

virtual const StationConfigArray& makVrv::DtDiGuyScenario::stationDataArray ( )
virtual

returns the config data for stations.

virtual void makVrv::DtDiGuyScenario::drawDebugLines ( osg::RenderInfo &  renderInfo,
const osg::Vec3d &  eyePoint,
DtOsgGizmoRenderer renderer 
)
virtual

render gizmo helper function for drawing diguy skeletons and other visuals.

virtual bool makVrv::DtDiGuyScenario::debugUIActive ( )
inlinevirtual

is the lower level debug UI visible

virtual void makVrv::DtDiGuyScenario::slot_terrainLoaded ( const DtUnicode terrain,
bool  reload 
)
protectedvirtual

Called when the window manager destroys a window.

virtual void makVrv::DtDiGuyScenario::slot_windowCreated ( DtWindow window)
protectedvirtual

Called when the window manager creates a window.

virtual void makVrv::DtDiGuyScenario::slot_windowDestroyed ( DtWindow window)
protectedvirtual

Called when the window manager destroys a window.

virtual void makVrv::DtDiGuyScenario::slot_ProfilingChanged ( bool  active)
protectedvirtual

Called when f3 stats change.

virtual void makVrv::DtDiGuyScenario::slot_reloadShader ( )
protectedvirtual

Called when someone presses the reload shader button.

virtual void makVrv::DtDiGuyScenario::slot_displayConfigurationRealized ( )
protectedvirtual

Called when DtDe realizes this display engine's display configuration.

virtual void makVrv::DtDiGuyScenario::slot_preDraw ( )
protectedvirtual

Called before rendering the scene.

virtual void makVrv::DtDiGuyScenario::slot_postDraw ( )
protectedvirtual

Called after rendering the scene.

virtual void makVrv::DtDiGuyScenario::slot_postUpdate ( )
protectedvirtual

Called after updating the scene.

virtual void makVrv::DtDiGuyScenario::syncToSharedDiGuySettings ( )
protectedvirtual

pass settings from vrv shared diguy settings down to diguy scenario Requires visual component to be initialized for settings to be applied

virtual void makVrv::DtDiGuyScenario::slot_diGuyInstancingEnabledChanged ( bool  enabled)
protectedvirtual

Receives notification that the user changed the instancing enabled checkbox.

virtual void makVrv::DtDiGuyScenario::slot_diGuyInstancedLodChanged ( int  lod)
protectedvirtual

Receives notification that the user changed the instancing lod value (1-7).

virtual void makVrv::DtDiGuyScenario::slot_diGuyVisualizeInstancingChanged ( bool  enabled)
protectedvirtual

Receives notification that the user changed the visualize instancing checkbox.

virtual void makVrv::DtDiGuyScenario::slot_diGuyTextureVariationsEnabledChanged ( bool  enabled)
protectedvirtual

Receives notification that the user changed the use texture variation enabled checkbox.

virtual void makVrv::DtDiGuyScenario::slot_diGuyMaxDrawDistanceChanged ( float  distance)
protectedvirtual

Receives notification that the user changed the max draw distance.

virtual void makVrv::DtDiGuyScenario::slot_diGuyMaxMotionUpdateDistanceChanged ( float  distance)
protectedvirtual

Receives notification that the user changed the max draw distance.

virtual void makVrv::DtDiGuyScenario::slot_diGuyMultiThreadUpdateChanged ( bool  enabled)
protectedvirtual

Receives notification that the user changed the multi threaded update checkbox.

virtual void makVrv::DtDiGuyScenario::updateImgui ( void  )
protectedvirtual

Called when the window manager destroys a window.

void makVrv::DtDiGuyScenario::updateScenario ( double  simTime)
protected
void makVrv::DtDiGuyScenario::setComponentVisualizationMode ( int  mode)
protected
void makVrv::DtDiGuyScenario::createDiGuyScenario ( )
protected
static DtDiGuyScenario* makVrv::DtDiGuyScenario::createInstance ( DtDe de,
bool  initVisualComponent = true 
)
staticprotected
static DtDiGuyScenario* makVrv::DtDiGuyScenario::createNonVisualInstance ( const std::string &  dataPath)
staticprotected
static void makVrv::DtDiGuyScenario::slot_displayToBeDestroyed ( const std::string &  displayName,
DtDe de 
)
staticprotected

Member Data Documentation

int makVrv::DtDiGuyScenario::theStatNumCharDrawn
static
std::atomic<int> makVrv::DtDiGuyScenario::theStatNumCharInstanced
static
DtDe& makVrv::DtDiGuyScenario::myDe
protected
bool makVrv::DtDiGuyScenario::myDeIsValid
protected
diguyScenario* makVrv::DtDiGuyScenario::myScenario
protected
osg::ref_ptr<osg::Group> makVrv::DtDiGuyScenario::myDiguyRoot
protected
osg::ref_ptr<osg::Group> makVrv::DtDiGuyScenario::myCharacterRoot
protected
osg::ref_ptr<DtLightPointNode> makVrv::DtDiGuyScenario::myLightPointNode
protected
osg::ref_ptr<osg::MatrixTransform> makVrv::DtDiGuyScenario::myLightPointRoot
protected
osg::ref_ptr<osg::MatrixTransform> makVrv::DtDiGuyScenario::myInstancingRoot
protected
osg::ref_ptr<DtDiGuyInstanceDrawable> makVrv::DtDiGuyScenario::myInstancedDrawable
protected
bool makVrv::DtDiGuyScenario::myIsGeocentric
protected
double makVrv::DtDiGuyScenario::myFirstUpdateT
protected
double makVrv::DtDiGuyScenario::myPreviousUpdateTime
protected
bool makVrv::DtDiGuyScenario::myUseInstancing
protected
bool makVrv::DtDiGuyScenario::myUseGuides
protected
bool makVrv::DtDiGuyScenario::myUseTextureVariations
protected
bool makVrv::DtDiGuyScenario::myUseOctree
protected
bool makVrv::DtDiGuyScenario::myUseMultithreadedCull
protected
bool makVrv::DtDiGuyScenario::myDrawSkeletons
protected
bool makVrv::DtDiGuyScenario::myDrawIKVisuals
protected
bool makVrv::DtDiGuyScenario::myDrawMovementInfo
protected
float makVrv::DtDiGuyScenario::myMaxMotionUpdateDistance
protected
float makVrv::DtDiGuyScenario::myGuideSyncGain
protected
bool makVrv::DtDiGuyScenario::myVisualComponentInitialized
protected
bool makVrv::DtDiGuyScenario::myLightweightInstance
protected
bool makVrv::DtDiGuyScenario::myDebugUIActive
protected
std::string makVrv::DtDiGuyScenario::myAlternateDataPath
protected
DtSignalConnectionManager makVrv::DtDiGuyScenario::myConnections
protected
tbb::mutex makVrv::DtDiGuyScenario::myOctreeMutex
protected
Octree_64* makVrv::DtDiGuyScenario::myOctree
protected
Octree_64::NodeVector makVrv::DtDiGuyScenario::myVisibleOctreeNodes
protected
tbb::concurrent_vector<DtDiGuyOsgRootNode*> makVrv::DtDiGuyScenario::myNoninstancedNodeArray
protected
int makVrv::DtDiGuyScenario::myStatOctreeUpdate
protected
float makVrv::DtDiGuyScenario::myStatOctreeUpdateTime
protected
float makVrv::DtDiGuyScenario::myStatPreviousOctreeUpdateTime
protected
float makVrv::DtDiGuyScenario::myStatCulltime
protected
LightConfigDataArray makVrv::DtDiGuyScenario::myLightDataArray
protected
StationConfigArray makVrv::DtDiGuyScenario::myStationDataArray
protected
bool makVrv::DtDiGuyScenario::myReAddNodeToSceneGraph
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)