18 #include <vrvCore/DtTacticalGraphicStateListener.h>
19 #include <vrvCore/DtBaseConnection.h>
20 #include <vrvCore/DtModelSetRealizationManager.h>
21 #include <vrvCore/DtSharedModelSetSettings.h>
22 #include <vrvCore/DtVisualizerSet.h>
23 #include <vrvCore/DtEnvironmentalVisualizerSet.h>
24 #include <vrvCore/DtEnvironmentalIndicatorVisualizer.h>
25 #include <vrvCore/DtEnvironmentalVertexVisualizer.h>
26 #include <vrvVrl/DtForceManager.h>
29 #include <matrix/geodCoord.h>
36 #include <boost/foreach.hpp>
40 class DtEnvironmentalVisualizerSet;
42 class DtVisualDefinitionSet;
58 virtual void setVisible(
bool visible );
60 virtual void setHidden(
bool b);
62 makVrv::DtUniqueID uniqueID()
const;
64 virtual void setUniqueID(makVrv::DtUniqueID
id);
66 virtual void setIndicatorVisible(
bool);
68 virtual void setSceneObjectId(makVrv::DtElementID
id);
70 virtual void setDisplayName(
const std::string& s);
71 virtual std::string displayName()
const;
73 virtual void setLabel(
const std::string&);
74 virtual std::string label()
const;
76 virtual void setOverlayName(
const std::string& s);
77 virtual std::string overlayName()
const;
80 virtual void setHatLineVisible(
bool visible );
85 virtual void setPickable(
bool b);
88 virtual void setSelected(
bool b);
90 virtual const DtEntityType& environmentalType()
const;
93 virtual void setWidgetEventsEnabled(
bool b);
96 virtual void setFillStyle(
int);
97 virtual int fillStyle()
const;
101 virtual void setPenStyle(
int);
104 virtual int penStyle()
const;
107 template <
typename T>
void setWidgetEventsEnabled(makVrv::DtEnvironmentalVisualizerSet* v,
bool b)
109 std::vector<T> visualizers;
110 v->findVisualizers(visualizers);
111 typename std::vector<T>::iterator iter = visualizers.begin();
113 while (iter != visualizers.end())
115 (*iter)->setWidgetEventsEnabled(b);
121 virtual void realizeFacades();
124 virtual void unrealizeFacades();
126 virtual void setProjected(
bool);
127 virtual bool projected()
const;
129 virtual void updateGeometry();
131 virtual void visualize(
const makVrv::DtUnicode& type,
132 const makVrv::DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
135 virtual void setIndicatorModelDefinitions(
136 const std::string& normalTheme,
137 const std::string& activeTheme,
138 const std::string& selectedTheme,
139 const std::string& multiSelectedTheme);
142 virtual void setLockUpdates(
bool);
143 bool updatesLocked()
const;
145 virtual void setAlwaysRecalculateGeometry(
bool);
146 bool alwaysRecalculateGeometry()
const;
148 virtual void setArrowStyle(
int);
149 virtual int arrowStyle()
const;
151 virtual void setArrowHeadPlacement(
int);
152 virtual int arrowHeadPlacement()
const;
154 virtual void setArrowSize(
double);
155 virtual double arrowSize()
const;
158 virtual bool fixedWidthSizing()
const;
160 virtual void setLocationOffsetFromFirst(
const DtGeodeticCoord& geod,
int i);
161 const DtGeodeticCoord& locationOffsetFromFirst(
int i);
163 virtual void setShapeVertexVisible(
bool);
164 virtual void setSymbolDecorationsVisible(
bool);
165 virtual void setColor(
int rgba);
166 virtual bool colorChanged()
const;
167 virtual int color()
const;
168 virtual void setColor(
float r,
float g,
float b,
float a);
169 virtual bool isPointObject()
const;
170 virtual const makVrv::DtUnicode& elementDefinition()
const;
172 virtual void setLineWidth(
float);
174 virtual double lineWidth()
const;
176 virtual void setForce(
int);
178 template <
typename T>
void setForceColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
180 std::vector<T> visualizers;
181 s->findVisualizersByDynamicCast(visualizers);
182 typename std::vector<T>::iterator i = visualizers.begin();
183 typename std::vector<T>::iterator e = visualizers.end();
188 (*i)->setForceColor(color.R, color.G, color.B, color.A);
193 virtual void setVertexSelected(makVrv::DtUniqueID
id,
bool sel);
195 makVrv::DtBaseConnection& baseConnection()
const;
199 virtual void setElementDefinition(
const makVrv::DtUnicode& definition);
200 virtual void setElementDefinition(
const DtEntityType&,
bool preparseOnly =
false);
202 makVrv::DtUniqueID uniqueIDForModelSet(
int i)
const;
203 int positionOfVertex(makVrv::DtUniqueID)
const;
207 virtual double altitudeForAltitudeType(
int)
const;
209 virtual void setOrigin(
const DtVector&);
210 virtual void setOrigin(
const DtGeodeticCoord&);
212 virtual void setPoint(
const DtVector&,
int);
213 virtual int addPoint(
const DtVector&,
int index = -1,
bool resetLocation =
true);
214 virtual void setPoints(
const std::vector<DtVector>&);
215 const std::vector<DtVector>& points()
const;
216 virtual void removePoint(
int);
217 DtGeodeticCoord geodeticPosition(
int)
const;
221 void setAltitudeAboveTerrain(
int,
double,
bool resetLocation =
true);
222 double altitudeAboveTerrain(
int = -1)
const;
224 void setAltitudeAboveSeaLevel(
int,
double,
bool resetLocation =
true);
225 double altitudeAboveSeaLevel(
int = -1)
const;
227 int numVertices()
const;
229 const makVrv::DtTacticalGraphicStateListener& listener()
const
236 virtual void selectPoint(
int);
237 virtual void clearSelectedPoint();
239 int selectedPoint()
const;
241 virtual void setIconScale(
float);
243 virtual bool appearanceChanged()
const;
246 virtual void setOrientation(
const DtTaitBryan&);
249 virtual void setAltitudeAboveSeaLevel(
double);
250 virtual void setAltitudeAboveTerrain(
double);
252 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const;
253 virtual DtVector localLocation()
const;
256 virtual bool isBox()
const;
259 virtual bool isTextBox()
const;
262 virtual bool isLine()
const;
265 virtual bool isArea()
const;
268 virtual bool isCircle()
const;
272 virtual bool isEllipse()
const;
275 makVrv::DtTacticalGraphicStateListener& listener()
280 virtual void updateOffset(
const DtVector& position,
int i);
281 virtual void setAltitudeForPoint(
const DtVector& v,
int index);
285 virtual void preparse(
const makVrv::DtUnicode& type,
286 const makVrv::DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
291 float myDefaultColor[4];
301 typedef std::map<int, makVrv::DtEnvironmentalVisualizerSet*>
ModelSetMap;