VR-Forces Development_Version 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 
74  bool loadScene( const std::string& filePath );
75 
78  const std::string& sceneFileName() const;
79 
82  DtScene* findScene();
83 
86  DtScene& scene();
87 
90  virtual void clearScene();
91 
92  protected:
93 
95  DtSceneDriver(DtDe& de);
96 
98  void reportPropCreated(const DtProp& prop);
99 
101  void reportPropDestroyed(const DtProp& prop);
102 
103  void reportBuoyCreated(const DtBuoyOrBeaconFacade& buoy);
104  void reportBuoyDestroyed(const DtBuoyOrBeaconFacade& buoy);
105 
107  void reportTerrainPatchCreated(const DtTerrainPatch& patch);
108 
110  void reportTerrainPatchDestroyed(const DtTerrainPatch& patch);
111 
113  void reportFeatureCreated(const DtFeature& feature);
114 
116  void reportFeatureDestroyed(const DtFeature& feature);
117 
120  virtual void slot_displayEngineAdded(const DtDeRecord& igRecord);
121 
122  virtual void slot_elementAttributeChangeRequested(DtUniqueID id, DtUniqueID parentId,
123  DtBoost::shared_ptr<const DtElementAttribute> atr);
124 
125  void handlePropElementChanged(DtProp& prop, const DtElementAttribute* attr);
126 
127  protected:
128 
129  std::string myClassName;
131 
133  std::string mySceneFileName;
134 
135  };
136 
141  {
142  public:
143 
145  static DtSceneDriverCreator& instance(DtDe& de);
146 
148  static void registerInstance(DtDe& de,DtSceneDriverCreator* inst);
149 
151  virtual ~DtSceneDriverCreator();
152 
155  virtual DtSceneDriver* create(DtDe& de);
156 
157  protected:
158 
160  };
161 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)