VR-Forces 4.8 Class Documentation
 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) 2019 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 <boost/signal.hpp>
18 #include <boost/shared_ptr.hpp>
19 
20 #include <string>
21 #include <map>
22 #include <list>
23 #include <vector>
24 
25 #include <matrix/vlVector.h>
26 
27 class DtTaitBryan;
28 
29 namespace makVrv
30 {
31 
32  class DtChannelConfiguration;
33  class DtDe;
34  class DtDeRecord;
35  class DtFeature;
36  class DtProp;
37  class DtScene;
38  class DtBuoyOrBeaconFacade;
39 
43  {
44  public:
45 
47  friend class DtSceneDriverCreator;
48 
50  virtual ~DtSceneDriver();
51 
53  virtual bool onStart();
54 
56  virtual bool onStop();
57 
59  virtual bool onTick();
60 
62  virtual const std::string& className() const;
63 
68  bool saveScene( const std::string& filePath, bool saveAs = true );
69 
72  bool loadScene( const std::string& filePath, bool emitSignal = true );
73 
76  const std::string& sceneFileName() const;
77 
80  DtScene* findScene();
81 
84  DtScene& scene();
85 
88  virtual void clearScene();
89 
90  protected:
91 
93  DtSceneDriver(DtDe& de);
94 
96  void reportPropCreated(const DtProp& prop);
97 
99  void reportPropDestroyed(const DtProp& prop);
100 
101  void reportBuoyCreated(const DtBuoyOrBeaconFacade& buoy);
102  void reportBuoyDestroyed(const DtBuoyOrBeaconFacade& buoy);
103 
105  void reportTerrainPatchCreated(const DtTerrainPatch& patch);
106 
108  void reportTerrainPatchDestroyed(const DtTerrainPatch& patch);
109 
111  void reportFeatureCreated(const DtFeature& feature);
112 
114  void reportFeatureDestroyed(const DtFeature& feature);
115 
118  virtual void slot_displayEngineAdded(const DtDeRecord& igRecord);
119 
120  virtual void slot_elementAttributeChangeRequested(DtUniqueID id, DtUniqueID parentId,
121  DtBoost::shared_ptr<const DtElementAttribute> atr);
122 
123  void handlePropElementChanged(DtProp& prop, const DtElementAttribute* attr);
124 
125  protected:
126 
127  std::string myClassName;
129 
131  std::string mySceneFileName;
132 
133  };
134 
139  {
140  public:
141 
143  static DtSceneDriverCreator& instance(DtDe& de);
144 
146  static void registerInstance(DtDe& de,DtSceneDriverCreator* inst);
147 
149  virtual ~DtSceneDriverCreator();
150 
153  virtual DtSceneDriver* create(DtDe& de);
154 
155  protected:
156 
158  };
159 }
Creator class for the scene driver, can be replaced to replace the scene driver.
Definition: DtSceneDriver.h:138
Virtual base class.
Definition: DtVirtualBaseClass.h:22
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:127
DtDe & myDe
Definition: DtSceneDriver.h:128
A container for a single piece of terrain, containing settings needed to recreate it...
Definition: DtTerrainPatch.h:40
Facade object for a scene prop.
Definition: DtProp.h:37
Definition: feature.h:26
Contains makVrv::DtVirtualBaseClass class.
The DtDriver is an abstract class.
Definition: DtDriver.h:34
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
The DtSceneDriver owns the scene.
Definition: DtSceneDriver.h:42
DtScene * myScene
Definition: DtSceneDriver.h:130
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Contains makVrv:DtDriver class.
This is the base Terrain Feature class which all specific feature types extend.
Definition: DtFeature.h:35
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtElementAttribute is a common base class used for all element attributes, such as those found in a D...
Definition: DtElementAttribute.h:23
The DtEntityFacade is a facade around agents that make up an entity.
Definition: DtBuoyOrBeaconFacade.h:24
std::string mySceneFileName
Definition: DtSceneDriver.h:131
Contains makVrv::DtOverlaySettings class.
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)