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);
104 virtual std::map<int, std::vector<int> > modelStates(
int modelSet)
const;
108 virtual std::vector<int> artParts(
int modelSet)
const;
111 virtual void enableArtPart(
int modelSet,
int artPart,
bool enable,
const DtVector& translationRate = DtVector::zero(),
112 const DtVector& rotationalRate = DtVector::zero());
114 virtual void enableArtPartTranslation(
int modelSet,
int artPart,
bool enable,
115 const DtVector& translationRate = DtVector::zero(),
const DtVector& minTranslation = DtVector::zero(),
116 const DtVector& maxTranslation = DtVector::zero());
118 virtual void enableArtPartRotation(
int modelSet,
int artPart,
bool enable,
119 const DtVector& rotationRate = DtVector::zero(),
const DtVector& minRotation = DtVector::zero(),
120 const DtVector& maxRotation = DtVector::zero());
123 virtual void getArtPartInformation(
int modelSet,
int artPart,
DtVector& minRotation,
DtVector& maxRotation,
DtVector& minTranslation,
DtVector& maxTranslation);
127 virtual void setModelState(
int modelSet,
int,
int);
130 virtual void setTopographicOrientation(
const DtTaitBryan& orientation);
132 virtual void setTopographicOffsetFromPrincipal(
const DtVector&,
bool resetLocation =
true);
135 virtual void setLocalOrientation(
const DtTaitBryan& orientation);
138 virtual void setOrigin(
const DtVector& v);
139 virtual void setOrigin(
const DtGeodeticCoord& v);
142 virtual void setOriginAndSeaLevel(
const DtVector& v);
143 virtual void setOriginAndSeaLevel(
const DtGeodeticCoord& v);
145 virtual void ignoreVisualTypeSwitch(
int,
bool);
147 virtual bool hasOccupant()
const;
149 virtual void setDropShadow(
bool b);
150 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
153 virtual void setForceType(DtForceType);
154 DtForceType forceType()
const;
155 virtual bool hasForceChange()
const;
158 virtual double initialAltitudeAboveTerrain()
const;
163 void setHatLineVisible(
bool visible );
166 void setTrackHistoryVisible(
bool visible );
170 virtual bool isVisible()
const override;
173 virtual void setUseHighestTerrainLod(
bool);
176 virtual void setPickable(
bool b);
179 virtual void setSelected(
bool b);
182 virtual void setLabel(
const std::string& label);
183 virtual std::string label()
const;
184 virtual bool hasLabelChange()
const;
187 virtual void setupVisualMetaDataFor(
bool skipVariants =
false);
190 virtual void setExtendedLabels(
const std::map<int, DtString>& labels);
191 virtual std::map<int, DtString> extendedLabels()
const;
192 virtual bool hasExtendedLabelsChange()
const;
195 virtual void setOverlayName(
const std::string&);
196 virtual std::string overlayName()
const;
199 virtual void setIndicatorVisible(
bool b);
202 virtual Dt3dBoundingVolume boundingVolume(
int modelSet = 0)
const;
209 virtual void detach();
212 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
214 virtual void clearMarkingsModified();
215 virtual bool markingsModified()
const;
218 virtual void setMarkingDecal(
const std::string& annotation,
const std::string& value);
219 virtual std::string markingDecal(
const std::string& annotation)
const;
222 return myMarkingDecals;
225 virtual void clearMarkingDecals();
228 virtual bool hasMultipleLODs(
int modelSet = 0)
const;
231 virtual void setWidgetEventsEnabled(
bool b);
234 virtual void setGroundClamping(
bool b);
235 virtual void setDeadReckoning(
bool position,
bool velocity,
bool orientation);
238 virtual void setSymbolDecorationOffset(
double x,
double y);
241 virtual void setFixedIconScalingEnabled(
bool);
244 virtual void realizeFacades();
248 virtual void unrealizeFacades(
bool willRecreate =
false);
252 virtual void setDictionaryToDisplay(
int);
257 virtual bool hasProjectedModel(
int modelSet)
const;
269 virtual void setElementDefinition(
const DtEntityType&);
272 void setSmoothingEnabled(
bool enabled);
275 void setMotionModel(
const std::string&);
278 virtual void setLabelIndicatorVisible(
bool);
281 virtual void setHeadingIndicatorVisible(
bool);
284 virtual void setHeadingIndicatorSize(
float l);
287 virtual bool isDiGuy()
const {
return myIsDiGuy; };
295 virtual void setEffectsVisible(
bool);
298 virtual bool shouldEnableTrailEffects()
const;
301 virtual void enableTrailEffect(
bool);
305 virtual void setAltitudeAboveTerrain(
double d);
309 virtual void setAltitudeAboveSeaLevel(
double d);
312 virtual bool hasWakeModel(
int set);
313 virtual void setWakeLOD(
double);
314 virtual void setShowWakes(
bool b,
int modelSet = -1);
316 virtual void setShowSmoke(
bool b,
int modelSet = -1);
317 virtual void setShowFlames(
bool b,
int modelSet = -1);
319 virtual void setShowOccupants(
bool b);
321 virtual const DtVector32& velocity()
const;
322 virtual void setVelocity(
const DtVector32& v);
328 return visualizers(vis);
333 if (!myEntityElement)
337 myEntityElement->findVisualizersByDynamicCast(vis);
338 return (!vis.empty());
342 virtual void setIconScale(
float);
345 std::vector<T> visualizers;
346 myEntityElement->findVisualizersByDynamicCast(visualizers);
347 typename std::vector<T>::iterator i = visualizers.begin();
348 typename std::vector<T>::iterator e = visualizers.end();
353 (*i)->setIconScale(scale);
358 virtual void setExtendedData(
const std::map<std::string, std::string>&);
359 virtual std::map<std::string, std::string> extendedData()
const;
365 virtual bool hasBoundingVolumes()
const;
368 virtual void setEntityExtentsVisible(
bool,
int modelSet = -1);
371 std::vector<T> visualizers;
372 myEntityElement->findVisualizersByDynamicCast(visualizers);
373 typename std::vector<T>::iterator i = visualizers.begin();
374 typename std::vector<T>::iterator e = visualizers.end();
379 if ((modelSet == -1) || (modelSet == (*i)->modelSet()))
381 (*i)->setShowExtentsEnabled(b);
389 std::vector<T> visualizers;
390 myEntityElement->findVisualizersByDynamicCast(visualizers);
391 typename std::vector<T>::iterator i = visualizers.begin();
392 typename std::vector<T>::iterator e = visualizers.end();
397 (*i)->setScale(scale);
404 std::vector<T> visualizers;
405 myEntityElement->findVisualizersByDynamicCast(visualizers);
406 typename std::vector<T>::iterator i = visualizers.begin();
407 typename std::vector<T>::iterator e = visualizers.end();
412 (*i)->setColor(color.
R, color.
G, color.
B, color.
A);
417 virtual void setForceColor(
const DtRwColor&);
418 void setBoundingExtentColor(
float r,
float g,
float b,
float a);
421 virtual std::string diGuyCharacter()
const;
424 virtual std::string diGuyAppearance()
const;
427 virtual std::string diGuyHandItem()
const;
429 virtual std::string diGuyHead()
const;
432 virtual void setAppearance(
int);
433 virtual DtAppearance appearance()
const;
435 virtual void setLifeFormState(
unsigned int,
bool paused =
false);
436 virtual void setCharacterWeaponAiming(
bool aiming);
437 virtual void setEnableAnimationSmoothing(
bool);
438 virtual void setCharacterAction(
const std::string& animation,
bool paused =
false);
439 virtual const std::string& characterAction()
const;
441 virtual void setCharacterModel(
const std::string& animation);
442 virtual std::string characterModel()
const;
444 virtual void setCharacterBodyWeight(
double);
445 virtual void setCharacterAlive(
bool);
447 virtual void setCharacterAppearance(
const std::string& animation);
448 virtual void setCharacterHandItem(
const std::string& item);
449 virtual void setCharacterHead(
const std::string& head);
451 virtual void setCharacterPrimaryUnit(
const DtPatchIdentifier& patchId );
452 virtual void setCharacterSecondaryUnit(
const DtPatchIdentifier& patchId );
453 virtual void setCharacterRank(
const DtPatchIdentifier& patchId );
454 virtual void setCharacterName(
const DtString& patchId );
456 virtual void setDecorationEnabled(
const std::string& decorationId,
bool);
459 virtual void setDisplayName(
const std::string& displayName );
462 virtual void setSymbolNameVisible(
bool);
465 virtual void setStatePropertyDecorationsVisible(
bool);
467 virtual void setSymbolDecorationsVisible(
bool);
471 return myIsAggregate;
475 virtual void finalizeSetup();
478 virtual void updateSymbolRotation(
const DtTaitBryan&);
481 virtual void updateSymbolRotation(
double);
484 virtual void setRotateToHeading(
bool);
487 return myRotateToHeading;
490 virtual void slot_visualizerCreationDisabled(
int modelSet,
int visualType );
491 virtual void slot_visualizerCreationEnabled(
int modelSet,
int visualType );
std::string myOverlay
Definition: entityFacadeCollection.h:515
Contains makVrv:DtAggregateStateListener class.
boost::signals2::signal< void(std::string, std::string)> signal_markingDecalSet
Definition: entityFacadeCollection.h:495
const std::map< std::string, std::string > & markingDecalMap() const
Definition: entityFacadeCollection.h:220
std::string myDiGuyHead
Definition: entityFacadeCollection.h:525
ActivatedStates myActivatedStates
Definition: entityFacadeCollection.h:551
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:524
bool myEnableAnimationSmoothing
Definition: entityFacadeCollection.h:540
bool myEntityExtentsVisible
Definition: entityFacadeCollection.h:545
Contains makVrv::DtEntityElement class.
Definition: DtForceManager.h:44
double myDiGuyBodyWeight
Definition: entityFacadeCollection.h:532
std::string myDiGuyAppearance
Definition: entityFacadeCollection.h:523
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:519
DtPatchIdentifier myDiGuyPrimaryUnitPatch
Definition: entityFacadeCollection.h:526
std::map< int, std::map< int, bool > > myEffectsShown
Definition: entityFacadeCollection.h:561
int myAttributeCompareValue
Definition: entityFacadeCollection.h:547
DtColorizedModelColorType
Enumeration for the model coloring mode.
Definition: DtSharedEntityDisplaySettings.h:34
void setEntityExtentsVisible(bool b, int modelSet=-1)
Definition: entityFacadeCollection.h:369
bool rotateToHeading() const
Definition: entityFacadeCollection.h:485
bool myHasExtendedLabelsChange
Definition: entityFacadeCollection.h:518
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool myUseHighestTerrainLOD
Definition: entityFacadeCollection.h:541
bool myHatLinesVisible
Definition: entityFacadeCollection.h:539
bool myTrackHistoryVisible
Definition: entityFacadeCollection.h:543
DtPatchIdentifier myDiGuySecondaryUnitPatch
Definition: entityFacadeCollection.h:527
DtExtAggregateStateListener * listener()
Definition: entityFacadeCollection.h:88
bool mySetupNodeMaskFlags
Definition: entityFacadeCollection.h:507
bool myHasLabelChange
Definition: entityFacadeCollection.h:517
makVrv::DtEntityElement * entityElement()
Definition: entityFacadeCollection.h:83
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:38
DtExtAggregateStateListener * myListener
Aggregate is also an entity state listener, so, it can be used.
Definition: entityFacadeCollection.h:512
boost::signals2::connection myFinalizeConnection
Definition: entityFacadeCollection.h:558
DtForceType myForceType
Definition: entityFacadeCollection.h:520
int myDictionaryToDisplay
Definition: entityFacadeCollection.h:546
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
Definition: entityStateListenerExtensions.h:81
Contains makVrv::DtSharedModelSetSettings class.
std::map< int, makVrv::DtVisualizerSet * > ModelSetMap
Definition: entityFacadeCollection.h:70
std::string myCharacterModel
Definition: entityFacadeCollection.h:531
std::map< std::string, std::string > myMarkingDecals
Definition: entityFacadeCollection.h:560
Definition: vrfObjectFacadeInterface.h:53
std::string myCharacterAction
Definition: entityFacadeCollection.h:530
float B
Definition: DtForceManager.h:56
bool myNeedsRealization
Definition: entityFacadeCollection.h:537
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::string myDiGuyCharacterName
Definition: entityFacadeCollection.h:529
bool visualizers(std::vector< T > &vis) const
Definition: entityFacadeCollection.h:331
bool hasVisualizer() const
Returns true if has the visualizer.
Definition: entityFacadeCollection.h:325
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:387
bool dictionaryToDisplay() const
Definition: entityFacadeCollection.h:253
A single entity element. An entity element may be visualized using multiple visualizer sets one per m...
Definition: DtEntityElement.h:32
int myAppearance
Definition: entityFacadeCollection.h:521
Will create entity facades for each realized model set and manage them all.
Definition: entityFacadeCollection.h:67
Contains makVrv:DtBaseConnection class.
Contains makVrv::DtForceManager class.
makVrv::DtEntityElement * myEntityElement
Definition: entityFacadeCollection.h:513
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:500
bool myIsDiGuy
Definition: entityFacadeCollection.h:535
bool mySymbolNameVisible
Definition: entityFacadeCollection.h:544
bool myOriginSet
Definition: entityFacadeCollection.h:536
float G
Definition: DtForceManager.h:56
float A
Definition: DtForceManager.h:56
void setColor(makVrv::DtForceManager::RGBAColor color)
Definition: entityFacadeCollection.h:402
Definition: entityFacadeCollection.h:566
makVrv::DtBaseConnection * myConnection
Definition: entityFacadeCollection.h:508
boost::signals2::signal< void(DtEntityFacadeCollection *)> signal_orientationChanged
Definition: entityFacadeCollection.h:493
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:70
DtBoundingVolumeSupportPointCalculator * myBVSPCalculator
Definition: entityFacadeCollection.h:553
bool myHeadingIndicatorVisible
Definition: entityFacadeCollection.h:542
bool myIsAggregate
Definition: entityFacadeCollection.h:516
std::map< int, std::map< int, int > > ActivatedStates
Definition: entityFacadeCollection.h:550
virtual bool isDiGuy() const
Returns true if is a DI-Guy model.
Definition: entityFacadeCollection.h:287
voidpf uLong offset
Definition: ioapi.h:42
virtual bool isAggregate() const
Definition: entityFacadeCollection.h:469
DtPatchIdentifier myDiGuyRankPatch
Definition: entityFacadeCollection.h:528
boost::signals2::signal< void()> signal_endOfMarkingDecalSet
Definition: entityFacadeCollection.h:501
std::set< int > myIgnoreVisualTypeSwitch
Definition: entityFacadeCollection.h:563
makVrv::DtSignalConnectionManager myConnections
Definition: entityFacadeCollection.h:557
bool myIndicatorVisible
Definition: entityFacadeCollection.h:538
makVrv::DtUnicode myElementDefinition
Facades by model set.
Definition: entityFacadeCollection.h:505
Given a scene object, this class will iterate over the models, looking for an articulated model or di...
Definition: boundingVolumeSupportPointCalculator.h:41
makVrv::DtDe & myDe
Definition: entityFacadeCollection.h:579
void setIconScale(float scale)
Definition: entityFacadeCollection.h:343
bool myRotateToHeading
Definition: entityFacadeCollection.h:555
bool myCharacterPaused
Definition: entityFacadeCollection.h:533
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:27
bool myMarkingsModified
Definition: entityFacadeCollection.h:548