25 #include <matrix/vlVector.h>
26 #include <matrix/vlTaitBryan.h>
35 class DtVisualDefinitionSet;
36 class DtAgentManagerInterface;
38 class DtBaseConnection;
43 class DtBoundingVolumeSupportPointCalculator;
87 virtual bool isVisualized()
const;
90 virtual void setupNodeMaskFlags()
const;
93 virtual void setSetupNodeMaskFlags(
bool);
98 virtual std::map<int, std::vector<int> > modelStates(
int modelSet)
const;
102 virtual void setModelState(
int modelSet,
int,
int);
105 virtual void setTopographicOrientation(
const DtTaitBryan& orientation);
108 virtual void setLocalOrientation(
const DtTaitBryan& orientation);
111 virtual void setOrigin(
const DtVector& v);
112 virtual void setOrigin(
const DtGeodeticCoord& v);
115 virtual void setOriginAndSeaLevel(
const DtVector& v);
116 virtual void setOriginAndSeaLevel(
const DtGeodeticCoord& v);
118 virtual void setDropShadow(
bool b);
119 virtual void setLocationOffsetFromPrincipal(
const DtGeodeticCoord&
offset,
bool resetLocation =
true );
120 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
123 virtual void setForceId(
int);
125 virtual bool hasForceChange()
const;
128 virtual double initialAltitudeAboveTerrain()
const;
133 void setHatLineVisible(
bool visible );
136 void setTrackHistoryVisible(
bool visible );
139 virtual void setVisible(
bool b);
140 virtual void setVisible(
bool,
int context);
141 virtual bool isVisible()
const;
144 virtual void setUseHighestTerrainLod(
bool);
147 virtual void setPickable(
bool b);
150 virtual void setSelected(
bool b);
153 virtual void setLabel(
const std::string& label);
154 virtual std::string label()
const;
155 virtual bool hasLabelChange()
const;
158 virtual void setExtendedLabels(
const std::map<int, DtString>& labels);
159 virtual std::map<int, DtString> extendedLabels()
const;
160 virtual bool hasExtendedLabelsChange()
const;
163 virtual void setOverlayName(
const std::string&);
164 virtual std::string overlayName()
const;
167 virtual void setIndicatorVisible(
bool b);
170 virtual Dt3dBoundingVolume boundingVolume(
int modelSet = 0)
const;
177 virtual void detach();
181 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
184 virtual void setWidgetEventsEnabled(
bool b);
187 virtual void setGroundClamping(
bool b);
188 virtual void setDeadReckoning(
bool position,
bool velocity,
bool orientation);
191 virtual void setSymbolDecorationOffset(
double x,
double y);
194 virtual void setAutoEnableGroundClamping(
bool b);
197 virtual void realizeFacades();
200 virtual void unrealizeFacades();
204 virtual void setDictionaryToDisplay(
int);
209 virtual bool hasProjectedModel(
int modelSet)
const;
221 virtual void setElementDefinition(
const DtEntityType&);
224 void setSmoothingEnabled(
bool enabled);
227 void setMotionModel(
const std::string&);
230 virtual void setHeadingIndicatorVisible(
bool);
233 virtual void setHeadingIndicatorSize(
float l);
236 virtual bool isDiGuy()
const {
return myIsDiGuy; };
244 virtual void setEffectsVisible(
bool);
247 virtual bool shouldEnableTrailEffects()
const;
250 virtual void enableTrailEffect(
bool);
254 virtual void setAltitudeAboveTerrain(
double d);
258 virtual void setAltitudeAboveSeaLevel(
double d);
261 virtual bool hasWakeModel(
int set);
262 virtual void setWakeLOD(
double);
264 virtual const DtVector32& velocity()
const;
265 virtual void setVelocity(
const DtVector32& v);
268 template <
typename T>
void visualizers(
int modelSet, std::vector<T>& visualizers)
const
270 if (myModelSetMap.find(modelSet) == myModelSetMap.end())
275 myModelSetMap.find(modelSet)->second->findVisualizersByDynamicCast(visualizers);
286 std::vector<T> visualizers;
289 return (visualizers.size() != 0);
293 virtual void setIconScale(
float);
296 std::vector<T> visualizers;
298 typename std::vector<T>::iterator i = visualizers.begin();
299 typename std::vector<T>::iterator e = visualizers.end();
304 (*i)->setIconScale(scale);
309 virtual void setExtendedData(
const std::map<std::string, std::string>&);
310 virtual std::map<std::string, std::string> extendedData()
const;
318 virtual bool hasBoundingVolumes()
const;
321 virtual void setEntityExtentsVisible(
bool,
int modelSet = -1);
324 std::vector<T> visualizers;
326 typename std::vector<T>::iterator i = visualizers.begin();
327 typename std::vector<T>::iterator e = visualizers.end();
342 std::vector<T> visualizers;
344 typename std::vector<T>::iterator i = visualizers.begin();
345 typename std::vector<T>::iterator e = visualizers.end();
350 (*i)->setScale(scale);
357 std::vector<T> visualizers;
359 typename std::vector<T>::iterator i = visualizers.begin();
360 typename std::vector<T>::iterator e = visualizers.end();
365 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
372 std::vector<T> visualizers;
374 typename std::vector<T>::iterator i = visualizers.begin();
375 typename std::vector<T>::iterator e = visualizers.end();
380 (*i)->setColor(color.
R, color.
G, color.
B, color.
A);
386 virtual std::string diGuyCharacter()
const;
389 virtual std::string diGuyAppearance()
const;
392 virtual std::string diGuyHandItem()
const;
394 virtual std::string diGuyHead()
const;
397 virtual void setAppearance(
int);
398 virtual void setLifeFormState(
unsigned int,
bool paused =
false);
399 virtual void setCharacterWeaponAiming(
bool aiming);
400 virtual void setEnableAnimationSmoothing(
bool);
401 virtual void setCharacterAction(
const std::string& animation,
bool paused =
false);
402 virtual void setCharacterModel(
const std::string& animation);
403 virtual void setCharacterBodyWeight(
double);
404 virtual void setCharacterAlive(
bool);
405 virtual std::string characterModel()
const;
407 virtual void setCharacterAppearance(
const std::string& animation);
408 virtual void setCharacterHandItem(
const std::string& item);
409 virtual void setCharacterHead(
const std::string& head);
412 virtual void setDisplayName(
const std::string& displayName );
415 virtual void setSymbolNameVisible(
bool);
417 virtual void setSymbolDecorationsVisible(
bool);
419 virtual bool isAggregate()
const
421 return myIsAggregate;