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 std::vector<int> artParts(
int modelSet)
const;
105 virtual void enableArtPart(
int modelSet,
int artPart,
bool enable,
const DtVector& translationRate = DtVector::zero(),
106 const DtVector& rotationalRate = DtVector::zero());
110 virtual void setModelState(
int modelSet,
int,
int);
113 virtual void setTopographicOrientation(
const DtTaitBryan& orientation);
116 virtual void setLocalOrientation(
const DtTaitBryan& orientation);
119 virtual void setOrigin(
const DtVector& v);
120 virtual void setOrigin(
const DtGeodeticCoord& v);
123 virtual void setOriginAndSeaLevel(
const DtVector& v);
124 virtual void setOriginAndSeaLevel(
const DtGeodeticCoord& v);
126 virtual void setDropShadow(
bool b);
127 virtual void setLocationOffsetFromPrincipal(
const DtGeodeticCoord&
offset,
bool resetLocation =
true );
128 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
131 virtual void setForceId(
int);
133 virtual bool hasForceChange()
const;
136 virtual double initialAltitudeAboveTerrain()
const;
141 void setHatLineVisible(
bool visible );
144 void setTrackHistoryVisible(
bool visible );
147 virtual void setVisible(
bool b);
148 virtual void setVisible(
bool,
int context);
149 virtual bool isVisible()
const;
152 virtual void setUseHighestTerrainLod(
bool);
155 virtual void setPickable(
bool b);
158 virtual void setSelected(
bool b);
161 virtual void setLabel(
const std::string& label);
162 virtual std::string label()
const;
163 virtual bool hasLabelChange()
const;
166 virtual void setExtendedLabels(
const std::map<int, DtString>& labels);
167 virtual std::map<int, DtString> extendedLabels()
const;
168 virtual bool hasExtendedLabelsChange()
const;
171 virtual void setOverlayName(
const std::string&);
172 virtual std::string overlayName()
const;
175 virtual void setIndicatorVisible(
bool b);
178 virtual Dt3dBoundingVolume boundingVolume(
int modelSet = 0)
const;
185 virtual void detach();
189 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
192 virtual void setWidgetEventsEnabled(
bool b);
195 virtual void setGroundClamping(
bool b);
196 virtual void setDeadReckoning(
bool position,
bool velocity,
bool orientation);
199 virtual void setSymbolDecorationOffset(
double x,
double y);
202 virtual void setAutoEnableGroundClamping(
bool b);
205 virtual void realizeFacades();
208 virtual void unrealizeFacades();
212 virtual void setDictionaryToDisplay(
int);
217 virtual bool hasProjectedModel(
int modelSet)
const;
229 virtual void setElementDefinition(
const DtEntityType&);
232 void setSmoothingEnabled(
bool enabled);
235 void setMotionModel(
const std::string&);
238 virtual void setLabelIndicatorVisible(
bool);
241 virtual void setHeadingIndicatorVisible(
bool);
244 virtual void setHeadingIndicatorSize(
float l);
247 virtual bool isDiGuy()
const {
return myIsDiGuy; };
255 virtual void setEffectsVisible(
bool);
258 virtual bool shouldEnableTrailEffects()
const;
261 virtual void enableTrailEffect(
bool);
265 virtual void setAltitudeAboveTerrain(
double d);
269 virtual void setAltitudeAboveSeaLevel(
double d);
272 virtual bool hasWakeModel(
int set);
273 virtual void setWakeLOD(
double);
275 virtual const DtVector32& velocity()
const;
276 virtual void setVelocity(
const DtVector32& v);
279 template <
typename T>
void visualizers(
int modelSet, std::vector<T>& visualizers)
const
281 if (myModelSetMap.find(modelSet) == myModelSetMap.end())
286 myModelSetMap.find(modelSet)->second->findVisualizersByDynamicCast(visualizers);
297 std::vector<T> visualizers;
300 return (visualizers.size() != 0);
304 virtual void setIconScale(
float);
307 std::vector<T> visualizers;
309 typename std::vector<T>::iterator i = visualizers.begin();
310 typename std::vector<T>::iterator e = visualizers.end();
315 (*i)->setIconScale(scale);
320 virtual void setExtendedData(
const std::map<std::string, std::string>&);
321 virtual std::map<std::string, std::string> extendedData()
const;
329 virtual bool hasBoundingVolumes()
const;
332 virtual void setEntityExtentsVisible(
bool,
int modelSet = -1);
335 std::vector<T> visualizers;
337 typename std::vector<T>::iterator i = visualizers.begin();
338 typename std::vector<T>::iterator e = visualizers.end();
353 std::vector<T> visualizers;
355 typename std::vector<T>::iterator i = visualizers.begin();
356 typename std::vector<T>::iterator e = visualizers.end();
361 (*i)->setScale(scale);
368 std::vector<T> visualizers;
370 typename std::vector<T>::iterator i = visualizers.begin();
371 typename std::vector<T>::iterator e = visualizers.end();
376 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
383 std::vector<T> visualizers;
385 typename std::vector<T>::iterator i = visualizers.begin();
386 typename std::vector<T>::iterator e = visualizers.end();
391 (*i)->setColor(color.
R, color.
G, color.
B, color.
A);
396 void setBoundingExtentColor(
float r,
float g,
float b,
float a);
399 virtual std::string diGuyCharacter()
const;
402 virtual std::string diGuyAppearance()
const;
405 virtual std::string diGuyHandItem()
const;
407 virtual std::string diGuyHead()
const;
410 virtual void setAppearance(
int);
411 virtual void setLifeFormState(
unsigned int,
bool paused =
false);
412 virtual void setCharacterWeaponAiming(
bool aiming);
413 virtual void setEnableAnimationSmoothing(
bool);
414 virtual void setCharacterAction(
const std::string& animation,
bool paused =
false);
415 virtual void setCharacterModel(
const std::string& animation);
416 virtual void setCharacterBodyWeight(
double);
417 virtual void setCharacterAlive(
bool);
418 virtual std::string characterModel()
const;
420 virtual void setCharacterAppearance(
const std::string& animation);
421 virtual void setCharacterHandItem(
const std::string& item);
422 virtual void setCharacterHead(
const std::string& head);
425 virtual void setDisplayName(
const std::string& displayName );
428 virtual void setSymbolNameVisible(
bool);
430 virtual void setSymbolDecorationsVisible(
bool);
432 virtual bool isAggregate()
const
434 return myIsAggregate;
438 virtual void updateSymbolRotation(
const DtTaitBryan&);
441 virtual void updateSymbolRotation(
double);
444 virtual void setRotateToHeading(
bool);
445 bool rotateToHeading()
const
447 return myRotateToHeading;