VR-Forces 4.3 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 
18 #include <boost/signal.hpp>
19 #include <boost/shared_ptr.hpp>
20 
21 #include <string>
22 #include <map>
23 #include <list>
24 #include <vector>
25 
26 class DtVector;
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 
71  bool loadScene( const std::string& filePath );
72 
75  const std::string& sceneFileName() const;
76 
79  DtScene* findScene();
80 
83  DtScene& scene();
84 
87  virtual void clearScene();
88 
89  protected:
90 
92  DtSceneDriver(DtDe& de);
93 
95  void reportPropCreated(const DtProp& prop);
96 
98  void reportPropDestroyed(const DtProp& prop);
99 
100  void reportBuoyCreated(const DtBuoyOrBeaconFacade& buoy);
101  void reportBuoyDestroyed(const DtBuoyOrBeaconFacade& buoy);
102 
104  void reportTerrainPatchCreated(const DtTerrainPatch& patch);
105 
107  void reportTerrainPatchDestroyed(const DtTerrainPatch& patch);
108 
110  void reportFeatureCreated(const DtFeature& feature);
111 
113  void reportFeatureDestroyed(const DtFeature& feature);
114 
117  virtual void slot_displayEngineAdded(const DtDeRecord& igRecord);
118 
119  virtual void slot_elementAttributeChangeRequested(DtUniqueID id, DtUniqueID parentId,
120  DtBoost::shared_ptr<const DtElementAttribute> atr);
121 
122  void handlePropElementChanged(DtProp& prop, const DtElementAttribute* attr);
123 
124  protected:
125 
126  std::string myClassName;
128 
130  std::string mySceneFileName;
131 
132  };
133 
138  {
139  public:
140 
142  static DtSceneDriverCreator& instance(DtDe& de);
143 
145  static void registerInstance(DtDe& de,DtSceneDriverCreator* inst);
146 
148  virtual ~DtSceneDriverCreator();
149 
152  virtual DtSceneDriver* create(DtDe& de);
153 
154  protected:
155 
157  };
158 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)