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;
88 virtual bool isVisualized()
const;
91 virtual void setupNodeMaskFlags()
const;
94 virtual void setSetupNodeMaskFlags(
bool);
99 virtual std::map<int, std::vector<int> > modelStates(
int modelSet)
const;
103 virtual std::vector<int> artParts(
int modelSet)
const;
106 virtual void enableArtPart(
int modelSet,
int artPart,
bool enable,
const DtVector& translationRate = DtVector::zero(),
107 const DtVector& rotationalRate = DtVector::zero());
109 virtual void enableArtPartTranslation(
int modelSet,
int artPart,
bool enable,
110 const DtVector& translationRate = DtVector::zero(),
const DtVector& minTranslation = DtVector::zero(),
111 const DtVector& maxTranslation = DtVector::zero());
113 virtual void enableArtPartRotation(
int modelSet,
int artPart,
bool enable,
114 const DtVector& rotationRate = DtVector::zero(),
const DtVector& minRotation = DtVector::zero(),
115 const DtVector& maxRotation = DtVector::zero());
118 virtual void getArtPartInformation(
int modelSet,
int artPart,
DtVector& minRotation,
DtVector& maxRotation,
DtVector& minTranslation,
DtVector& maxTranslation);
122 virtual void setModelState(
int modelSet,
int,
int);
125 virtual void setTopographicOrientation(
const DtTaitBryan& orientation);
127 virtual void setTopographicOffsetFromPrincipal(
const DtVector&,
bool resetLocation =
true);
130 virtual void setLocalOrientation(
const DtTaitBryan& orientation);
133 virtual void setOrigin(
const DtVector& v);
134 virtual void setOrigin(
const DtGeodeticCoord& v);
137 virtual void setOriginAndSeaLevel(
const DtVector& v);
138 virtual void setOriginAndSeaLevel(
const DtGeodeticCoord& v);
140 virtual void ignoreVisualTypeSwitch(
int,
bool);
142 virtual bool hasOccupant()
const;
144 virtual void setDropShadow(
bool b);
145 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
148 virtual void setForceType(DtForceType);
149 DtForceType forceType()
const;
150 virtual bool hasForceChange()
const;
153 virtual double initialAltitudeAboveTerrain()
const;
158 void setHatLineVisible(
bool visible );
161 void setTrackHistoryVisible(
bool visible );
165 virtual bool isVisible()
const override;
168 virtual void setUseHighestTerrainLod(
bool);
171 virtual void setPickable(
bool b);
174 virtual void setSelected(
bool b);
177 virtual void setLabel(
const std::string& label);
178 virtual std::string label()
const;
179 virtual bool hasLabelChange()
const;
182 virtual void setupVisualMetaDataFor(
bool skipVariants =
false);
185 virtual void setExtendedLabels(
const std::map<int, DtString>& labels);
186 virtual std::map<int, DtString> extendedLabels()
const;
187 virtual bool hasExtendedLabelsChange()
const;
190 virtual void setOverlayName(
const std::string&);
191 virtual std::string overlayName()
const;
194 virtual void setIndicatorVisible(
bool b);
197 virtual Dt3dBoundingVolume boundingVolume(
int modelSet = 0)
const;
204 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 setFixedIconScalingEnabled(
bool);
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);
323 return visualizers(vis);
328 if (!myEntityElement)
332 myEntityElement->findVisualizersByDynamicCast(vis);
333 return (!vis.empty());
337 virtual void setIconScale(
float);
340 std::vector<T> visualizers;
341 myEntityElement->findVisualizersByDynamicCast(visualizers);
342 typename std::vector<T>::iterator i = visualizers.begin();
343 typename std::vector<T>::iterator e = visualizers.end();
348 (*i)->setIconScale(scale);
353 virtual void setExtendedData(
const std::map<std::string, std::string>&);
354 virtual std::map<std::string, std::string> extendedData()
const;
360 virtual bool hasBoundingVolumes()
const;
363 virtual void setEntityExtentsVisible(
bool,
int modelSet = -1);
366 std::vector<T> visualizers;
367 myEntityElement->findVisualizersByDynamicCast(visualizers);
368 typename std::vector<T>::iterator i = visualizers.begin();
369 typename std::vector<T>::iterator e = visualizers.end();
374 if ((modelSet == -1) || (modelSet == (*i)->modelSet()))
376 (*i)->setShowExtentsEnabled(b);
384 std::vector<T> visualizers;
385 myEntityElement->findVisualizersByDynamicCast(visualizers);
386 typename std::vector<T>::iterator i = visualizers.begin();
387 typename std::vector<T>::iterator e = visualizers.end();
392 (*i)->setScale(scale);
399 std::vector<T> visualizers;
400 myEntityElement->findVisualizersByDynamicCast(visualizers);
401 typename std::vector<T>::iterator i = visualizers.begin();
402 typename std::vector<T>::iterator e = visualizers.end();
407 (*i)->setColor(color.
R, color.
G, color.
B, color.
A);
412 virtual void setForceColor(
const DtRwColor&);
413 void setBoundingExtentColor(
float r,
float g,
float b,
float a);
416 virtual std::string diGuyCharacter()
const;
419 virtual std::string diGuyAppearance()
const;
422 virtual std::string diGuyHandItem()
const;
424 virtual std::string diGuyHead()
const;
427 virtual void setAppearance(
int);
428 virtual DtAppearance appearance()
const;
430 virtual void setLifeFormState(
unsigned int,
bool paused =
false);
431 virtual void setCharacterWeaponAiming(
bool aiming);
432 virtual void setEnableAnimationSmoothing(
bool);
433 virtual void setCharacterAction(
const std::string& animation,
bool paused =
false);
434 virtual const std::string& characterAction()
const;
436 virtual void setCharacterModel(
const std::string& animation);
437 virtual std::string characterModel()
const;
439 virtual void setCharacterBodyWeight(
double);
440 virtual void setCharacterAlive(
bool);
442 virtual void setCharacterAppearance(
const std::string& animation);
443 virtual void setCharacterHandItem(
const std::string& item);
444 virtual void setCharacterHead(
const std::string& head);
446 virtual void setCharacterPrimaryUnit(
const DtPatchIdentifier& patchId );
447 virtual void setCharacterSecondaryUnit(
const DtPatchIdentifier& patchId );
448 virtual void setCharacterRank(
const DtPatchIdentifier& patchId );
449 virtual void setCharacterName(
const DtString& patchId );
452 virtual void setDisplayName(
const std::string& displayName );
455 virtual void setSymbolNameVisible(
bool);
458 virtual void setStatePropertyDecorationsVisible(
bool);
460 virtual void setSymbolDecorationsVisible(
bool);
464 return myIsAggregate;
468 virtual void finalizeSetup();
471 virtual void updateSymbolRotation(
const DtTaitBryan&);
474 virtual void updateSymbolRotation(
double);
477 virtual void setRotateToHeading(
bool);
480 return myRotateToHeading;
483 virtual void slot_visualizerCreationDisabled(
int modelSet,
int visualType );
484 virtual void slot_visualizerCreationEnabled(
int modelSet,
int visualType );
std::string myOverlay
Definition: entityFacadeCollection.h:508
Contains makVrv:DtAggregateStateListener class.
boost::signals2::signal< void(std::string, std::string)> signal_markingDecalSet
Definition: entityFacadeCollection.h:488
const std::map< std::string, std::string > & markingDecalMap() const
Definition: entityFacadeCollection.h:215
std::string myDiGuyHead
Definition: entityFacadeCollection.h:518
ActivatedStates myActivatedStates
Definition: entityFacadeCollection.h:544
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:517
bool myEnableAnimationSmoothing
Definition: entityFacadeCollection.h:533
bool myEntityExtentsVisible
Definition: entityFacadeCollection.h:538
Contains makVrv::DtEntityElement class.
Definition: DtForceManager.h:44
double myDiGuyBodyWeight
Definition: entityFacadeCollection.h:525
std::string myDiGuyAppearance
Definition: entityFacadeCollection.h:516
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:512
DtPatchIdentifier myDiGuyPrimaryUnitPatch
Definition: entityFacadeCollection.h:519
std::map< int, std::map< int, bool > > myEffectsShown
Definition: entityFacadeCollection.h:554
int myAttributeCompareValue
Definition: entityFacadeCollection.h:540
DtColorizedModelColorType
Enumeration for the model coloring mode.
Definition: DtSharedEntityDisplaySettings.h:34
void setEntityExtentsVisible(bool b, int modelSet=-1)
Definition: entityFacadeCollection.h:364
bool rotateToHeading() const
Definition: entityFacadeCollection.h:478
bool myHasExtendedLabelsChange
Definition: entityFacadeCollection.h:511
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool myUseHighestTerrainLOD
Definition: entityFacadeCollection.h:534
bool myHatLinesVisible
Definition: entityFacadeCollection.h:532
bool myTrackHistoryVisible
Definition: entityFacadeCollection.h:536
DtPatchIdentifier myDiGuySecondaryUnitPatch
Definition: entityFacadeCollection.h:520
bool mySetupNodeMaskFlags
Definition: entityFacadeCollection.h:500
bool myHasLabelChange
Definition: entityFacadeCollection.h:510
makVrv::DtEntityElement * entityElement()
Definition: entityFacadeCollection.h:83
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:39
DtExtAggregateStateListener * myListener
Aggregate is also an entity state listener, so, it can be used.
Definition: entityFacadeCollection.h:505
boost::signals2::connection myFinalizeConnection
Definition: entityFacadeCollection.h:551
DtForceType myForceType
Definition: entityFacadeCollection.h:513
int myDictionaryToDisplay
Definition: entityFacadeCollection.h:539
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:524
std::map< std::string, std::string > myMarkingDecals
Definition: entityFacadeCollection.h:553
Definition: vrfObjectFacadeInterface.h:53
std::string myCharacterAction
Definition: entityFacadeCollection.h:523
float B
Definition: DtForceManager.h:56
bool myNeedsRealization
Definition: entityFacadeCollection.h:530
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::string myDiGuyCharacterName
Definition: entityFacadeCollection.h:522
bool visualizers(std::vector< T > &vis) const
Definition: entityFacadeCollection.h:326
bool hasVisualizer() const
Returns true if has the visualizer.
Definition: entityFacadeCollection.h:320
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:382
bool dictionaryToDisplay() const
Definition: entityFacadeCollection.h:248
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:514
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:506
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:493
bool myIsDiGuy
Definition: entityFacadeCollection.h:528
bool mySymbolNameVisible
Definition: entityFacadeCollection.h:537
bool myOriginSet
Definition: entityFacadeCollection.h:529
float G
Definition: DtForceManager.h:56
float A
Definition: DtForceManager.h:56
void setColor(makVrv::DtForceManager::RGBAColor color)
Definition: entityFacadeCollection.h:397
Definition: entityFacadeCollection.h:559
makVrv::DtBaseConnection * myConnection
Definition: entityFacadeCollection.h:501
boost::signals2::signal< void(DtEntityFacadeCollection *)> signal_orientationChanged
Definition: entityFacadeCollection.h:486
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:546
bool myHeadingIndicatorVisible
Definition: entityFacadeCollection.h:535
bool myIsAggregate
Definition: entityFacadeCollection.h:509
std::map< int, std::map< int, int > > ActivatedStates
Definition: entityFacadeCollection.h:543
virtual bool isDiGuy() const
Returns true if is a DI-Guy model.
Definition: entityFacadeCollection.h:282
voidpf uLong offset
Definition: ioapi.h:42
virtual bool isAggregate() const
Definition: entityFacadeCollection.h:462
DtPatchIdentifier myDiGuyRankPatch
Definition: entityFacadeCollection.h:521
boost::signals2::signal< void()> signal_endOfMarkingDecalSet
Definition: entityFacadeCollection.h:494
std::set< int > myIgnoreVisualTypeSwitch
Definition: entityFacadeCollection.h:556
makVrv::DtSignalConnectionManager myConnections
Definition: entityFacadeCollection.h:550
bool myIndicatorVisible
Definition: entityFacadeCollection.h:531
makVrv::DtUnicode myElementDefinition
Facades by model set.
Definition: entityFacadeCollection.h:498
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:572
void setIconScale(float scale)
Definition: entityFacadeCollection.h:338
bool myRotateToHeading
Definition: entityFacadeCollection.h:548
bool myCharacterPaused
Definition: entityFacadeCollection.h:526
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:27
bool myMarkingsModified
Definition: entityFacadeCollection.h:541