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;
60 : makVrv::DtAggregateStateListener(id, settingsManager)
91 virtual bool isVisualized()
const;
94 virtual void setupNodeMaskFlags()
const;
97 virtual void setSetupNodeMaskFlags(
bool);
102 virtual std::map<int, std::vector<int> > modelStates(
int modelSet)
const;
106 virtual std::vector<int> artParts(
int modelSet)
const;
109 virtual void enableArtPart(
int modelSet,
int artPart,
bool enable,
const DtVector& translationRate = DtVector::zero(),
110 const DtVector& rotationalRate = DtVector::zero());
112 virtual void enableArtPartTranslation(
int modelSet,
int artPart,
bool enable,
113 const DtVector& translationRate = DtVector::zero(),
const DtVector& minTranslation = DtVector::zero(),
114 const DtVector& maxTranslation = DtVector::zero());
116 virtual void enableArtPartRotation(
int modelSet,
int artPart,
bool enable,
117 const DtVector& rotationRate = DtVector::zero(),
const DtVector& minRotation = DtVector::zero(),
118 const DtVector& maxRotation = DtVector::zero());
121 virtual void getArtPartInformation(
int modelSet,
int artPart,
DtVector& minRotation,
DtVector& maxRotation,
DtVector& minTranslation,
DtVector& maxTranslation);
125 virtual void setModelState(
int modelSet,
int,
int);
128 virtual void setTopographicOrientation(
const DtTaitBryan& orientation);
130 virtual void setTopographicOffsetFromPrincipal(
const DtVector&,
bool resetLocation =
true);
133 virtual void setLocalOrientation(
const DtTaitBryan& orientation);
136 virtual void setOrigin(
const DtVector& v);
137 virtual void setOrigin(
const DtGeodeticCoord& v);
140 virtual void setOriginAndSeaLevel(
const DtVector& v);
141 virtual void setOriginAndSeaLevel(
const DtGeodeticCoord& v);
143 virtual void ignoreVisualTypeSwitch(
int,
bool);
145 virtual bool hasOccupant()
const;
147 virtual void setDropShadow(
bool b);
148 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
151 virtual void setForceType(DtForceType);
152 DtForceType forceType()
const;
153 virtual bool hasForceChange()
const;
156 virtual double initialAltitudeAboveTerrain()
const;
161 void setHatLineVisible(
bool visible );
164 void setTrackHistoryVisible(
bool visible );
167 virtual void setVisible(
bool b,
bool updateOffsets =
true);
168 virtual void setVisible(
bool,
int context);
169 virtual bool isVisible()
const;
172 virtual void setUseHighestTerrainLod(
bool);
175 virtual void setPickable(
bool b);
178 virtual void setSelected(
bool b);
181 virtual void setLabel(
const std::string& label);
182 virtual std::string label()
const;
183 virtual bool hasLabelChange()
const;
186 virtual void setExtendedLabels(
const std::map<int, DtString>& labels);
187 virtual std::map<int, DtString> extendedLabels()
const;
188 virtual bool hasExtendedLabelsChange()
const;
191 virtual void setOverlayName(
const std::string&);
192 virtual std::string overlayName()
const;
195 virtual void setIndicatorVisible(
bool b);
198 virtual Dt3dBoundingVolume boundingVolume(
int modelSet = 0)
const;
205 virtual void detach();
209 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
211 virtual void clearMarkingsModified();
212 virtual bool markingsModified()
const;
215 virtual void setMarkingDecal(
const std::string& annotation,
const std::string& value);
216 virtual std::string markingDecal(
const std::string& annotation)
const;
219 return myMarkingDecals;
222 virtual void clearMarkingDecals();
225 virtual bool hasMultipleLODs(
int modelSet = 0)
const;
228 virtual void setWidgetEventsEnabled(
bool b);
231 virtual void setGroundClamping(
bool b);
232 virtual void setDeadReckoning(
bool position,
bool velocity,
bool orientation);
235 virtual void setSymbolDecorationOffset(
double x,
double y);
238 virtual void setAutoEnableGroundClamping(
bool b);
241 virtual void realizeFacades();
245 virtual void unrealizeFacades(
bool willRecreate =
false);
249 virtual void setDictionaryToDisplay(
int);
254 virtual bool hasProjectedModel(
int modelSet)
const;
266 virtual void setElementDefinition(
const DtEntityType&);
269 void setSmoothingEnabled(
bool enabled);
272 void setMotionModel(
const std::string&);
275 virtual void setLabelIndicatorVisible(
bool);
278 virtual void setHeadingIndicatorVisible(
bool);
281 virtual void setHeadingIndicatorSize(
float l);
284 virtual bool isDiGuy()
const {
return myIsDiGuy; };
292 virtual void setEffectsVisible(
bool);
295 virtual bool shouldEnableTrailEffects()
const;
298 virtual void enableTrailEffect(
bool);
302 virtual void setAltitudeAboveTerrain(
double d);
306 virtual void setAltitudeAboveSeaLevel(
double d);
309 virtual bool hasWakeModel(
int set);
310 virtual void setWakeLOD(
double);
311 virtual void setShowWakes(
bool b,
int modelSet = -1);
313 virtual void setShowSmoke(
bool b,
int modelSet = -1);
314 virtual void setShowFlames(
bool b,
int modelSet = -1);
316 virtual void setShowOccupants(
bool b);
318 virtual const DtVector32& velocity()
const;
319 virtual void setVelocity(
const DtVector32& v);
322 template <
typename T>
void visualizers(
int modelSet, std::vector<T>& visualizers)
const
324 if (myModelSetMap.find(modelSet) == myModelSetMap.end())
329 myModelSetMap.find(modelSet)->second->findVisualizersByDynamicCast(visualizers);
340 std::vector<T> visualizers;
343 return (visualizers.size() != 0);
347 virtual void setIconScale(
float);
350 std::vector<T> visualizers;
352 typename std::vector<T>::iterator i = visualizers.begin();
353 typename std::vector<T>::iterator e = visualizers.end();
358 (*i)->setIconScale(scale);
363 virtual void setExtendedData(
const std::map<std::string, std::string>&);
364 virtual std::map<std::string, std::string> extendedData()
const;
372 virtual bool hasBoundingVolumes()
const;
375 virtual void setEntityExtentsVisible(
bool,
int modelSet = -1);
378 std::vector<T> visualizers;
380 typename std::vector<T>::iterator i = visualizers.begin();
381 typename std::vector<T>::iterator e = visualizers.end();
396 std::vector<T> visualizers;
398 typename std::vector<T>::iterator i = visualizers.begin();
399 typename std::vector<T>::iterator e = visualizers.end();
404 (*i)->setScale(scale);
411 std::vector<T> visualizers;
413 typename std::vector<T>::iterator i = visualizers.begin();
414 typename std::vector<T>::iterator e = visualizers.end();
419 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
426 std::vector<T> visualizers;
428 typename std::vector<T>::iterator i = visualizers.begin();
429 typename std::vector<T>::iterator e = visualizers.end();
434 (*i)->setForceId(type);
441 std::vector<T> visualizers;
443 typename std::vector<T>::iterator i = visualizers.begin();
444 typename std::vector<T>::iterator e = visualizers.end();
449 (*i)->setColor(color.
R, color.
G, color.
B, color.
A);
454 virtual void setForceColor(
const DtRwColor&);
455 void setBoundingExtentColor(
float r,
float g,
float b,
float a);
458 virtual std::string diGuyCharacter()
const;
461 virtual std::string diGuyAppearance()
const;
464 virtual std::string diGuyHandItem()
const;
466 virtual std::string diGuyHead()
const;
469 virtual void setAppearance(
int);
470 virtual DtAppearance appearance()
const;
472 virtual void setLifeFormState(
unsigned int,
bool paused =
false);
473 virtual void setCharacterWeaponAiming(
bool aiming);
474 virtual void setEnableAnimationSmoothing(
bool);
475 virtual void setCharacterAction(
const std::string& animation,
bool paused =
false);
476 virtual const std::string& characterAction()
const;
478 virtual void setCharacterModel(
const std::string& animation);
479 virtual std::string characterModel()
const;
481 virtual void setCharacterBodyWeight(
double);
482 virtual void setCharacterAlive(
bool);
484 virtual void setCharacterAppearance(
const std::string& animation);
485 virtual void setCharacterHandItem(
const std::string& item);
486 virtual void setCharacterHead(
const std::string& head);
489 virtual void setDisplayName(
const std::string& displayName );
492 virtual void setSymbolNameVisible(
bool);
495 virtual void setStatePropertyDecorationsVisible(
bool);
497 virtual void setSymbolDecorationsVisible(
bool);
501 return myIsAggregate;
505 virtual void finalizeSetup();
508 virtual void updateSymbolRotation(
const DtTaitBryan&);
511 virtual void updateSymbolRotation(
double);
514 virtual void setRotateToHeading(
bool);
517 return myRotateToHeading;
520 virtual void slot_visualizerCreationDisabled(
int modelSet,
int visualType );
521 virtual void slot_visualizerCreationEnabled(
int modelSet,
int visualType );
std::string myOverlay
Definition: entityFacadeCollection.h:537
Contains makVrv:DtAggregateStateListener class.
const std::map< std::string, std::string > & markingDecalMap() const
Definition: entityFacadeCollection.h:217
DtExtAggregateStateListener myListener
Aggregate is also an entity state listener, so, it can be used.
Definition: entityFacadeCollection.h:534
std::string myDiGuyHead
Definition: entityFacadeCollection.h:547
ActivatedStates myActivatedStates
Definition: entityFacadeCollection.h:570
Virtual base class.
Definition: DtVirtualBaseClass.h:19
A unicode string.
Definition: DtUnicode.h:33
Definition: entityFacadeCollection.h:56
std::string myDiGuyHandItem
Definition: entityFacadeCollection.h:546
int myModelSet
Definition: DtStateVisualizer.h:277
bool myEnableAnimationSmoothing
Definition: entityFacadeCollection.h:559
bool myEntityExtentsVisible
Definition: entityFacadeCollection.h:564
ModelSetMap & modelSetMap()
Definition: entityFacadeCollection.h:86
const ModelSetMap & modelSetMap() const
Definition: entityFacadeCollection.h:81
Definition: DtForceManager.h:46
void setForceColor(makVrv::DtVisualizerSet *s, makVrv::DtForceManager::RGBAColor color)
Definition: entityFacadeCollection.h:409
double myDiGuyBodyWeight
Definition: entityFacadeCollection.h:550
std::string myDiGuyAppearance
Definition: entityFacadeCollection.h:545
The DtAggregateStateListener is an abstract class.
Definition: DtAggregateStateListener.h:25
ModelSetMap myModelSetMap
Definition: entityFacadeCollection.h:535
bool myForceChanged
Definition: entityFacadeCollection.h:541
std::map< int, std::map< int, bool > > myEffectsShown
Definition: entityFacadeCollection.h:580
int myAttributeCompareValue
Definition: entityFacadeCollection.h:566
void setScale(makVrv::DtVisualizerSet *s, float scale)
Definition: entityFacadeCollection.h:394
void setIconScale(makVrv::DtVisualizerSet *s, float scale)
Definition: entityFacadeCollection.h:348
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
bool rotateToHeading() const
Definition: entityFacadeCollection.h:515
bool myHasExtendedLabelsChange
Definition: entityFacadeCollection.h:540
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool myUseHighestTerrainLOD
Definition: entityFacadeCollection.h:560
bool myHatLinesVisible
Definition: entityFacadeCollection.h:558
bool myTrackHistoryVisible
Definition: entityFacadeCollection.h:562
bool mySetupNodeMaskFlags
Definition: entityFacadeCollection.h:529
bool myHasLabelChange
Definition: entityFacadeCollection.h:539
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:34
boost::signals2::connection myFinalizeConnection
Definition: entityFacadeCollection.h:577
DtForceType myForceType
Definition: entityFacadeCollection.h:542
int myDictionaryToDisplay
Definition: entityFacadeCollection.h:565
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
Definition: entityStateListenerExtensions.h:75
Contains makVrv::DtSharedModelSetSettings class.
std::map< int, makVrv::DtVisualizerSet * > ModelSetMap
Definition: entityFacadeCollection.h:68
void setColor(makVrv::DtVisualizerSet *s, makVrv::DtForceManager::RGBAColor color)
Definition: entityFacadeCollection.h:439
std::string myCharacterModel
Definition: entityFacadeCollection.h:549
std::map< std::string, std::string > myMarkingDecals
Definition: entityFacadeCollection.h:579
MyStateVisualizer(makVrv::DtBaseConnection &connection, makVrv::DtStateListener &listener, int modelSet)
Definition: entityFacadeCollection.h:50
Definition: vrfObjectFacadeInterface.h:47
std::string myCharacterAction
Definition: entityFacadeCollection.h:548
float B
Definition: DtForceManager.h:58
bool myNeedsRealization
Definition: entityFacadeCollection.h:556
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
void setForceType(makVrv::DtVisualizerSet *s, DtForceType type)
Definition: entityFacadeCollection.h:424
Definition: entityFacadeCollection.h:47
bool myShowOccupants
Definition: entityFacadeCollection.h:554
float R
Definition: DtForceManager.h:58
virtual ~DtExtAggregateStateListener()
Definition: entityFacadeCollection.h:62
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool dictionaryToDisplay() const
Definition: entityFacadeCollection.h:250
int myAppearance
Definition: entityFacadeCollection.h:543
This contains all the DtVisualizers used to visualize an element in a particular model set...
Definition: DtVisualizerSet.h:31
Definition: entityFacadeCollection.h:65
Contains makVrv:DtBaseConnection class.
Contains makVrv::DtForceManager class.
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:32
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:259
bool hasVisualizer(makVrv::DtVisualizerSet *s) const
Returns true if has the visualizer.
Definition: entityFacadeCollection.h:333
bool myIsDiGuy
Definition: entityFacadeCollection.h:553
bool mySymbolNameVisible
Definition: entityFacadeCollection.h:563
bool myOriginSet
Definition: entityFacadeCollection.h:555
float G
Definition: DtForceManager.h:58
float A
Definition: DtForceManager.h:58
Definition: entityFacadeCollection.h:585
makVrv::DtBaseConnection * myConnection
Definition: entityFacadeCollection.h:530
boost::signals2::signal< void(DtEntityFacadeCollection *)> signal_orientationChanged
Definition: entityFacadeCollection.h:523
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtExtAggregateStateListener(makVrv::DtUniqueID id, makVrv::DtSharedSettingsManager &settingsManager)
Definition: entityFacadeCollection.h:59
DtBoundingVolumeSupportPointCalculator * myBVSPCalculator
Definition: entityFacadeCollection.h:572
bool myHeadingIndicatorVisible
Definition: entityFacadeCollection.h:561
bool myIsAggregate
Definition: entityFacadeCollection.h:538
std::map< int, std::map< int, int > > ActivatedStates
Definition: entityFacadeCollection.h:569
virtual bool isDiGuy() const
Returns true if is a DI-Guy model.
Definition: entityFacadeCollection.h:284
voidpf uLong offset
Definition: ioapi.h:42
int modelSet() const
Definition: entityFacadeCollection.h:53
DtStateVisualizer()=delete
Default constructor.
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
virtual bool isAggregate() const
Definition: entityFacadeCollection.h:499
Definition: DtVisualizerSchema.h:19
std::set< int > myIgnoreVisualTypeSwitch
Definition: entityFacadeCollection.h:582
makVrv::DtSignalConnectionManager myConnections
Definition: entityFacadeCollection.h:576
bool myIndicatorVisible
Definition: entityFacadeCollection.h:557
makVrv::DtUnicode myElementDefinition
Facades by model set.
Definition: entityFacadeCollection.h:527
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:322
DtStateListener & listener()
Definition: DtStateVisualizer.h:171
makVrv::DtDe & myDe
Definition: entityFacadeCollection.h:598
bool myRotateToHeading
Definition: entityFacadeCollection.h:574
void setEntityExtentsVisible(makVrv::DtVisualizerSet *s, bool b, int modelSet=-1)
Definition: entityFacadeCollection.h:376
bool myCharacterPaused
Definition: entityFacadeCollection.h:551
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:27
bool myMarkingsModified
Definition: entityFacadeCollection.h:567