VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSceneDriver.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
12 #include <vrvCore/DtDriver.h>
14 
16 
17 #include <string>
18 #include <map>
19 #include <list>
20 #include <vector>
21 
22 class DtTaitBryan;
23 
24 namespace makVrv
25 {
26 
27  class DtChannelConfiguration;
28  class DtDe;
29  class DtDeRecord;
30  class DtFeature;
31  class DtProp;
32  class DtScene;
33  class DtBuoyOrBeaconFacade;
34 
38  {
39  public:
40 
42  friend class DtSceneDriverCreator;
43 
45  virtual ~DtSceneDriver();
46 
48  virtual bool onStart();
49 
51  virtual bool onStop();
52 
54  virtual bool onTick();
55 
57  virtual const std::string& className() const;
58 
63  bool saveScene( const std::string& filePath, bool saveAs = true );
64 
67  bool loadScene( const std::string& filePath, bool emitSignal = true );
68 
71  const std::string& sceneFileName() const;
72 
75  DtScene* findScene();
76 
79  DtScene& scene();
80 
83  virtual void clearScene();
84 
85  protected:
86 
88  DtSceneDriver(DtDe& de);
89 
91  void reportPropCreated(const DtProp& prop);
92 
94  void reportPropDestroyed(const DtProp& prop);
95 
96  void reportBuoyCreated(const DtBuoyOrBeaconFacade& buoy);
97  void reportBuoyDestroyed(const DtBuoyOrBeaconFacade& buoy);
98 
100  void reportTerrainPatchCreated(const DtTerrainPatch& patch);
101 
103  void reportTerrainPatchDestroyed(const DtTerrainPatch& patch);
104 
106  void reportFeatureCreated(const DtFeature& feature);
107 
109  void reportFeatureDestroyed(const DtFeature& feature);
110 
113  virtual void slot_displayEngineAdded(const DtDeRecord& igRecord);
114 
115  virtual void slot_elementAttributeChangeRequested(DtUniqueID id, DtUniqueID parentId,
116  std::shared_ptr<const DtElementAttribute> atr);
117 
118  void handlePropElementChanged(DtProp& prop, const DtElementAttribute* attr);
119 
120  protected:
121 
122  std::string myClassName;
124 
126  std::string mySceneFileName;
127 
128  };
129 
134  {
135  public:
136 
138  static DtSceneDriverCreator& instance(DtDe& de);
139 
141  static void registerInstance(DtDe& de,DtSceneDriverCreator* inst);
142 
144  virtual ~DtSceneDriverCreator();
145 
148  virtual DtSceneDriver* create(DtDe& de);
149 
150  protected:
151 
153  };
154 }
Creator class for the scene driver, can be replaced to replace the scene driver.
Definition: DtSceneDriver.h:133
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
An object that represents everything that is visible in the scene.
Definition: DtScene.h:44
A Record of an IG instance.
Definition: DtDeRecord.h:24
std::string myClassName
Definition: DtSceneDriver.h:122
DtDe & myDe
Definition: DtSceneDriver.h:123
A container for a single piece of terrain, containing settings needed to recreate it...
Definition: DtTerrainPatch.h:42
Facade object for a scene prop.
Definition: DtProp.h:34
Definition: feature.h:26
Contains makVrv::DtVirtualBaseClass class.
The DtDriver is an abstract class. Developers derive from this to create logic that &quot;directs&quot; things ...
Definition: DtDriver.h:30
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
The DtSceneDriver owns the scene.
Definition: DtSceneDriver.h:37
DtScene * myScene
Definition: DtSceneDriver.h:125
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains makVrv:DtDriver class.
This is the base Terrain Feature class which all specific feature types extend. This feature has a po...
Definition: DtFeature.h:32
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
DtElementAttribute is a common base class used for all element attributes, such as those found in a D...
Definition: DtElementAttribute.h:20
The DtEntityFacade is a facade around agents that make up an entity. This entity facade represents a ...
Definition: DtBuoyOrBeaconFacade.h:24
std::string mySceneFileName
Definition: DtSceneDriver.h:126
Contains makVrv::DtOverlaySettings class.
Contains DLL export macros.

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)