VR-Vantage 2.6 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
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 bool isPaused() const;
338 
342  virtual void pause();
343 
345  virtual void resume();
346 
351  double pausedTime() const;
352 
354  typedef DtVirtualBaseClass& (*StaticInstanceFunction)(DtDe&);
355 
358  virtual DtVirtualBaseClass* findFastInstance(
359  StaticInstanceFunction classInstanceFunction) const;
360 
364  template <typename Class>
365  DtVirtualBaseClass* findFastInstance(Class& (*staticInstFunc)(DtDe&)) const
366  {
367  return findFastInstance(reinterpret_cast<StaticInstanceFunction>(staticInstFunc));
368  }
369 
372  virtual void registerFastInstance(
373  StaticInstanceFunction classInstanceFunction, DtVirtualBaseClass* inst);
374 
378  template <typename Class>
379  void registerFastInstance(Class& (*staticInstFunc)(DtDe&),DtVirtualBaseClass* inst)
380  {
381  registerFastInstance(reinterpret_cast<StaticInstanceFunction>(staticInstFunc),inst);
382  }
383 
386  virtual DtVirtualBaseClass* findInstance(
387  const std::string& instanceName) const;
388 
398  virtual void registerInstance(const std::string& instanceName,
399  DtVirtualBaseClass* instance);
400 
402  virtual void registerProctor(unsigned short handlerId,DtProctor*);
403 
406  virtual void unregisterProctor(unsigned short handlerId);
407 
409  DtProctor* findProctor(unsigned short handlerId) const;
410 
413  DtDisplayProxySP findDisplay(const std::string& displayName );
414 
416  virtual DtDisplayProxySP findDisplayByIndex(int index);
417 
419  void setRenderFrameThisTick(bool update);
420 
423  virtual bool modelSetActive(int i) const;
424 
427  virtual void determineActiveModelSets();
428 
430  virtual bool isValidDisplayConfiguration( const DtDisplayConfiguration& dec );
431 
433  virtual void createDebugLog(const std::string& fileName, DtDebugLog::PrintLevel level);
434 
439  virtual void startLogFrameTime();
440  virtual void stopLogFrameTime();
441 
443 
444  //
446 
447 
453  boost::signal<void ()> signal_initializeDefaultState;
454 
459  boost::signal<void ()> signal_postInitialize;
460 
466  boost::signal<void (DtDe&)> signal_preTick;
467 
473  boost::signal<void ()> signal_postTick;
474 
477  boost::signal<void (const std::string&, const std::string&)>
479 
483  boost::signal<void (const DtDisplayConfiguration&)> signal_displayConfigurationAdded;
484 
488  boost::signal<void (const std::string&)> signal_displayToBeDestroyed;
489 
493  boost::signal<void (const std::string&, const DtDisplayConfiguration&)>
495 
499  boost::signal<void (const std::string&, const DtWindowConfiguration&)>
501 
506  boost::signal<void (const std::string&, const std::string&)>
508 
512  boost::signal<void (const std::string&, const std::string&,
514 
518  boost::signal<void (const std::string&, const std::string&,
520 
524  boost::signal<void (const std::string&, const std::string&,
525  const std::string&)> signal_channelToBeDestroyed;
526 
530  boost::signal<void (const std::string&, const std::string&,
531  const std::string&, const DtChannelConfiguration&)>
533 
536  boost::signal<void (const DtDeError& error, bool critical)> signal_deError;
537 
540  boost::signal<void ()> signal_quit;
541 
543  boost::signal<void()> signal_pause;
544 
546  boost::signal<void()> signal_resume;
547 
548  boost::signal<void()> signal_aboutToAutoStartDrivers;
549 
551 
552  //
554 
555 
557  virtual void onSlaveConnected(const std::string& igName);
558 
560  virtual void emitDeError(const DtDeError& error, bool criticalError);
561 
563 
566  static const char* className();
567 
570  void registerInitFunction(void* address);
571 
573  bool isInitFunctionRegistered(void* address);
574 
577  inline bool shouldSendMesssage()
578  {
579  return isInMasterMode() && myCommunicator && !myCommunicator->masterIgOnly();
580  }
581 
584  virtual void setTargetFrameTime(double frameTimeInMs);
587  virtual double targetFrameTime();
588 
591  virtual void runSwapBufferWork();
592 
594  virtual void startProfilerNextFrame();
596  virtual void stopProfilerNextFrame();
597 
599  virtual double lastUpdateTime() const;
600 
601  protected:
602 
604 
605 
607  virtual unsigned int countEmbeddedWindows( const DtDisplayConfiguration &dec );
608 
610 
611 
612  virtual void initializeSchemaManager();
613 
614  virtual void initializeLibXmlIfNecessary();
615 
618  virtual bool shouldSkipThisTick( double simulationTime );
619 
621  virtual void postInitialize();
622 
624  virtual void postInitializeMaster();
625 
627  virtual void checkForData();
628 
630 
632  void slaveTick();
633 
635  void masterTick( double simulationTime );
636 
639  void renderTick(double elapsedTime);
640 
642  DtDeProctor* proctor();
643 
645  virtual bool local_realizeDisplayConfiguration(
646  const std::string& clientName, const std::string& displayName);
647 
650  virtual void local_destroyDisplay(const std::string& displayName);
651 
653  virtual bool local_modifyDisplay( const std::string& displayName,
654  const DtDisplayConfiguration& config );
655 
657  void createDisplay(DtDisplayConfiguration&);
658 
660  void createIgCommunicator( DtDriverConfiguration& config);
661 
663  void destroyDisplay();
664 
666  bool local_addDisplayConfiguration( const DtDisplayConfiguration& dec);
667 
669  virtual void intializeStatsManager(void);
670 
672 
673 
674  protected:
675 
677  typedef std::vector<void*> InitFunctionVector;
678 
679  // Normal map here since add/remove order matters for destruction order
680  typedef std::map<std::string,DtVirtualBaseClass*> RootedSingletonMap;
681  typedef std::map<StaticInstanceFunction,DtVirtualBaseClass*> FastRootedSingletonMap;
682 
683  typedef std::map<std::string,DtDisplayProxyWP> DisplayEngineProxyMap;
684 
685  protected:
686 
687  static const char* myClassName;
688 
693  bool myStopFlag;
711 
714 
721  std::vector<bool> myActiveModelSets;
722 
723  mutable std::string myLastInstanceName;
724  mutable RootedSingletonMap::const_iterator myLastInstance;
725  mutable tbb::mutex myInternalDataMutex;
726  mutable tbb::recursive_mutex myErrorMutex;
727 
728  DtThreadId myThreadId;
729 
732 
734  {
735  NoLicense = -1,
736  Master3D_License = 0,
737  XR_License = 1,
738  PVD_License = 2
739  };
740 
742 
743  DtInMemoryProfilerDistributorAgent* myFrameTimeLogger;
746 
747  // This is used to provide an advancing time to the observer and observer event processor
748  // when simulation time is paused. Users of this 'pausedTime' must deal with the fact that
749  // the switch from paused time back to simTime will go 'into the past'
751 
754 
757 
758  // used by IMGui Profiler to start before the rest of the events
761  };
762 
763 
764  template <typename ManagerClass>
765  void defaultManagerRegisterInstanceFunction(DtDe& de, ManagerClass* mgr);
766 
801  template <typename ManagerClass>
802  ManagerClass& defaultManagerInstanceFunction(DtDe& de, bool allowedInSlave)
803  {
804  ManagerClass* mgr = dynamic_cast<ManagerClass*>
805  (de.findFastInstance(&ManagerClass::instance));
806 
807  if(!mgr)
808  {
809  //Require that manager is created before de is initialized.
810  if(de.initialized())
811  {
812  DtTHROW_NEW(DtCorruptedState,
813  "Manager created after display engine was initialized.");
814  }
815 
816  if(!allowedInSlave && de.isInSlaveMode())
817  {
818  DtTHROW_NEW(DtCorruptedState, "Create unsupported manager in slave.");
819  }
820 
821  //Create and register the manager.
822  mgr = new ManagerClass(de);
824  }
825  return *mgr;
826  }
827 
839  template <typename ManagerClass>
840  void defaultManagerRegisterInstanceFunction(DtDe& de, ManagerClass* mgr)
841  {
842  //Always override before init.
843  if(de.initialized())
844  {
845  DtTHROW_NEW(DtCorruptedState,
846  "Manager created after display engine was initialized.");
847  }
848 
849  de.registerFastInstance(&ManagerClass::instance,mgr);
850 
853  mgr->myConnections.manageConnection(
855  &ManagerClass::loadDefaults,mgr)));
856  }
857 
858 }
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:365
boost::signal< void()> signal_pause
signal emitted by the pause method.
Definition: DtDe.h:543
boost::signal< void(const std::string &, const std::string &, const DtWindowConfiguration &)> signal_windowConfigurationModified
Emitted when an realized window is modified.
Definition: DtDe.h:513
virtual DtVirtualBaseClass * findFastInstance(StaticInstanceFunction classInstanceFunction) const
Find an instance with the given name.
DeErrors myIgErrors
Definition: DtDe.h:716
DtDisplay * myDisplayEngine
Definition: DtDe.h:700
Virtual base class.
Definition: DtVirtualBaseClass.h:22
DtDeProctor * myIgProctor
Definition: DtDe.h:703
boost::signal< void(const DtDisplayConfiguration &)> signal_displayConfigurationAdded
Emitted when a display is added.
Definition: DtDe.h:483
bool myInitializeFlag
Definition: DtDe.h:694
DtSynchronizedTimeManager manages NTP synchronized time DtSynchronizedTimeManager is used by the disp...
Definition: DtSynchronizedTimeManager.h:25
tbb::recursive_mutex myErrorMutex
Definition: DtDe.h:726
The DtDeError instance.
Definition: DtDeError.h:20
An object that represents everything that is visible in the scene.
Definition: DtScene.h:44
boost::signal< void(const std::string &, const std::string &, const std::string &)> signal_channelToBeDestroyed
Signal is emitted, then the channel is destroyed.
Definition: DtDe.h:525
DisplayEngineProxyMap myDisplayProxies
Definition: DtDe.h:706
boost::signal< void(const std::string &, const std::string &)> signal_windowConfigurationToBeDestroyed
Emitted when a window is destroyed.
Definition: DtDe.h:507
bool myInTickFlag
Definition: DtDe.h:720
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
boost::signal< void()> signal_postInitialize
Signal emitted at the end of the initialization function.
Definition: DtDe.h:459
double mySystemPausedTime
Definition: DtDe.h:750
DtDePathConfiguration myPathConfiguration
Definition: DtDe.h:692
DtSynchronizedTimeManager * mySynchronizedTimeManager
Definition: DtDe.h:731
DtMainEventQueue myMainEventQueue
Definition: DtDe.h:699
This is a simple class for logging information to a file.
Definition: DtDebugLog.h:40
Component which owns how the application is displayed.
Definition: DtDisplay.h:30
DtAgentManager * myAgentManager
Definition: DtDe.h:705
DtRenderer * myRenderer
Definition: DtDe.h:717
void retick()
Retick is a helper function for simply ticking using the current Simulation time. ...
Definition: DtDe.h:161
bool mySceneNeedsUpdateFlag
Definition: DtDe.h:718
Base class for Proctor classes.
Definition: DtProctor.h:24
double myLastUpdateTime
used by stats system
Definition: DtDe.h:756
DtInMemoryProfilerDistributorAgent * myFrameTimeLogger
Definition: DtDe.h:743
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:31
The DtDriverManager manages all the DtDriver&#39;s in the DtDe.
Definition: DtDriverManager.h:35
DtDeCommunicator * myCommunicator
Definition: DtDe.h:701
Configuration for the makVrv::DtIgDriver class.
Definition: DtDriverConfiguration.h:19
PrintLevel
Definition: DtDebugLog.h:44
Contains makVrv:DtDeCommunicator class.
DtDebugLog & log()
Inline access for the debug log object.
Definition: DtDe.h:220
boost::signal< void()> signal_initializeDefaultState
Signal emitted during initialization at at time when it is possible to initialize default state...
Definition: DtDe.h:453
The DtDePathConfiguration contains paths to various files, and can resolve the path macros ...
Definition: DtDePathConfiguration.h:26
DtSchemaManager * mySchemaManager
Definition: DtDe.h:709
bool myRenderedLastFrame
Definition: DtDe.h:744
Contains makVrv::DtDisplayProctor class.
DtDriverManager * myDriverManager
Definition: DtDe.h:704
void * myRegInitFunction
Definition: DtDe.h:713
Contains the DtDeInitializer class definition.
std::map< StaticInstanceFunction, DtVirtualBaseClass * > FastRootedSingletonMap
Definition: DtDe.h:681
LicenseTypes
Definition: DtDe.h:733
DtThreadId myThreadId
Definition: DtDe.h:728
DtClock * mySimulationClock
Definition: DtDe.h:730
boost::signal< void()> signal_resume
signal emitted by the resume method.
Definition: DtDe.h:546
tbb::mutex myInternalDataMutex
Definition: DtDe.h:725
boost::signal< void(DtDe &)> signal_preTick
Signal emitted at the beginning of the tick function.
Definition: DtDe.h:466
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:577
The main event queue should live in the main application thread and is used to communicate events to ...
Definition: DtMainEventQueue.h:27
DtDataBank * myDataBank
Definition: DtDe.h:708
LicenseTypes myLicenseType
Definition: DtDe.h:741
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:42
bool myStopFlag
Definition: DtDe.h:693
DtBackgroundLoader * myBackgroundLoader
Definition: DtDe.h:710
bool myStopProfilerNextFrame
Definition: DtDe.h:760
std::vector< bool > myActiveModelSets
Definition: DtDe.h:721
DtDebugLog * myDebugLog
Definition: DtDe.h:697
DtFileCache * myFileCache
Definition: DtDe.h:715
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
static const char * myClassName
Definition: DtDe.h:687
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:47
boost::signal< void(const DtDeError &error, bool critical)> signal_deError
Listen to this signal for Display Engine errors.
Definition: DtDe.h:536
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:724
The de proctor is responsible for communication changes to slave DtDe instances running on separate p...
Definition: DtDeProctor.h:25
InitFunctionVector myRegisteredInitFunctions
Definition: DtDe.h:712
DtDeConfiguration myConfiguration
Definition: DtDe.h:698
std::string myLastInstanceName
Definition: DtDe.h:723
boost::signal< void(const std::string &, const DtWindowConfiguration &)> signal_windowConfigurationAdded
Emitted when a window is added.
Definition: DtDe.h:500
boost::signal< void()> signal_postTick
Signal emitted at the end of the tick function.
Definition: DtDe.h:473
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:840
std::vector< void * > InitFunctionVector
This vector stores the address of registered init functions.
Definition: DtDe.h:677
The DtAgentManager manages the distributed scene object framework.
Definition: DtAgentManager.h:38
boost::signal< void()> signal_aboutToAutoStartDrivers
Signal emitted during initialization at at time when it is possible to initialize default state...
Definition: DtDe.h:548
boost::signal< void(const std::string &, const std::string &, const std::string &, const DtChannelConfiguration &)> signal_channelConfigurationModified
Emitted when a channel is modified.
Definition: DtDe.h:532
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:702
FastRootedSingletonMap myFastRootedSingletonMap
Definition: DtDe.h:690
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:379
DtDataBank is the repository for common element data and simulation-specific state data...
Definition: DtDataBank.h:23
RootedSingletonMap myRootedSingletonMap
Definition: DtDe.h:689
boost::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:478
DtDeSharedState * myDeSharedState
Definition: DtDe.h:707
boost::signal< void()> signal_quit
Signal emitted by the quit method.
Definition: DtDe.h:540
bool myStartProfilerNextFrame
Definition: DtDe.h:759
The configuration of the Display Engine.
Definition: DtDeConfiguration.h:25
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
DtBoost::shared_ptr< DtDisplayProxy > DtDisplayProxySP
Definition: DtDisplayProxy.h:94
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function.
Definition: DtDe.h:802
virtual void registerFastInstance(StaticInstanceFunction classInstanceFunction, DtVirtualBaseClass *inst)
Register a fast instance, if the inst is a null pointer the instance key is removed.
boost::signal< void(const std::string &)> signal_displayToBeDestroyed
Emitted when a display is removed.
Definition: DtDe.h:488
bool myResettingFlag
Definition: DtDe.h:745
IGI Manager managers both IGI clients and IGI interfaces.
Definition: DtMessageDispatcher.h:31
Contains makVrv::DtMainEventQueue class.
boost::signal< void(const std::string &, const DtDisplayConfiguration &)> signal_displayModified
Emitted when a display is modified.
Definition: DtDe.h:494
std::map< std::string, DtVirtualBaseClass * > RootedSingletonMap
Definition: DtDe.h:680
double myNextFixedTime
Definition: DtDe.h:696
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:695
double myTargetFrameTime
used to budget streaming at the end of a frame
Definition: DtDe.h:753
DtDeInitializer myInitializer
Definition: DtDe.h:691
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:32
bool myDestructionFlag
Definition: DtDe.h:719
boost::signal< void(const std::string &, const std::string &, const DtChannelConfiguration &)> signal_channelConfigurationAdded
Emitted when a channel is added.
Definition: DtDe.h:519
std::map< std::string, DtDisplayProxyWP > DisplayEngineProxyMap
Definition: DtDe.h:683


Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)