VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDe.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vrvCore/DtDisplayProxy.h>
14 
17 #include <vrvUtil/signalslib.h>
18 
19 #include <vlutil/vlThreadSysWrapper.h>
20 
21 #include <vector>
22 
23 #include <boost/bind.hpp>
24 #include <tbb/mutex.h>
25 #include <tbb/recursive_mutex.h>
26 
29 #define DT_DE_INIT_ONCE(de)\
30 if(de.isInitFunctionRegistered((void*)&init))\
31 {\
32  return;\
33 }\
34 else\
35 {\
36  de.registerInitFunction((void*)&init);\
37 }
38 
39 class DtClock;
40 
41 namespace makVrv
42 {
43  class DtAgentManager;
44  class DtBackgroundLoader;
45  class DtDataBank;
46  class DtDeProctor;
47  class DtDeSharedState;
48  class DtDisplay;
49  class DtDriverManager;
50  class DtFileCache;
51  class DtInMemoryProfilerDistributorAgent;
52  class DtMessageDispatcher;
53  class DtProctor;
54  class DtRenderer;
55  class DtScene;
56  class DtVirtualBaseClass;
57  class DtSchemaManager;
58  class DtStatsSet;
59  class DtDeError;
60  class DtDisplayConfiguration;
61  class DtWindowConfiguration;
62  class DtChannelConfiguration;
63  class DtDriverConfiguration;
64  class DtSynchronizedTimeManager;
65 
70  {
71  public:
72 
73  friend class DtDeProctor;
74 
76  typedef std::vector<std::pair<DtDeError,bool> > DeErrors;
77 
78  public:
79 
81  DtDe();
82 
85  virtual ~DtDe();
86 
90  bool destructing();
91 
98  bool resetting();
99 
103  virtual void setDeInitializer(const DtDeInitializer& initializer);
104 
109  virtual void setPathConfiguration(const DtDePathConfiguration& pathConfig);
110 
113  {
114  Initialized = 1,
115  UnableToInitialize = 0,
116  UnableToInitializeDueToLicense = -1
117  };
118 
131  virtual InitializationResult initialize( bool abortOnLicenseFailure = true, bool useLicenseErrorDialog=true );
132 
134  bool initialized() const;
135 
139  DtThreadId threadId();
140 
146  virtual void setDeConfiguration(const DtDeConfiguration& deConfig);
147 
156  virtual void tick(double simTime);
157 
161  inline void retick() { tick(simulationTime()); }
162 
166  virtual bool timeToStop() const;
167 
169  virtual void setTimeToStop(bool flag = true);
170 
172  virtual void quit();
173 
175  virtual void reset();
176 
178  virtual void updateScene();
179 
181 
182 
184  virtual const DtDeConfiguration& deConfiguration() const;
185 
188  virtual DtDeCommunicator& igCommunicator();
189 
191  DtMainEventQueue& mainEventQueue();
192 
195  virtual DtDisplay* display();
196 
201  virtual DtScene& scene();
202 
206  virtual DtDataBank& dataBank();
207 
211  virtual DtDriverManager& driverManager();
212 
214  bool driverManagerCreated() const;
215 
217  virtual DtMessageDispatcher& dispatcher();
218 
220  inline DtDebugLog& log() { return *myDebugLog; }
221 
224  DtAgentManager& agentManager();
225 
227  DtBackgroundLoader& backgroundLoader();
228 
230  virtual double simulationTime() const;
231 
234  virtual double syncedTime() const;
235 
239  virtual DtSynchronizedTimeManager* findSynchronizedTimeManager();
240 
242  virtual int displayCount() const;
243 
245  virtual const DtDeInitializer& deInitializer() const;
246 
248  virtual const DtDePathConfiguration& dePathConfiguration() const;
249 
251  virtual bool isInMasterMode() const;
252 
254  virtual bool isInSlaveMode() const;
255 
257  virtual DtDeSharedState& sharedState();
258  virtual const DtDeSharedState& sharedState() const;
259 
262  virtual const DtSchemaManager* findSchemaManager() const;
263  virtual DtSchemaManager* findSchemaManager();
264 
266  virtual DtFileCache* fileCache();
267 
269  virtual const DeErrors deErrors() const;
270 
272  virtual void clearDeErrors();
273 
275  virtual DtRenderer& renderer() const;
276 
278  bool renderFrameThisTick() const;
279 
283  virtual bool licenseAvailable() const;
284 
286 
288 
289 
293  virtual bool addDisplayConfiguration(const DtDisplayConfiguration&);
294 
304  virtual void realizeDisplayConfiguration(const std::string& clientName,
305  const std::string& displayName);
306 
309  virtual void destroyDisplay(DtDisplayProxySP display);
310 
313  virtual void destroyDisplay(const std::string& displayName);
314 
316  virtual void destroyAllDisplays();
317 
319  virtual bool modifyDisplay( const std::string& displayName,
320  const DtDisplayConfiguration& config );
321 
323 
325 
326 
329  virtual void setSimulationTime(double time);
330 
334  virtual double systemTime() const;
335 
337  virtual void setCurrentFrameNumber(unsigned int frameNumber);
338 
340  virtual unsigned int currentFrameNumber() const;
341 
343  virtual bool isPaused() const;
344 
348  virtual void pause();
349 
351  virtual void resume();
352 
357  double pausedTime() const;
358 
360  typedef DtVirtualBaseClass& (*StaticInstanceFunction)(DtDe&);
361 
364  virtual DtVirtualBaseClass* findFastInstance(
365  StaticInstanceFunction classInstanceFunction) const;
366 
370  template <typename Class>
371  DtVirtualBaseClass* findFastInstance(Class& (*staticInstFunc)(DtDe&)) const
372  {
373  return findFastInstance(reinterpret_cast<StaticInstanceFunction>(staticInstFunc));
374  }
375 
378  virtual void registerFastInstance(
379  StaticInstanceFunction classInstanceFunction, DtVirtualBaseClass* inst);
380 
384  template <typename Class>
385  void registerFastInstance(Class& (*staticInstFunc)(DtDe&),DtVirtualBaseClass* inst)
386  {
387  registerFastInstance(reinterpret_cast<StaticInstanceFunction>(staticInstFunc),inst);
388  }
389 
392  virtual DtVirtualBaseClass* findInstance(
393  const std::string& instanceName) const;
394 
404  virtual void registerInstance(const std::string& instanceName,
405  DtVirtualBaseClass* instance);
406 
408  virtual void registerProctor(unsigned short handlerId,DtProctor*);
409 
412  virtual void unregisterProctor(unsigned short handlerId);
413 
415  DtProctor* findProctor(unsigned short handlerId) const;
416 
419  DtDisplayProxySP findDisplay(const std::string& displayName );
420 
422  virtual DtDisplayProxySP findDisplayByIndex(int index);
423 
425  void setRenderFrameThisTick(bool update);
426 
429  virtual bool modelSetActive(int i) const;
430 
433  virtual void determineActiveModelSets();
434 
436  virtual bool isValidDisplayConfiguration( const DtDisplayConfiguration& dec );
437 
439  virtual void createDebugLog(const std::string& fileName, DtDebugLog::PrintLevel level);
440 
445  virtual void startLogFrameTime();
446  virtual void stopLogFrameTime();
447 
449 
450  //
452 
453 
459  boost::signalslib::signal<void ()> signal_initializeDefaultState;
460 
465  boost::signalslib::signal<void ()> signal_postInitialize;
466 
472  boost::signalslib::signal<void (DtDe&)> signal_preTick;
473 
479  boost::signalslib::signal<void ()> signal_postTick;
480 
483  boost::signalslib::signal<void (const std::string&, const std::string&)>
485 
489  boost::signalslib::signal<void (const DtDisplayConfiguration&)> signal_displayConfigurationAdded;
490 
494  boost::signalslib::signal<void (const std::string&)> signal_displayToBeDestroyed;
495 
499  boost::signalslib::signal<void (const std::string&, const DtDisplayConfiguration&)>
501 
505  boost::signalslib::signal<void (const std::string&, const DtWindowConfiguration&)>
507 
512  boost::signalslib::signal<void (const std::string&, const std::string&)>
514 
518  boost::signalslib::signal<void (const std::string&, const std::string&,
520 
524  boost::signalslib::signal<void (const std::string&, const std::string&,
526 
530  boost::signalslib::signal<void (const std::string&, const std::string&,
531  const std::string&)> signal_channelToBeDestroyed;
532 
536  boost::signalslib::signal<void (const std::string&, const std::string&,
537  const std::string&, const DtChannelConfiguration&)>
539 
542  boost::signalslib::signal<void (const DtDeError& error, bool critical)> signal_deError;
543 
546  boost::signalslib::signal<void ()> signal_quit;
547 
549  boost::signalslib::signal<void()> signal_pause;
550 
552  boost::signalslib::signal<void()> signal_resume;
553 
554  boost::signalslib::signal<void()> signal_aboutToAutoStartDrivers;
555 
557 
558  //
560 
561 
563  virtual void onSlaveConnected(const std::string& igName);
564 
566  virtual void emitDeError(const DtDeError& error, bool criticalError);
567 
569 
572  static const char* className();
573 
576  void registerInitFunction(void* address);
577 
579  bool isInitFunctionRegistered(void* address);
580 
583  inline bool shouldSendMesssage()
584  {
585  return isInMasterMode() && myCommunicator && !myCommunicator->masterIgOnly();
586  }
587 
590  virtual void setTargetFrameTime(double frameTimeInMs);
593  virtual double targetFrameTime();
594 
597  virtual void runSwapBufferWork();
598 
600  virtual void startProfilerNextFrame();
602  virtual void stopProfilerNextFrame();
603 
605  virtual double lastUpdateTime() const;
606 
607  protected:
608 
610 
611 
613  virtual unsigned int countEmbeddedWindows( const DtDisplayConfiguration &dec );
614 
616 
617 
618  virtual void initializeSchemaManager();
619 
620  virtual void initializeLibXmlIfNecessary();
621 
624  virtual bool shouldSkipThisTick( double simulationTime );
625 
627  virtual void postInitialize();
628 
630  virtual void postInitializeMaster();
631 
633  virtual void checkForData();
634 
636 
638  void slaveTick();
639 
641  void masterTick( double simulationTime );
642 
645  void renderTick(double elapsedTime);
646 
648  DtDeProctor* proctor();
649 
651  virtual bool local_realizeDisplayConfiguration(
652  const std::string& clientName, const std::string& displayName);
653 
656  virtual void local_destroyDisplay(const std::string& displayName);
657 
659  virtual bool local_modifyDisplay( const std::string& displayName,
660  const DtDisplayConfiguration& config );
661 
663  void createDisplay(DtDisplayConfiguration&);
664 
666  void createIgCommunicator( DtDriverConfiguration& config);
667 
669  void destroyDisplay();
670 
672  bool local_addDisplayConfiguration( const DtDisplayConfiguration& dec);
673 
675  virtual void intializeStatsManager(void);
676 
678 
679 
680  protected:
681 
683  typedef std::vector<void*> InitFunctionVector;
684 
685  // Normal map here since add/remove order matters for destruction order
686  typedef std::map<std::string,DtVirtualBaseClass*> RootedSingletonMap;
687  typedef std::map<StaticInstanceFunction,DtVirtualBaseClass*> FastRootedSingletonMap;
688 
689  typedef std::map<std::string,DtDisplayProxyWP> DisplayEngineProxyMap;
690 
691  protected:
692 
693  static const char* myClassName;
694 
699  bool myStopFlag;
702  unsigned int myCurrentFrameNumber;
718 
721 
728  std::vector<bool> myActiveModelSets;
729 
730  mutable std::string myLastInstanceName;
731  mutable RootedSingletonMap::const_iterator myLastInstance;
732  mutable tbb::mutex myInternalDataMutex;
733  mutable tbb::recursive_mutex myErrorMutex;
734 
735  DtThreadId myThreadId;
736 
739 
741  {
742  NoLicense = -1,
743  Master3D_License = 0,
744  XR_License = 1,
745  PVD_License = 2
746  };
747 
749 
750  DtInMemoryProfilerDistributorAgent* myFrameTimeLogger;
753 
754  // This is used to provide an advancing time to the observer and observer event processor
755  // when simulation time is paused. Users of this 'pausedTime' must deal with the fact that
756  // the switch from paused time back to simTime will go 'into the past'
758 
761 
764 
765  // used by IMGui Profiler to start before the rest of the events
768  };
769 
770 
771  template <typename ManagerClass>
772  void defaultManagerRegisterInstanceFunction(DtDe& de, ManagerClass* mgr);
773 
808  template <typename ManagerClass>
809  ManagerClass& defaultManagerInstanceFunction(DtDe& de, bool allowedInSlave)
810  {
811  ManagerClass* mgr = dynamic_cast<ManagerClass*>
812  (de.findFastInstance(&ManagerClass::instance));
813 
814  if(!mgr)
815  {
816  //Require that manager is created before de is initialized.
817  if(de.initialized())
818  {
819  DtTHROW_NEW(DtCorruptedState,
820  "Manager created after display engine was initialized.");
821  }
822 
823  if(!allowedInSlave && de.isInSlaveMode())
824  {
825  DtTHROW_NEW(DtCorruptedState, "Create unsupported manager in slave.");
826  }
827 
828  //Create and register the manager.
829  mgr = new ManagerClass(de);
831  }
832  return *mgr;
833  }
834 
846  template <typename ManagerClass>
847  void defaultManagerRegisterInstanceFunction(DtDe& de, ManagerClass* mgr)
848  {
849  //Always override before init.
850  if(de.initialized())
851  {
852  DtTHROW_NEW(DtCorruptedState,
853  "Manager created after display engine was initialized.");
854  }
855 
856  de.registerFastInstance(&ManagerClass::instance,mgr);
857 
860  mgr->myConnections.manageConnection(
862  &ManagerClass::loadDefaults,mgr)));
863  }
864 
865 }
DtVirtualBaseClass * findFastInstance(Class &(*staticInstFunc)(DtDe &)) const
The instance key is always return the subclass of the virtual base class, since it returns a referenc...
Definition: DtDe.h:371
boost::signalslib::signal< void(const std::string &, const std::string &, const std::string &)> signal_channelToBeDestroyed
Signal is emitted, then the channel is destroyed.
Definition: DtDe.h:531
virtual DtVirtualBaseClass * findFastInstance(StaticInstanceFunction classInstanceFunction) const
Find an instance with the given name.
DeErrors myIgErrors
Definition: DtDe.h:723
boost::signalslib::signal< void(const std::string &, const std::string &, const std::string &, const DtChannelConfiguration &)> signal_channelConfigurationModified
Emitted when a channel is modified.
Definition: DtDe.h:538
DtDisplay * myDisplayEngine
Definition: DtDe.h:707
Virtual base class.
Definition: DtVirtualBaseClass.h:19
boost::signalslib::signal< void(const std::string &)> signal_displayToBeDestroyed
Emitted when a display is removed.
Definition: DtDe.h:494
boost::signalslib::signal< void(const std::string &, const std::string &, const DtChannelConfiguration &)> signal_channelConfigurationAdded
Emitted when a channel is added.
Definition: DtDe.h:525
boost::signalslib::signal< void(DtDe &)> signal_preTick
Signal emitted at the beginning of the tick function.
Definition: DtDe.h:472
DtDeProctor * myIgProctor
Definition: DtDe.h:710
bool myInitializeFlag
Definition: DtDe.h:700
DtSynchronizedTimeManager manages NTP synchronized time DtSynchronizedTimeManager is used by the disp...
Definition: DtSynchronizedTimeManager.h:25
tbb::recursive_mutex myErrorMutex
Definition: DtDe.h:733
The DtDeError instance.
Definition: DtDeError.h:20
An object that represents everything that is visible in the scene.
Definition: DtScene.h:44
DisplayEngineProxyMap myDisplayProxies
Definition: DtDe.h:713
boost::signalslib::signal< void()> signal_quit
Signal emitted by the quit method.
Definition: DtDe.h:546
bool myInTickFlag
Definition: DtDe.h:727
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
boost::signalslib::signal< void()> signal_resume
signal emitted by the resume method.
Definition: DtDe.h:552
double mySystemPausedTime
Definition: DtDe.h:757
DtDePathConfiguration myPathConfiguration
Definition: DtDe.h:698
DtSynchronizedTimeManager * mySynchronizedTimeManager
Definition: DtDe.h:738
DtMainEventQueue myMainEventQueue
Definition: DtDe.h:706
This is a simple class for logging information to a file.
Definition: DtDebugLog.h:37
Component which owns how the application is displayed.
Definition: DtDisplay.h:27
DtAgentManager * myAgentManager
Definition: DtDe.h:712
DtRenderer * myRenderer
Definition: DtDe.h:724
void retick()
Retick is a helper function for simply ticking using the current Simulation time. ...
Definition: DtDe.h:161
bool mySceneNeedsUpdateFlag
Definition: DtDe.h:725
Base class for Proctor classes.
Definition: DtProctor.h:21
double myLastUpdateTime
used by stats system
Definition: DtDe.h:763
boost::signalslib::signal< void()> signal_aboutToAutoStartDrivers
Definition: DtDe.h:554
DtInMemoryProfilerDistributorAgent * myFrameTimeLogger
Definition: DtDe.h:750
InitializationResult
Result codes for the initialize() function.
Definition: DtDe.h:112
core singleton that manages loading for all the various DtModel subclasses
Definition: DtBackgroundLoader.h:38
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:28
The DtDriverManager manages all the DtDriver&#39;s in the DtDe.
Definition: DtDriverManager.h:32
DtDeCommunicator * myCommunicator
Definition: DtDe.h:708
Configuration for the makVrv::DtIgDriver class.
Definition: DtDriverConfiguration.h:19
PrintLevel
Definition: DtDebugLog.h:41
boost::signalslib::signal< void()> signal_postTick
Signal emitted at the end of the tick function.
Definition: DtDe.h:479
Contains makVrv:DtDeCommunicator class.
boost::signalslib::signal< void(const std::string &, const DtWindowConfiguration &)> signal_windowConfigurationAdded
Emitted when a window is added.
Definition: DtDe.h:506
DtDebugLog & log()
Inline access for the debug log object.
Definition: DtDe.h:220
The DtDePathConfiguration contains paths to various files, and can resolve the path macros ...
Definition: DtDePathConfiguration.h:23
boost::signalslib::signal< void(const DtDisplayConfiguration &)> signal_displayConfigurationAdded
Emitted when a display is added.
Definition: DtDe.h:489
DtSchemaManager * mySchemaManager
Definition: DtDe.h:716
bool myRenderedLastFrame
Definition: DtDe.h:751
boost::signalslib::signal< void()> signal_initializeDefaultState
Signal emitted during initialization at at time when it is possible to initialize default state...
Definition: DtDe.h:459
boost::signalslib::signal< void(const std::string &, const std::string &)> signal_windowConfigurationToBeDestroyed
Emitted when a window is destroyed.
Definition: DtDe.h:513
Contains makVrv::DtDisplayProctor class.
DtDriverManager * myDriverManager
Definition: DtDe.h:711
void * myRegInitFunction
Definition: DtDe.h:720
Contains the DtDeInitializer class definition.
std::map< StaticInstanceFunction, DtVirtualBaseClass * > FastRootedSingletonMap
Definition: DtDe.h:687
boost::signalslib::signal< void(const std::string &, const std::string &)> signal_displayConfigurationRealized
Emitted when a Display Engine is told to realize a display configuration.
Definition: DtDe.h:484
LicenseTypes
Definition: DtDe.h:740
DtThreadId myThreadId
Definition: DtDe.h:735
unsigned int myCurrentFrameNumber
Definition: DtDe.h:702
DtClock * mySimulationClock
Definition: DtDe.h:737
tbb::mutex myInternalDataMutex
Definition: DtDe.h:732
bool initialized() const
Get whether the application is initialized.
bool shouldSendMesssage()
Helper function used to check if a message needs to be created and sent.
Definition: DtDe.h:583
boost::signalslib::signal< void()> signal_pause
signal emitted by the pause method.
Definition: DtDe.h:549
The main event queue should live in the main application thread and is used to communicate events to ...
Definition: DtMainEventQueue.h:24
DtDataBank * myDataBank
Definition: DtDe.h:715
LicenseTypes myLicenseType
Definition: DtDe.h:748
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
The DtDeSharedState represents all the data that is shared between the master and its slaves...
Definition: DtDeSharedState.h:43
bool myStopFlag
Definition: DtDe.h:699
DtBackgroundLoader * myBackgroundLoader
Definition: DtDe.h:717
bool myStopProfilerNextFrame
Definition: DtDe.h:767
std::vector< bool > myActiveModelSets
Definition: DtDe.h:728
DtDebugLog * myDebugLog
Definition: DtDe.h:704
DtFileCache * myFileCache
Definition: DtDe.h:722
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
static const char * myClassName
Definition: DtDe.h:693
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:47
std::vector< std::pair< DtDeError, bool > > DeErrors
Typedef of a vector of error/critical.
Definition: DtDe.h:76
virtual bool isInSlaveMode() const
Returns true if the DtDe is in slave mode.
RootedSingletonMap::const_iterator myLastInstance
Definition: DtDe.h:731
The de proctor is responsible for communication changes to slave DtDe instances running on separate p...
Definition: DtDeProctor.h:22
InitFunctionVector myRegisteredInitFunctions
Definition: DtDe.h:719
DtDeConfiguration myConfiguration
Definition: DtDe.h:705
std::string myLastInstanceName
Definition: DtDe.h:730
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:847
std::vector< void * > InitFunctionVector
This vector stores the address of registered init functions.
Definition: DtDe.h:683
The DtAgentManager manages the distributed scene object framework.
Definition: DtAgentManager.h:38
boost::signalslib::signal< void()> signal_postInitialize
Signal emitted at the end of the initialization function.
Definition: DtDe.h:465
Definition: asyncJobServer.h:39
The class responsible for managing communication between multiple DtDe instances typically running in...
Definition: DtDeCommunicator.h:31
The DtRenderer is the component responsible for rendering 3D images onto the screen.
Definition: DtRenderer.h:43
DtMessageDispatcher * myDispatcher
Definition: DtDe.h:709
FastRootedSingletonMap myFastRootedSingletonMap
Definition: DtDe.h:696
void registerFastInstance(Class &(*staticInstFunc)(DtDe &), DtVirtualBaseClass *inst)
The instance key is always return the subclass of the virtual base class, since it returns a referenc...
Definition: DtDe.h:385
DtDataBank is the repository for common element data and simulation-specific state data...
Definition: DtDataBank.h:20
RootedSingletonMap myRootedSingletonMap
Definition: DtDe.h:695
DtDeSharedState * myDeSharedState
Definition: DtDe.h:714
bool myStartProfilerNextFrame
Definition: DtDe.h:766
The configuration of the Display Engine.
Definition: DtDeConfiguration.h:22
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
boost::signalslib::signal< void(const std::string &, const std::string &, const DtWindowConfiguration &)> signal_windowConfigurationModified
Emitted when an realized window is modified.
Definition: DtDe.h:519
DtBoost::shared_ptr< DtDisplayProxy > DtDisplayProxySP
Definition: DtDisplayProxy.h:91
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function.
Definition: DtDe.h:809
boost::signalslib::signal< void(const std::string &, const DtDisplayConfiguration &)> signal_displayModified
Emitted when a display is modified.
Definition: DtDe.h:500
virtual void registerFastInstance(StaticInstanceFunction classInstanceFunction, DtVirtualBaseClass *inst)
Register a fast instance, if the inst is a null pointer the instance key is removed.
bool myResettingFlag
Definition: DtDe.h:752
IGI Manager managers both IGI clients and IGI interfaces.
Definition: DtMessageDispatcher.h:31
Contains makVrv::DtMainEventQueue class.
std::map< std::string, DtVirtualBaseClass * > RootedSingletonMap
Definition: DtDe.h:686
double myNextFixedTime
Definition: DtDe.h:703
boost::signalslib::signal< void(const DtDeError &error, bool critical)> signal_deError
Listen to this signal for Display Engine errors.
Definition: DtDe.h:542
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Handles the caching of files.
Definition: DtFileCache.h:52
The schema manager is responsible to managing all of the schemas in the system.
Definition: DtSchemaManager.h:78
double mySimulationTime
Definition: DtDe.h:701
double myTargetFrameTime
used to budget streaming at the end of a frame
Definition: DtDe.h:760
DtDeInitializer myInitializer
Definition: DtDe.h:697
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:32
bool myDestructionFlag
Definition: DtDe.h:726
std::map< std::string, DtDisplayProxyWP > DisplayEngineProxyMap
Definition: DtDe.h:689

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)