VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtSceneDriver.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtSceneDriver.h,v $ $Revision: 1.65 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvCore/vrvCore.h>
15 #include <vrvCore/DtDriver.h>
17 
19 
20 #include <boost/signal.hpp>
21 #include <boost/shared_ptr.hpp>
22 
23 #include <string>
24 #include <map>
25 #include <list>
26 #include <vector>
27 
28 #include <matrix/vlVector.h>
29 
30 class DtTaitBryan;
31 
32 namespace makVrv
33 {
34 
35  class DtChannelConfiguration;
36  class DtDe;
37  class DtDeRecord;
38  class DtFeature;
39  class DtProp;
40  class DtScene;
41  class DtBuoyOrBeaconFacade;
42 
46  {
47  public:
48 
50  friend class DtSceneDriverCreator;
51 
53  virtual ~DtSceneDriver();
54 
56  virtual bool onStart();
57 
59  virtual bool onStop();
60 
62  virtual bool onTick();
63 
65  virtual const std::string& className() const;
66 
71  bool saveScene( const std::string& filePath, bool saveAs = true );
72 
75  bool loadScene( const std::string& filePath, bool emitSignal = true );
76 
79  const std::string& sceneFileName() const;
80 
83  DtScene* findScene();
84 
87  DtScene& scene();
88 
91  virtual void clearScene();
92 
93  protected:
94 
96  DtSceneDriver(DtDe& de);
97 
99  void reportPropCreated(const DtProp& prop);
100 
102  void reportPropDestroyed(const DtProp& prop);
103 
104  void reportBuoyCreated(const DtBuoyOrBeaconFacade& buoy);
105  void reportBuoyDestroyed(const DtBuoyOrBeaconFacade& buoy);
106 
108  void reportTerrainPatchCreated(const DtTerrainPatch& patch);
109 
111  void reportTerrainPatchDestroyed(const DtTerrainPatch& patch);
112 
114  void reportFeatureCreated(const DtFeature& feature);
115 
117  void reportFeatureDestroyed(const DtFeature& feature);
118 
121  virtual void slot_displayEngineAdded(const DtDeRecord& igRecord);
122 
123  virtual void slot_elementAttributeChangeRequested(DtUniqueID id, DtUniqueID parentId,
124  DtBoost::shared_ptr<const DtElementAttribute> atr);
125 
126  void handlePropElementChanged(DtProp& prop, const DtElementAttribute* attr);
127 
128  protected:
129 
130  std::string myClassName;
132 
134  std::string mySceneFileName;
135 
136  };
137 
142  {
143  public:
144 
146  static DtSceneDriverCreator& instance(DtDe& de);
147 
149  static void registerInstance(DtDe& de,DtSceneDriverCreator* inst);
150 
152  virtual ~DtSceneDriverCreator();
153 
156  virtual DtSceneDriver* create(DtDe& de);
157 
158  protected:
159 
161  };
162 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)