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);
111 virtual void enableArtPart(
makVrv::DtModelSetId modelSet,
int artPart,
bool enable,
const DtVector& translationRate = DtVector::zero(),
112 const DtVector& rotationalRate = DtVector::zero());
114 virtual void disableAllArtParts();
117 const DtVector& translationRate = DtVector::zero(),
const DtVector& minTranslation = DtVector::zero(),
118 const DtVector& maxTranslation = DtVector::zero());
121 const DtVector& rotationRate = DtVector::zero(),
const DtVector& minRotation = DtVector::zero(),
122 const DtVector& maxRotation = DtVector::zero());
125 virtual bool getArtPartInformation(
makVrv::DtModelSetId modelSet,
int artPart, DtVector& minRotation, DtVector& maxRotation, DtVector& minTranslation, DtVector& maxTranslation);
126 virtual bool getArtPartBodyPosition(
makVrv::DtModelSetId modelSet,
int artPart, DtVector& bodyPosition);
127 virtual bool getArtPartRestingHPR(
makVrv::DtModelSetId modelSet,
int artPart, DtTaitBryan& bodyPosition);
134 virtual void setLightPointGroupIntensity(
const std::string&lg,
int intensity);
137 virtual void setTopographicOrientation(
const DtTaitBryan& orientation)
override;
139 virtual void setTopographicOffsetFromPrincipal(
const DtVector&,
bool resetLocation =
true)
override;
142 virtual const std::string& decorationSet()
const;
145 virtual const std::string& unitCollection()
const;
148 virtual void setLocalOrientation(
const DtTaitBryan& orientation)
override;
152 virtual DtVector modelOrigin()
const;
155 virtual void setOrigin(
const DtVector& v)
override;
156 virtual void setOrigin(
const DtGeodeticCoord& v)
override;
159 virtual void setOriginAndSeaLevel(
const DtVector& v);
160 virtual void setOriginAndSeaLevel(
const DtGeodeticCoord& v);
162 virtual void ignoreVisualTypeSwitch(
int,
bool);
164 virtual bool hasOccupant()
const;
166 virtual void setDropShadow(
bool b);
167 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true)
override;
170 virtual void setForceType(DtForceType);
171 DtForceType forceType()
const;
172 virtual bool hasForceChange()
const;
175 virtual double initialAltitudeAboveTerrain()
const override;
180 virtual void setHatLineVisible(
bool visible)
override;
183 void setTrackHistoryVisible(
bool visible );
187 virtual bool isVisible()
const override;
190 virtual void setUseHighestTerrainLod(
bool);
193 virtual void setPickable(
bool b)
override;
196 virtual void setSelected(
bool b)
override;
199 virtual void setLabel(
const std::string& label);
200 virtual std::string label()
const;
201 virtual bool hasLabelChange()
const;
204 virtual void setupVisualMetaDataFor(
bool skipVariants =
false);
207 virtual void setExtendedLabels(
const std::map<int, DtString>& labels);
208 virtual std::map<int, DtString> extendedLabels()
const override;
209 virtual bool hasExtendedLabelsChange()
const;
212 virtual void setOverlayName(
const std::string&);
213 virtual std::string overlayName()
const override;
216 virtual void setIndicatorVisible(
bool b)
override;
219 virtual Dt3dBoundingVolume boundingVolume(
223 virtual void calculateSupportPoints(
makVrv::DtModelSetId modelSet, DtVector& left, DtVector& right, DtVector& other)
const;
227 virtual void detach()
override;
230 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const override;
232 virtual void clearMarkingsModified();
233 virtual bool markingsModified()
const;
236 virtual void setMarkingDecal(
const std::string& annotation,
const std::string& value);
237 virtual std::string markingDecal(
const std::string& annotation)
const;
240 return myMarkingDecals;
243 virtual void clearMarkingDecals();
249 virtual void setWidgetEventsEnabled(
bool b)
override;
252 virtual void setGroundClamping(
bool b);
253 virtual void setDeadReckoning(
bool position,
bool velocity,
bool orientation);
256 virtual void setSymbolDecorationOffset(
double x,
double y);
259 virtual void setFixedIconScalingEnabled(
bool);
262 virtual void realizeFacades()
override;
266 virtual void unrealizeFacades(
bool willRecreate =
false)
override;
270 virtual void setDictionaryToDisplay(
int);
287 virtual void setElementDefinition(
const DtEntityType&);
290 void setSmoothingEnabled(
bool enabled);
293 void setMotionModel(
const std::string&);
302 virtual void setHeadingIndicatorSize(
float l);
305 virtual bool isDiGuy()
const {
return myIsDiGuy; };
308 virtual DtVector position()
const;
313 virtual void setEffectsVisible(
bool);
316 virtual bool shouldEnableTrailEffects()
const;
319 virtual void enableTrailEffect(
bool);
323 virtual void setAltitudeAboveTerrain(
double d)
override;
327 virtual void setAltitudeAboveSeaLevel(
double d)
override;
331 virtual void setWakeLOD(
double);
337 virtual void setShowOccupants(
bool b);
339 virtual const DtVector32& velocity()
const;
340 virtual void setVelocity(
const DtVector32& v);
346 return visualizers(vis);
351 if (!myEntityElement)
355 myEntityElement->findVisualizersByDynamicCast(vis);
356 return (!vis.empty());
360 virtual void setIconScale(
float);
363 std::vector<T> visualizers;
364 myEntityElement->findVisualizersByDynamicCast(visualizers);
365 typename std::vector<T>::iterator i = visualizers.begin();
366 typename std::vector<T>::iterator e = visualizers.end();
371 (*i)->setIconScale(scale);
376 virtual void setExtendedData(
const std::map<std::string, std::string>&)
override;
378 virtual std::map<std::string, std::string> extendedData()
const override;
381 virtual void setEntityExtents(
const DtVector& volume,
const DtVector&
offset);
382 virtual void extents(DtVector& volume, DtVector&
offset)
const;
385 virtual bool hasBoundingVolumes()
const;
391 std::vector<T> visualizers;
392 myEntityElement->findVisualizersByDynamicCast(visualizers);
393 typename std::vector<T>::iterator i = visualizers.begin();
394 typename std::vector<T>::iterator e = visualizers.end();
401 (*i)->setShowExtentsEnabled(b);
409 std::vector<T> visualizers;
410 myEntityElement->findVisualizersByDynamicCast(visualizers);
411 typename std::vector<T>::iterator i = visualizers.begin();
412 typename std::vector<T>::iterator e = visualizers.end();
417 (*i)->setScale(scale);
424 std::vector<T> visualizers;
425 myEntityElement->findVisualizersByDynamicCast(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);
471 virtual void setCharacterPrimaryUnit(
const DtPatchIdentifier& patchId );
472 virtual void setCharacterSecondaryUnit(
const DtPatchIdentifier& patchId );
473 virtual void setCharacterRank(
const DtPatchIdentifier& patchId );
474 virtual void setCharacterName(
const DtString& patchId );
476 virtual void setDecorationEnabled(
const std::string& decorationId,
bool);
479 virtual void setDisplayName(
const std::string& displayName)
override;
485 virtual void setStatePropertyDecorationsVisible(
bool);
487 virtual void setSymbolDecorationsVisible(
bool);
491 return myIsAggregate;
495 virtual void finalizeSetup();
498 virtual void updateSymbolRotation(
const DtTaitBryan&);
501 virtual void updateSymbolRotation(
double);
504 virtual void setRotateToHeading(
bool);
507 return myRotateToHeading;
584 std::string myDecorationSet =
"defaultTacticalGraphic";
585 std::string myUnitCollection =
"Default";
std::string myOverlay
Definition: entityFacadeCollection.h:535
Contains makVrv:DtAggregateStateListener class.
boost::signals2::signal< void(std::string, std::string)> signal_markingDecalSet
Definition: entityFacadeCollection.h:515
const std::map< std::string, std::string > & markingDecalMap() const
Definition: entityFacadeCollection.h:238
std::string myDiGuyHead
Definition: entityFacadeCollection.h:545
ActivatedStates myActivatedStates
Definition: entityFacadeCollection.h:571
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:544
bool myEnableAnimationSmoothing
Definition: entityFacadeCollection.h:560
Contains makVrv::DtEntityElement class.
Definition: DtForceManager.h:44
double myDiGuyBodyWeight
Definition: entityFacadeCollection.h:552
std::string myDiGuyAppearance
Definition: entityFacadeCollection.h:543
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:539
DtPatchIdentifier myDiGuyPrimaryUnitPatch
Definition: entityFacadeCollection.h:546
int myAttributeCompareValue
Definition: entityFacadeCollection.h:567
std::map< makVrv::DtModelSetId, std::map< int, int > > ActivatedStates
Definition: entityFacadeCollection.h:570
DtColorizedModelColorType
Enumeration for the model coloring mode.
Definition: DtSharedEntityDisplaySettings.h:38
bool rotateToHeading() const
Definition: entityFacadeCollection.h:505
bool myHasExtendedLabelsChange
Definition: entityFacadeCollection.h:538
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool myUseHighestTerrainLOD
Definition: entityFacadeCollection.h:561
bool myHatLinesVisible
Definition: entityFacadeCollection.h:559
bool myTrackHistoryVisible
Definition: entityFacadeCollection.h:563
virtual void setExtendedData(const std::map< std::string, std::string > &)
For subclasses to implement...
Definition: vrfObjectFacadeInterface.h:174
std::map< makVrv::DtModelSetId, std::map< int, bool > > myEffectsShown
Definition: entityFacadeCollection.h:581
DtPatchIdentifier myDiGuySecondaryUnitPatch
Definition: entityFacadeCollection.h:547
void setEntityExtentsVisible(bool b, makVrv::DtModelSetId modelSet=makVrv::DtModelSetId::Unspecified)
Definition: entityFacadeCollection.h:389
DtExtAggregateStateListener * listener()
Definition: entityFacadeCollection.h:88
bool mySetupNodeMaskFlags
Definition: entityFacadeCollection.h:527
std::map< int, bool > myEntityExtentsVisible
Definition: entityFacadeCollection.h:565
bool myHasLabelChange
Definition: entityFacadeCollection.h:537
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:532
boost::signals2::connection myFinalizeConnection
Definition: entityFacadeCollection.h:578
DtForceType myForceType
Definition: entityFacadeCollection.h:540
int myDictionaryToDisplay
Definition: entityFacadeCollection.h:566
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
Definition: entityStateListenerExtensions.h:102
Contains makVrv::DtSharedModelSetSettings class.
std::map< int, makVrv::DtVisualizerSet * > ModelSetMap
Definition: entityFacadeCollection.h:70
std::string myCharacterModel
Definition: entityFacadeCollection.h:551
std::map< std::string, std::string > myMarkingDecals
Definition: entityFacadeCollection.h:580
Definition: vrfObjectFacadeInterface.h:53
std::string myCharacterAction
Definition: entityFacadeCollection.h:550
float B
Definition: DtForceManager.h:56
bool myNeedsRealization
Definition: entityFacadeCollection.h:557
std::map< int, bool > myHeadingIndicatorVisible
Definition: entityFacadeCollection.h:562
virtual void setExtendedData(const std::map< DtString, DtString > &m) override
Definition: entityFacadeCollection.h:377
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
virtual ~DtExtAggregateStateListener() override
Definition: entityFacadeCollection.h:53
std::string myDiGuyCharacterName
Definition: entityFacadeCollection.h:549
bool visualizers(std::vector< T > &vis) const
Definition: entityFacadeCollection.h:349
bool hasVisualizer() const
Returns true if has the visualizer.
Definition: entityFacadeCollection.h:343
bool myIsAggregate
Definition: entityFacadeCollection.h:60
float R
Definition: DtForceManager.h:56
void setScale(float scale)
Definition: entityFacadeCollection.h:407
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool dictionaryToDisplay() const
Definition: entityFacadeCollection.h:271
A single entity element. An entity element may be visualized using multiple visualizer sets one per m...
Definition: DtEntityElement.h:33
int myAppearance
Definition: entityFacadeCollection.h:541
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:564
Contains makVrv:DtBaseConnection class.
Contains makVrv::DtForceManager class.
makVrv::DtEntityElement * myEntityElement
Definition: entityFacadeCollection.h:533
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:520
std::map< DtModelSetId, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:28
bool myIsDiGuy
Definition: entityFacadeCollection.h:555
bool myOriginSet
Definition: entityFacadeCollection.h:556
float G
Definition: DtForceManager.h:56
float A
Definition: DtForceManager.h:56
void setColor(makVrv::DtForceManager::RGBAColor color)
Definition: entityFacadeCollection.h:422
Definition: entityFacadeCollection.h:588
makVrv::DtBaseConnection * myConnection
Definition: entityFacadeCollection.h:528
boost::signals2::signal< void(DtEntityFacadeCollection *)> signal_orientationChanged
Definition: entityFacadeCollection.h:513
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:76
DtBoundingVolumeSupportPointCalculator * myBVSPCalculator
Definition: entityFacadeCollection.h:573
bool myIsAggregate
Definition: entityFacadeCollection.h:536
DtModelSetId
Definition: DtModelSetEnums.h:19
virtual bool isDiGuy() const
Returns true if is a DI-Guy model.
Definition: entityFacadeCollection.h:305
voidpf uLong offset
Definition: ioapi.h:42
virtual bool isAggregate() const
Definition: entityFacadeCollection.h:489
DtPatchIdentifier myDiGuyRankPatch
Definition: entityFacadeCollection.h:548
boost::signals2::signal< void()> signal_endOfMarkingDecalSet
Definition: entityFacadeCollection.h:521
std::set< int > myIgnoreVisualTypeSwitch
Definition: entityFacadeCollection.h:583
makVrv::DtSignalConnectionManager myConnections
Definition: entityFacadeCollection.h:577
bool myIndicatorVisible
Definition: entityFacadeCollection.h:558
makVrv::DtUnicode myElementDefinition
Facades by model set.
Definition: entityFacadeCollection.h:525
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:601
void setIconScale(float scale)
Definition: entityFacadeCollection.h:361
bool myRotateToHeading
Definition: entityFacadeCollection.h:575
bool myCharacterPaused
Definition: entityFacadeCollection.h:553
bool myMarkingsModified
Definition: entityFacadeCollection.h:568