25 #include <matrix/vlVector.h>
26 #include <matrix/vlTaitBryan.h>
36 class DtVisualDefinitionSet;
37 class DtAgentManagerInterface;
39 class DtStatePropertyDecorationVisualizer;
40 class DtBaseConnection;
45 class DtBoundingVolumeSupportPointCalculator;
89 virtual bool isVisualized()
const;
92 virtual void setupNodeMaskFlags()
const;
95 virtual void setSetupNodeMaskFlags(
bool);
100 virtual std::map<int, std::vector<int> > modelStates(
int modelSet)
const;
104 virtual std::vector<int> artParts(
int modelSet)
const;
107 virtual void enableArtPart(
int modelSet,
int artPart,
bool enable,
const DtVector& translationRate = DtVector::zero(),
108 const DtVector& rotationalRate = DtVector::zero());
110 virtual void enableArtPartTranslation(
int modelSet,
int artPart,
bool enable,
111 const DtVector& translationRate = DtVector::zero(),
const DtVector& minTranslation = DtVector::zero(),
112 const DtVector& maxTranslation = DtVector::zero());
114 virtual void enableArtPartRotation(
int modelSet,
int artPart,
bool enable,
115 const DtVector& rotationRate = DtVector::zero(),
const DtVector& minRotation = DtVector::zero(),
116 const DtVector& maxRotation = DtVector::zero());
119 virtual void getArtPartInformation(
int modelSet,
int artPart,
DtVector& minRotation,
DtVector& maxRotation,
DtVector& minTranslation,
DtVector& maxTranslation);
123 virtual void setModelState(
int modelSet,
int,
int);
126 virtual void setTopographicOrientation(
const DtTaitBryan& orientation);
128 virtual void setTopographicOffsetFromPrincipal(
const DtVector&,
bool resetLocation =
true);
131 virtual void setLocalOrientation(
const DtTaitBryan& orientation);
134 virtual void setOrigin(
const DtVector& v);
135 virtual void setOrigin(
const DtGeodeticCoord& v);
138 virtual void setOriginAndSeaLevel(
const DtVector& v);
139 virtual void setOriginAndSeaLevel(
const DtGeodeticCoord& v);
141 virtual void ignoreVisualTypeSwitch(
int,
bool);
143 virtual bool hasOccupant()
const;
145 virtual void setDropShadow(
bool b);
146 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
149 virtual void setForceId(
int);
151 virtual bool hasForceChange()
const;
154 virtual double initialAltitudeAboveTerrain()
const;
159 void setHatLineVisible(
bool visible );
162 void setTrackHistoryVisible(
bool visible );
165 virtual void setVisible(
bool b,
bool updateOffsets =
true);
166 virtual void setVisible(
bool,
int context);
167 virtual bool isVisible()
const;
170 virtual void setUseHighestTerrainLod(
bool);
173 virtual void setPickable(
bool b);
176 virtual void setSelected(
bool b);
179 virtual void setLabel(
const std::string& label);
180 virtual std::string label()
const;
181 virtual bool hasLabelChange()
const;
184 virtual void setExtendedLabels(
const std::map<int, DtString>& labels);
185 virtual std::map<int, DtString> extendedLabels()
const;
186 virtual bool hasExtendedLabelsChange()
const;
189 virtual void setOverlayName(
const std::string&);
190 virtual std::string overlayName()
const;
193 virtual void setIndicatorVisible(
bool b);
196 virtual Dt3dBoundingVolume boundingVolume(
int modelSet = 0)
const;
203 virtual void detach();
207 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
209 virtual void clearMarkingsModified();
210 virtual bool markingsModified()
const;
213 virtual void setMarkingDecal(
const std::string& annotation,
const std::string& value);
214 virtual std::string markingDecal(
const std::string& annotation)
const;
217 return myMarkingDecals;
220 virtual void clearMarkingDecals();
223 virtual bool hasMultipleLODs(
int modelSet = 0)
const;
226 virtual void setWidgetEventsEnabled(
bool b);
229 virtual void setGroundClamping(
bool b);
230 virtual void setDeadReckoning(
bool position,
bool velocity,
bool orientation);
233 virtual void setSymbolDecorationOffset(
double x,
double y);
236 virtual void setAutoEnableGroundClamping(
bool b);
239 virtual void realizeFacades();
243 virtual void unrealizeFacades(
bool willRecreate =
false);
247 virtual void setDictionaryToDisplay(
int);
252 virtual bool hasProjectedModel(
int modelSet)
const;
264 virtual void setElementDefinition(
const DtEntityType&);
267 void setSmoothingEnabled(
bool enabled);
270 void setMotionModel(
const std::string&);
273 virtual void setLabelIndicatorVisible(
bool);
276 virtual void setHeadingIndicatorVisible(
bool);
279 virtual void setHeadingIndicatorSize(
float l);
282 virtual bool isDiGuy()
const {
return myIsDiGuy; };
290 virtual void setEffectsVisible(
bool);
293 virtual bool shouldEnableTrailEffects()
const;
296 virtual void enableTrailEffect(
bool);
300 virtual void setAltitudeAboveTerrain(
double d);
304 virtual void setAltitudeAboveSeaLevel(
double d);
307 virtual bool hasWakeModel(
int set);
308 virtual void setWakeLOD(
double);
309 virtual void setShowWakes(
bool b,
int modelSet = -1);
311 virtual void setShowSmoke(
bool b,
int modelSet = -1);
312 virtual void setShowFlames(
bool b,
int modelSet = -1);
314 virtual void setShowOccupants(
bool b);
316 virtual const DtVector32& velocity()
const;
317 virtual void setVelocity(
const DtVector32& v);
320 template <
typename T>
void visualizers(
int modelSet, std::vector<T>& visualizers)
const
322 if (myModelSetMap.find(modelSet) == myModelSetMap.end())
327 myModelSetMap.find(modelSet)->second->findVisualizersByDynamicCast(visualizers);
338 std::vector<T> visualizers;
341 return (visualizers.size() != 0);
345 virtual void setIconScale(
float);
348 std::vector<T> visualizers;
350 typename std::vector<T>::iterator i = visualizers.begin();
351 typename std::vector<T>::iterator e = visualizers.end();
356 (*i)->setIconScale(scale);
361 virtual void setExtendedData(
const std::map<std::string, std::string>&);
362 virtual std::map<std::string, std::string> extendedData()
const;
370 virtual bool hasBoundingVolumes()
const;
373 virtual void setEntityExtentsVisible(
bool,
int modelSet = -1);
376 std::vector<T> visualizers;
378 typename std::vector<T>::iterator i = visualizers.begin();
379 typename std::vector<T>::iterator e = visualizers.end();
394 std::vector<T> visualizers;
396 typename std::vector<T>::iterator i = visualizers.begin();
397 typename std::vector<T>::iterator e = visualizers.end();
402 (*i)->setScale(scale);
409 std::vector<T> visualizers;
411 typename std::vector<T>::iterator i = visualizers.begin();
412 typename std::vector<T>::iterator e = visualizers.end();
417 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
424 std::vector<T> visualizers;
426 typename std::vector<T>::iterator i = visualizers.begin();
427 typename std::vector<T>::iterator e = visualizers.end();
432 (*i)->setColor(color.
R, color.
G, color.
B, color.
A);
437 virtual void setForceColor(
const DtRwColor&);
438 void setBoundingExtentColor(
float r,
float g,
float b,
float a);
441 virtual std::string diGuyCharacter()
const;
444 virtual std::string diGuyAppearance()
const;
447 virtual std::string diGuyHandItem()
const;
449 virtual std::string diGuyHead()
const;
452 virtual void setAppearance(
int);
453 virtual DtAppearance appearance()
const;
455 virtual void setLifeFormState(
unsigned int,
bool paused =
false);
456 virtual void setCharacterWeaponAiming(
bool aiming);
457 virtual void setEnableAnimationSmoothing(
bool);
458 virtual void setCharacterAction(
const std::string& animation,
bool paused =
false);
459 virtual const std::string& characterAction()
const;
461 virtual void setCharacterModel(
const std::string& animation);
462 virtual std::string characterModel()
const;
464 virtual void setCharacterBodyWeight(
double);
465 virtual void setCharacterAlive(
bool);
467 virtual void setCharacterAppearance(
const std::string& animation);
468 virtual void setCharacterHandItem(
const std::string& item);
469 virtual void setCharacterHead(
const std::string& head);
472 virtual void setDisplayName(
const std::string& displayName );
475 virtual void setSymbolNameVisible(
bool);
478 virtual void setStatePropertyDecorationsVisible(
bool);
480 virtual void setSymbolDecorationsVisible(
bool);
484 return myIsAggregate;
488 virtual void finalizeSetup();
491 virtual void updateSymbolRotation(
const DtTaitBryan&);
494 virtual void updateSymbolRotation(
double);
497 virtual void setRotateToHeading(
bool);
500 return myRotateToHeading;
503 virtual void slot_visualizerCreationDisabled(
int modelSet,
int visualType );
504 virtual void slot_visualizerCreationEnabled(
int modelSet,
int visualType );
std::string myOverlay
Definition: entityFacadeCollection.h:520
Contains makVrv:DtAggregateStateListener class.
const std::map< std::string, std::string > & markingDecalMap() const
Definition: entityFacadeCollection.h:215
DtExtAggregateStateListener myListener
Aggregate is also an entity state listener, so, it can be used.
Definition: entityFacadeCollection.h:517
std::string myDiGuyHead
Definition: entityFacadeCollection.h:530
ActivatedStates myActivatedStates
Definition: entityFacadeCollection.h:553
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
Definition: entityFacadeCollection.h:56
std::string myDiGuyHandItem
Definition: entityFacadeCollection.h:529
int myModelSet
Definition: DtStateVisualizer.h:265
bool myEnableAnimationSmoothing
Definition: entityFacadeCollection.h:542
bool myEntityExtentsVisible
Definition: entityFacadeCollection.h:547
ModelSetMap & modelSetMap()
Definition: entityFacadeCollection.h:84
const ModelSetMap & modelSetMap() const
Definition: entityFacadeCollection.h:79
Definition: DtForceManager.h:46
void setForceColor(makVrv::DtVisualizerSet *s, makVrv::DtForceManager::RGBAColor color)
Definition: entityFacadeCollection.h:407
double myDiGuyBodyWeight
Definition: entityFacadeCollection.h:533
std::string myDiGuyAppearance
Definition: entityFacadeCollection.h:528
The DtAggregateStateListener is an abstract class.
Definition: DtAggregateStateListener.h:26
ModelSetMap myModelSetMap
Definition: entityFacadeCollection.h:518
bool myForceChanged
Definition: entityFacadeCollection.h:524
std::map< int, std::map< int, bool > > myEffectsShown
Definition: entityFacadeCollection.h:563
int myAttributeCompareValue
Definition: entityFacadeCollection.h:549
void setScale(makVrv::DtVisualizerSet *s, float scale)
Definition: entityFacadeCollection.h:392
void setIconScale(makVrv::DtVisualizerSet *s, float scale)
Definition: entityFacadeCollection.h:346
bool rotateToHeading() const
Definition: entityFacadeCollection.h:498
bool myHasExtendedLabelsChange
Definition: entityFacadeCollection.h:523
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool myUseHighestTerrainLOD
Definition: entityFacadeCollection.h:543
bool myHatLinesVisible
Definition: entityFacadeCollection.h:541
bool myTrackHistoryVisible
Definition: entityFacadeCollection.h:545
bool mySetupNodeMaskFlags
Definition: entityFacadeCollection.h:512
bool myHasLabelChange
Definition: entityFacadeCollection.h:522
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
DtExtAggregateStateListener(makVrv::DtUniqueID id)
Definition: entityFacadeCollection.h:59
int myDictionaryToDisplay
Definition: entityFacadeCollection.h:548
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
Definition: entityStateListenerExtensions.h:71
Contains makVrv::DtSharedModelSetSettings class.
std::map< int, makVrv::DtVisualizerSet * > ModelSetMap
Definition: entityFacadeCollection.h:66
void setColor(makVrv::DtVisualizerSet *s, makVrv::DtForceManager::RGBAColor color)
Definition: entityFacadeCollection.h:422
std::string myCharacterModel
Definition: entityFacadeCollection.h:532
std::map< std::string, std::string > myMarkingDecals
Definition: entityFacadeCollection.h:562
MyStateVisualizer(makVrv::DtBaseConnection &connection, makVrv::DtStateListener &listener, int modelSet)
Definition: entityFacadeCollection.h:50
Definition: vrfObjectFacadeInterface.h:47
std::string myCharacterAction
Definition: entityFacadeCollection.h:531
DtStateVisualizer()
Default constructor.
float B
Definition: DtForceManager.h:58
bool myNeedsRealization
Definition: entityFacadeCollection.h:539
int myForceId
Definition: entityFacadeCollection.h:525
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Definition: entityFacadeCollection.h:47
bool myShowOccupants
Definition: entityFacadeCollection.h:537
float R
Definition: DtForceManager.h:58
virtual ~DtExtAggregateStateListener()
Definition: entityFacadeCollection.h:60
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
bool dictionaryToDisplay() const
Definition: entityFacadeCollection.h:248
int myAppearance
Definition: entityFacadeCollection.h:526
This contains all the DtVisualizers used to visualize an element in a particular model set...
Definition: DtVisualizerSet.h:30
Definition: entityFacadeCollection.h:63
Contains makVrv:DtBaseConnection class.
Contains makVrv::DtForceManager class.
boost::signalslib::connection myFinalizeConnection
Definition: entityFacadeCollection.h:560
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:30
void findVisualizersByDynamicCast(std::vector< VisualizerClass * > &visualizers)
Find all instance of a visualizer by dynamically casting to the class type rather than doing the fast...
Definition: DtVisualizerSet.h:249
bool hasVisualizer(makVrv::DtVisualizerSet *s) const
Returns true if has the visualizer.
Definition: entityFacadeCollection.h:331
bool myIsDiGuy
Definition: entityFacadeCollection.h:536
bool mySymbolNameVisible
Definition: entityFacadeCollection.h:546
bool myOriginSet
Definition: entityFacadeCollection.h:538
float G
Definition: DtForceManager.h:58
float A
Definition: DtForceManager.h:58
Definition: entityFacadeCollection.h:568
makVrv::DtBaseConnection * myConnection
Definition: entityFacadeCollection.h:513
boost::signals2::signal< void(DtEntityFacadeCollection *)> signal_orientationChanged
Definition: entityFacadeCollection.h:506
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtBoundingVolumeSupportPointCalculator * myBVSPCalculator
Definition: entityFacadeCollection.h:555
bool myHeadingIndicatorVisible
Definition: entityFacadeCollection.h:544
bool myIsAggregate
Definition: entityFacadeCollection.h:521
std::map< int, std::map< int, int > > ActivatedStates
Definition: entityFacadeCollection.h:552
virtual bool isDiGuy() const
Returns true if is a DI-Guy model.
Definition: entityFacadeCollection.h:282
voidpf uLong offset
Definition: ioapi.h:42
int modelSet() const
Definition: entityFacadeCollection.h:53
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
virtual bool isAggregate() const
Definition: entityFacadeCollection.h:482
Definition: DtVisualizerSchema.h:22
std::set< int > myIgnoreVisualTypeSwitch
Definition: entityFacadeCollection.h:565
makVrv::DtSignalConnectionManager myConnections
Definition: entityFacadeCollection.h:559
bool myIndicatorVisible
Definition: entityFacadeCollection.h:540
makVrv::DtUnicode myElementDefinition
Facades by model set.
Definition: entityFacadeCollection.h:510
Given a scene object, this class will iterate over the models, looking for an articulated model or di...
Definition: boundingVolumeSupportPointCalculator.h:41
void visualizers(int modelSet, std::vector< T > &visualizers) const
Returns true if has the visualizer.
Definition: entityFacadeCollection.h:320
DtStateListener & listener()
Definition: DtStateVisualizer.h:159
makVrv::DtDe & myDe
Definition: entityFacadeCollection.h:581
bool myRotateToHeading
Definition: entityFacadeCollection.h:557
void setEntityExtentsVisible(makVrv::DtVisualizerSet *s, bool b, int modelSet=-1)
Definition: entityFacadeCollection.h:374
bool myCharacterPaused
Definition: entityFacadeCollection.h:534
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:30
bool myMarkingsModified
Definition: entityFacadeCollection.h:550