24 #include <matrix/vlVector.h>
25 #include <matrix/vlTaitBryan.h>
36 class DtVisualDefinitionSet;
37 class DtAgentManagerInterface;
39 class DtStatePropertyDecorationVisualizer;
40 class DtBaseConnection;
41 class DtEntityElement;
47 class DtBoundingVolumeSupportPointCalculator;
55 void setIsAggregate(
bool b);
57 virtual void updateForceColor()
override;
85 return myEntityElement;
93 virtual bool isVisualized()
const;
96 virtual void setupNodeMaskFlags()
const;
99 virtual void setSetupNodeMaskFlags(
bool);
112 const DtVector& rotationalRate = DtVector::zero());
115 const DtVector& translationRate = DtVector::zero(),
const DtVector& minTranslation = DtVector::zero(),
116 const DtVector& maxTranslation = DtVector::zero());
119 const DtVector& rotationRate = DtVector::zero(),
const DtVector& minRotation = DtVector::zero(),
120 const DtVector& maxRotation = DtVector::zero());
125 virtual bool getArtPartRestingHPR(
makVrv::DtModelSetId modelSet,
int artPart, DtTaitBryan& bodyPosition);
132 virtual void setTopographicOrientation(
const DtTaitBryan& orientation);
134 virtual void setTopographicOffsetFromPrincipal(
const DtVector&,
bool resetLocation =
true);
137 virtual const std::string& decorationSet()
const;
140 virtual const std::string& unitCollection()
const;
143 virtual void setLocalOrientation(
const DtTaitBryan& orientation);
146 virtual void setOrigin(
const DtVector& v);
147 virtual void setOrigin(
const DtGeodeticCoord& v);
150 virtual void setOriginAndSeaLevel(
const DtVector& v);
151 virtual void setOriginAndSeaLevel(
const DtGeodeticCoord& v);
153 virtual void ignoreVisualTypeSwitch(
int,
bool);
155 virtual bool hasOccupant()
const;
157 virtual void setDropShadow(
bool b);
158 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
161 virtual void setForceType(DtForceType);
162 DtForceType forceType()
const;
163 virtual bool hasForceChange()
const;
166 virtual double initialAltitudeAboveTerrain()
const;
171 void setHatLineVisible(
bool visible );
174 void setTrackHistoryVisible(
bool visible );
178 virtual bool isVisible()
const override;
181 virtual void setUseHighestTerrainLod(
bool);
184 virtual void setPickable(
bool b);
187 virtual void setSelected(
bool b);
190 virtual void setLabel(
const std::string& label);
191 virtual std::string label()
const;
192 virtual bool hasLabelChange()
const;
195 virtual void setupVisualMetaDataFor(
bool skipVariants =
false);
198 virtual void setExtendedLabels(
const std::map<int, DtString>& labels);
199 virtual std::map<int, DtString> extendedLabels()
const;
200 virtual bool hasExtendedLabelsChange()
const;
203 virtual void setOverlayName(
const std::string&);
204 virtual std::string overlayName()
const;
207 virtual void setIndicatorVisible(
bool b);
217 virtual void detach();
220 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
222 virtual void clearMarkingsModified();
223 virtual bool markingsModified()
const;
226 virtual void setMarkingDecal(
const std::string& annotation,
const std::string& value);
227 virtual std::string markingDecal(
const std::string& annotation)
const;
230 return myMarkingDecals;
233 virtual void clearMarkingDecals();
239 virtual void setWidgetEventsEnabled(
bool b);
242 virtual void setGroundClamping(
bool b);
243 virtual void setDeadReckoning(
bool position,
bool velocity,
bool orientation);
246 virtual void setSymbolDecorationOffset(
double x,
double y);
249 virtual void setFixedIconScalingEnabled(
bool);
252 virtual void realizeFacades();
256 virtual void unrealizeFacades(
bool willRecreate =
false);
260 virtual void setDictionaryToDisplay(
int);
277 virtual void setElementDefinition(
const DtEntityType&);
280 void setSmoothingEnabled(
bool enabled);
283 void setMotionModel(
const std::string&);
292 virtual void setHeadingIndicatorSize(
float l);
295 virtual bool isDiGuy()
const {
return myIsDiGuy; };
303 virtual void setEffectsVisible(
bool);
306 virtual bool shouldEnableTrailEffects()
const;
309 virtual void enableTrailEffect(
bool);
313 virtual void setAltitudeAboveTerrain(
double d);
317 virtual void setAltitudeAboveSeaLevel(
double d);
321 virtual void setWakeLOD(
double);
327 virtual void setShowOccupants(
bool b);
329 virtual const DtVector32& velocity()
const;
330 virtual void setVelocity(
const DtVector32& v);
336 return visualizers(vis);
341 if (!myEntityElement)
345 myEntityElement->findVisualizersByDynamicCast(vis);
346 return (!vis.empty());
350 virtual void setIconScale(
float);
353 std::vector<T> visualizers;
354 myEntityElement->findVisualizersByDynamicCast(visualizers);
355 typename std::vector<T>::iterator i = visualizers.begin();
356 typename std::vector<T>::iterator e = visualizers.end();
361 (*i)->setIconScale(scale);
366 virtual void setExtendedData(
const std::map<std::string, std::string>&);
367 virtual std::map<std::string, std::string> extendedData()
const;
374 virtual bool hasBoundingVolumes()
const;
380 std::vector<T> visualizers;
381 myEntityElement->findVisualizersByDynamicCast(visualizers);
382 typename std::vector<T>::iterator i = visualizers.begin();
383 typename std::vector<T>::iterator e = visualizers.end();
390 (*i)->setShowExtentsEnabled(b);
398 std::vector<T> visualizers;
399 myEntityElement->findVisualizersByDynamicCast(visualizers);
400 typename std::vector<T>::iterator i = visualizers.begin();
401 typename std::vector<T>::iterator e = visualizers.end();
406 (*i)->setScale(scale);
413 std::vector<T> visualizers;
414 myEntityElement->findVisualizersByDynamicCast(visualizers);
415 typename std::vector<T>::iterator i = visualizers.begin();
416 typename std::vector<T>::iterator e = visualizers.end();
421 (*i)->setColor(color.
R, color.
G, color.
B, color.
A);
426 virtual void setForceColor(
const DtRwColor&);
427 void setBoundingExtentColor(
float r,
float g,
float b,
float a);
430 virtual std::string diGuyCharacter()
const;
433 virtual std::string diGuyAppearance()
const;
436 virtual std::string diGuyHandItem()
const;
438 virtual std::string diGuyHead()
const;
441 virtual void setAppearance(
int);
442 virtual DtAppearance appearance()
const;
444 virtual void setLifeFormState(
unsigned int,
bool paused =
false);
445 virtual void setCharacterWeaponAiming(
bool aiming);
446 virtual void setEnableAnimationSmoothing(
bool);
447 virtual void setCharacterAction(
const std::string& animation,
bool paused =
false);
448 virtual const std::string& characterAction()
const;
450 virtual void setCharacterModel(
const std::string& animation);
451 virtual std::string characterModel()
const;
453 virtual void setCharacterBodyWeight(
double);
454 virtual void setCharacterAlive(
bool);
456 virtual void setCharacterAppearance(
const std::string& animation);
457 virtual void setCharacterHandItem(
const std::string& item);
458 virtual void setCharacterHead(
const std::string& head);
460 virtual void setCharacterPrimaryUnit(
const DtPatchIdentifier& patchId );
461 virtual void setCharacterSecondaryUnit(
const DtPatchIdentifier& patchId );
462 virtual void setCharacterRank(
const DtPatchIdentifier& patchId );
463 virtual void setCharacterName(
const DtString& patchId );
465 virtual void setDecorationEnabled(
const std::string& decorationId,
bool);
468 virtual void setDisplayName(
const std::string& displayName );
474 virtual void setStatePropertyDecorationsVisible(
bool);
476 virtual void setSymbolDecorationsVisible(
bool);
480 return myIsAggregate;
484 virtual void finalizeSetup();
487 virtual void updateSymbolRotation(
const DtTaitBryan&);
490 virtual void updateSymbolRotation(
double);
493 virtual void setRotateToHeading(
bool);
496 return myRotateToHeading;
573 std::string myDecorationSet =
"defaultTacticalGraphic";
574 std::string myUnitCollection =
"Default";
std::string myOverlay
Definition: entityFacadeCollection.h:524
Contains makVrv:DtAggregateStateListener class.
boost::signals2::signal< void(std::string, std::string)> signal_markingDecalSet
Definition: entityFacadeCollection.h:504
const std::map< std::string, std::string > & markingDecalMap() const
Definition: entityFacadeCollection.h:228
std::string myDiGuyHead
Definition: entityFacadeCollection.h:534
ActivatedStates myActivatedStates
Definition: entityFacadeCollection.h:560
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Definition: entityFacadeCollection.h:49
std::string myDiGuyHandItem
Definition: entityFacadeCollection.h:533
bool myEnableAnimationSmoothing
Definition: entityFacadeCollection.h:549
Contains makVrv::DtEntityElement class.
Definition: DtForceManager.h:44
double myDiGuyBodyWeight
Definition: entityFacadeCollection.h:541
std::string myDiGuyAppearance
Definition: entityFacadeCollection.h:532
The DtAggregateStateListener extends DtEntityStateListener. It provides a interface to all the visual...
Definition: DtAggregateStateListener.h:33
ShowHideContext
Definition: DtShowHideContext.h:18
bool myForceChanged
Definition: entityFacadeCollection.h:528
DtPatchIdentifier myDiGuyPrimaryUnitPatch
Definition: entityFacadeCollection.h:535
int myAttributeCompareValue
Definition: entityFacadeCollection.h:556
std::map< makVrv::DtModelSetId, std::map< int, int > > ActivatedStates
Definition: entityFacadeCollection.h:559
DtColorizedModelColorType
Enumeration for the model coloring mode.
Definition: DtSharedEntityDisplaySettings.h:38
bool rotateToHeading() const
Definition: entityFacadeCollection.h:494
bool myHasExtendedLabelsChange
Definition: entityFacadeCollection.h:527
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool myUseHighestTerrainLOD
Definition: entityFacadeCollection.h:550
bool myHatLinesVisible
Definition: entityFacadeCollection.h:548
bool myTrackHistoryVisible
Definition: entityFacadeCollection.h:552
std::map< makVrv::DtModelSetId, std::map< int, bool > > myEffectsShown
Definition: entityFacadeCollection.h:570
DtPatchIdentifier myDiGuySecondaryUnitPatch
Definition: entityFacadeCollection.h:536
void setEntityExtentsVisible(bool b, makVrv::DtModelSetId modelSet=makVrv::DtModelSetId::Unspecified)
Definition: entityFacadeCollection.h:378
DtExtAggregateStateListener * listener()
Definition: entityFacadeCollection.h:88
bool mySetupNodeMaskFlags
Definition: entityFacadeCollection.h:516
std::map< int, bool > myEntityExtentsVisible
Definition: entityFacadeCollection.h:554
bool myHasLabelChange
Definition: entityFacadeCollection.h:526
makVrv::DtEntityElement * entityElement()
Definition: entityFacadeCollection.h:83
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
DtExtAggregateStateListener * myListener
Aggregate is also an entity state listener, so, it can be used.
Definition: entityFacadeCollection.h:521
boost::signals2::connection myFinalizeConnection
Definition: entityFacadeCollection.h:567
DtForceType myForceType
Definition: entityFacadeCollection.h:529
int myDictionaryToDisplay
Definition: entityFacadeCollection.h:555
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
Definition: entityStateListenerExtensions.h:98
Contains makVrv::DtSharedModelSetSettings class.
std::map< int, makVrv::DtVisualizerSet * > ModelSetMap
Definition: entityFacadeCollection.h:70
std::string myCharacterModel
Definition: entityFacadeCollection.h:540
std::map< std::string, std::string > myMarkingDecals
Definition: entityFacadeCollection.h:569
Definition: vrfObjectFacadeInterface.h:54
std::string myCharacterAction
Definition: entityFacadeCollection.h:539
float B
Definition: DtForceManager.h:56
bool myNeedsRealization
Definition: entityFacadeCollection.h:546
std::map< int, bool > myHeadingIndicatorVisible
Definition: entityFacadeCollection.h:551
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::string myDiGuyCharacterName
Definition: entityFacadeCollection.h:538
bool visualizers(std::vector< T > &vis) const
Definition: entityFacadeCollection.h:339
bool hasVisualizer() const
Returns true if has the visualizer.
Definition: entityFacadeCollection.h:333
bool myIsAggregate
Definition: entityFacadeCollection.h:60
float R
Definition: DtForceManager.h:56
virtual ~DtExtAggregateStateListener()
Definition: entityFacadeCollection.h:53
void setScale(float scale)
Definition: entityFacadeCollection.h:396
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool dictionaryToDisplay() const
Definition: entityFacadeCollection.h:261
A single entity element. An entity element may be visualized using multiple visualizer sets one per m...
Definition: DtEntityElement.h:31
int myAppearance
Definition: entityFacadeCollection.h:530
Will create entity facades for each realized model set and manage them all.
Definition: entityFacadeCollection.h:67
std::map< int, bool > mySymbolNameVisible
Definition: entityFacadeCollection.h:553
Contains makVrv:DtBaseConnection class.
Contains makVrv::DtForceManager class.
makVrv::DtEntityElement * myEntityElement
Definition: entityFacadeCollection.h:522
boost::signals2::signal< void()> signal_startOfMarkingDecalSet
These signals are needed because of variants/subvariants and not knowing in which order they are bein...
Definition: entityFacadeCollection.h:509
std::map< DtModelSetId, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:28
bool myIsDiGuy
Definition: entityFacadeCollection.h:544
bool myOriginSet
Definition: entityFacadeCollection.h:545
float G
Definition: DtForceManager.h:56
float A
Definition: DtForceManager.h:56
void setColor(makVrv::DtForceManager::RGBAColor color)
Definition: entityFacadeCollection.h:411
Definition: entityFacadeCollection.h:577
makVrv::DtBaseConnection * myConnection
Definition: entityFacadeCollection.h:517
boost::signals2::signal< void(DtEntityFacadeCollection *)> signal_orientationChanged
Definition: entityFacadeCollection.h:502
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
DtBoundingVolumeSupportPointCalculator * myBVSPCalculator
Definition: entityFacadeCollection.h:562
bool myIsAggregate
Definition: entityFacadeCollection.h:525
DtModelSetId
Definition: DtModelSetEnums.h:19
virtual bool isDiGuy() const
Returns true if is a DI-Guy model.
Definition: entityFacadeCollection.h:295
voidpf uLong offset
Definition: ioapi.h:42
virtual bool isAggregate() const
Definition: entityFacadeCollection.h:478
DtPatchIdentifier myDiGuyRankPatch
Definition: entityFacadeCollection.h:537
boost::signals2::signal< void()> signal_endOfMarkingDecalSet
Definition: entityFacadeCollection.h:510
std::set< int > myIgnoreVisualTypeSwitch
Definition: entityFacadeCollection.h:572
makVrv::DtSignalConnectionManager myConnections
Definition: entityFacadeCollection.h:566
bool myIndicatorVisible
Definition: entityFacadeCollection.h:547
makVrv::DtUnicode myElementDefinition
Facades by model set.
Definition: entityFacadeCollection.h:514
Given a scene object, this class will iterate over the models, looking for an articulated model or di...
Definition: boundingVolumeSupportPointCalculator.h:42
makVrv::DtDe & myDe
Definition: entityFacadeCollection.h:590
void setIconScale(float scale)
Definition: entityFacadeCollection.h:351
bool myRotateToHeading
Definition: entityFacadeCollection.h:564
bool myCharacterPaused
Definition: entityFacadeCollection.h:542
bool myMarkingsModified
Definition: entityFacadeCollection.h:557