VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfTerrain.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <vrvCore/DtTerrain.h>
16 #include <vrvCore/DtInputDriver.h>
18 
19 namespace makVrv
20 {
21  class DtCoordinateSystem;
22 }
23 
24 namespace makVrf
25 {
26 
29  {
30  public:
32  DtVrfTerrain(makVrv::DtDe& de, makVrv::DtAgentManagerInterface& sceneManagerInterface);
33 
35  virtual ~DtVrfTerrain();
36 
38  boost::signals2::signal<void (const makArchives::DtTerrainRecord&)> signal_terrainRecordSet;
39  boost::signals2::signal<void ()> signal_navigationAreasCleared;
40 
42  boost::signals2::signal<void (const DtFilename&)> signal_simTerrainLoaded;
43 
44  virtual void setFromRecord(const makArchives::DtTerrainRecord& r, bool clearFirst);
45 
46  virtual const makArchives::DtTerrainRecord::GenericRecords& navigationAreas() const;
47 
48  virtual void removeNavigationArea(const std::string&);
49  virtual void addNavigationArea(const std::string& area);
50  virtual void addNavigationArea(const makArchives::DtGenericTerrainRecord& record);
51  virtual void changeNavigationAreaPath(const std::string& from, const std::string& to);
52  virtual bool hasNavigationArea(const DtFilename&) const;
53 
54  bool navigationAreasModified() const { return myNavigationAreasModified; };
55  virtual void clearNavigationAreasModified() { myNavigationAreasModified = false; };
56  virtual void clearNavigationAreas();
57 
58  virtual void getRecord(makArchives::DtTerrainRecord& rec);
59 
61  virtual makVrv::DtFeatureLayer* findFeatureLayerNoPath(const std::string& featureLayerFilename);
62 
63  virtual const DtFilename& simulationTerrain() const
64  {
65  return mySimulationTerrain;
66  }
67 
69  {
70  return myNavigationAreasAreOnSimulationTerrain;
71  }
72 
74  virtual std::string navigationAreaTerrainFilename() const;
75 
76  virtual void getSimulationTerrainRecord(makArchives::DtTerrainRecord&) const;
77 
81  virtual bool loadSimulationTerrain(const DtFilename&);
82 
84  virtual void clearSimTerrain();
85 
87  virtual void clearGuiTerrain();
88 
92  virtual void setSignalNewNavigationAreas(bool);
94  {
95  return mySignalNewNavigationAreas;
96  }
97 
99  virtual makVrv::DtCoordinateSystem& navigationAreasCoordinateSystem() const;
100 
102  virtual void signalNavigationAreasUpdated();
103 
104  protected:
105  virtual void setNavigationAreasFromTerrainRecord(const makArchives::DtTerrainRecord& r,
107 
110  virtual void setGenericRecords(makArchives::DtTerrainRecord& rec,
112  const makArchives::DtTerrainRecord::GenericRecords& navigationAreas) const;
113 
114  protected:
119 
121 
126 
128 
130  };
131 
134  {
135  public:
137  makVrv::DtAgentManagerInterface& agentManager )
138  {
139  return new DtVrfTerrain(de, agentManager);
140  }
141  };
142 
145  {
146  public:
149  const std::string& instanceName );
150 
152  virtual ~DtVrfInputDriver();
153 
155  virtual void setChangeCurrentChannelOnMouseMove(bool);
157  {
158  return myChangeCurrentChannelOnMouseMove;
159  }
160 
161  virtual bool processMouseEvent( const makVrv::DtMouseEvent& mouseEvent,
162  makVrv::DtChannel* channel );
163 
164  protected:
166  };
167 
169  {
170  public:
173 
175  virtual ~DtVrfInputDriverCreator();
176 
178  virtual makVrv::DtInputDriver* create(makVrv::DtAgentManager& sm);
179  };
180 }
The feature layer is a type of terrain layer which contains features, such as points, lines, areas, and props created from them.
Definition: DtFeatureLayer.h:25
Subclass to allow the channel to change on mouse movement.
Definition: vrfTerrain.h:144
Creator class for the DtInputDriver.
Definition: DtInputDriver.h:461
bool changeCurrentChannelOnMouseMove() const
Definition: vrfTerrain.h:156
DtGenericTerrainRecords allow the VR-Forces terrainInterface library to instantiate and configure the...
Definition: DtGenericTerrainRecord.h:34
makArchives::DtTerrainRecord::GenericRecords myGenericGuiRecords
Definition: vrfTerrain.h:117
makVrv::DtSignalConnectionManager myConnections
Definition: vrfTerrain.h:129
makArchives::DtTerrainRecord mySimulationTerrainRecord
Definition: vrfTerrain.h:120
makArchives::DtTerrainRecord::GenericRecords myGenericSimRecords
Definition: vrfTerrain.h:118
Creator.
Definition: vrfTerrain.h:133
bool mySignalNewNavigationAreas
Definition: vrfTerrain.h:127
Extension of DtVrvTerrain that sends a signal when the terrain is set from record.
Definition: vrfTerrain.h:28
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Definition: vrfTerrain.h:168
Contains makVrv::DtTerrain class.
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
The abstract Channel Class.
Definition: DtChannel.h:35
std::list< DtGenericTerrainRecord > GenericRecords
Definition: DtTerrainRecord.h:36
virtual void clearNavigationAreasModified()
Definition: vrfTerrain.h:55
Record of a VR-Vantage terrain Contains: Terrain coordinate system Terrain patches Feature layers Ter...
Definition: DtTerrainRecord.h:29
DtFilename mySimulationTerrain
Definition: vrfTerrain.h:122
virtual makVrv::DtTerrain * create(makVrv::DtDe &de, makVrv::DtAgentManagerInterface &agentManager)
Create a DtTerrain.
Definition: vrfTerrain.h:136
boost::signals2::signal< void(const makArchives::DtTerrainRecord &)> signal_terrainRecordSet
Signal sent.
Definition: vrfTerrain.h:38
This class&#39;s main responsibility is to handle keyboard and mouse events from OSG (Qt events are route...
Definition: DtInputDriver.h:43
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The terrain creator for the DtTerrain class.
Definition: DtTerrain.h:483
makArchives::DtTerrainRecord::GenericRecords mySimNavigationAreas
Definition: vrfTerrain.h:116
boost::signals2::signal< void()> signal_navigationAreasCleared
Definition: vrfTerrain.h:39
boost::signals2::signal< void(const DtFilename &)> signal_simTerrainLoaded
Signal sent when a sim terrain is loaded.
Definition: vrfTerrain.h:42
Contains makVrv::DtInputDriver class.
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
bool myNavigationAreasAreOnSimulationTerrain
Definition: vrfTerrain.h:123
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
bool signalNewNavigationAreas() const
Definition: vrfTerrain.h:93
bool myNavigationAreasModified
Definition: vrfTerrain.h:124
Base class to provide boost signal/slot management.
virtual bool navigationAreasAreOnSimulationTerrain() const
Definition: vrfTerrain.h:68
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
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:70
bool myChangeCurrentChannelOnMouseMove
Definition: vrfTerrain.h:165
makVrv::DtCoordinateSystem * mySimulationNavigationCoordinateSystem
Definition: vrfTerrain.h:125
makArchives::DtTerrainRecord::GenericRecords myGuiNavigationAreas
Definition: vrfTerrain.h:115
DtTerrain is a facade around terrain functionality.
Definition: DtTerrain.h:58
bool navigationAreasModified() const
Definition: vrfTerrain.h:54
virtual const DtFilename & simulationTerrain() const
Definition: vrfTerrain.h:63

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)