VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
entityStateRepository.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
16 #include <vl/entityTypeVPRecord.h>
17 #include <vl/separationVPRecord.h>
18 #include <vl/propulsionSystem.h>
19 
22 #include <vlpi/patchIdentifier.h>
23 
24 #include <iosfwd>
25 
38 {
39 public:
40 
42  static DtEntityStateRepository* create();
43 
46 
49 
51  virtual ~DtEntityStateRepository();
52 
55 
57  virtual DtStateRepository* clone( bool copy = false ) const;
58 
60  virtual void setForceId( DtForceType force );
62  virtual DtForceType forceId() const;
63 
65  virtual void setGuise( const DtEntityType& type );
67  virtual const DtEntityType& guise() const;
68 
70  virtual void setMarkingCharSet( int charSet );
72  virtual int markingCharSet() const;
73 
77  virtual void setMarkingText( const char* text );
81  virtual const char* markingText() const;
82 
88 
91  virtual void setAppearance( DtU32 app );
94  virtual DtU32 appearance() const;
95 
99  virtual void setAppearanceAttribute( const DtAppearAttribute attr,
100  const DtAppearAttrVal val );
104  virtual DtAppearAttrVal appearanceAttribute( const DtAppearAttribute attr ) const;
105 
107  virtual void setFrozen( bool onOff );
109  virtual bool frozen() const;
110 
112  virtual void setPowerPlantOn( bool onOff );
114  virtual bool powerPlantOn() const;
115 
117  virtual void setDamageState( DtDamageState s );
119  virtual DtDamageState damageState() const;
120 
122  virtual void setEngineSmokeOn( bool onOff );
124  virtual bool engineSmokeOn() const;
125 
127  virtual void setFlamesPresent( bool onOff );
129  virtual bool flamesPresent() const;
130 
132  virtual void setHasFuelSupplyCap( bool onOff );
134  virtual bool hasFuelSupplyCap() const;
135 
137  virtual void setHasRecoveryCap( bool onOff );
139  virtual bool hasRecoveryCap() const;
140 
142  virtual void setHasRepairCap( bool onOff );
144  virtual bool hasRepairCap() const;
145 
147  virtual void setHatchState( DtHatchState s );
149  virtual DtHatchState hatchState() const;
150 
152  virtual void setImmobilized( bool onOff );
154  virtual bool immobilized() const;
155 
158  virtual void setLifeformState( DtLifeformState s );
161  virtual DtLifeformState lifeformState() const;
162 
164  virtual void setLightState( DtLightType s, bool onOff );
166  virtual bool lightState( DtLightType s ) const;
167 
170  virtual void setLightState( DtLightState s );
173  virtual DtLightState lightState() const;
174 
176  virtual void setDensity( DtDensityType dens );
178  virtual DtDensityType density() const;
179 
181  virtual void setRampDeployed( bool onOff );
183  virtual bool rampDeployed() const;
184 
186  virtual void setSmokePlumePresent( bool onOff );
188  virtual bool smokePlumePresent() const;
189 
191  virtual void setTentDeployed( bool onOff );
193  virtual bool tentDeployed() const;
194 
196  virtual void setTrailState( DtTrailState s );
198  virtual DtTrailState trailState() const;
199 
201  virtual void setCamouflageType( DtCamouflageType type );
203  virtual DtCamouflageType camouflageType() const;
204 
206  virtual void setFirePowerDisabled( bool onOff );
208  virtual bool firePowerDisabled() const;
209 
211  virtual void setIsConcealed( bool onOff );
213  virtual bool isConcealed() const;
214 
216  virtual void setAfterburnerOn( bool onOff );
218  virtual bool afterburnerOn() const;
219 
221  virtual void setHasAmmunitionSupplyCap( bool onOff );
223  virtual bool hasAmmunitionSupplyCap() const;
224 
226  virtual void setLauncherRaised( bool onOff );
228  virtual bool launcherRaised() const;
229 
231  virtual void setLauncherFlashPresent( bool onOff );
233  virtual bool launcherFlashPresent() const;
234 
236  virtual void setPrimaryWeaponState( DtWeaponState s );
238  virtual DtWeaponState primaryWeaponState() const;
239 
241  virtual void setSecondaryWeaponState( DtWeaponState s );
243  virtual DtWeaponState secondaryWeaponState() const;
244 
246  virtual void setComplianceState( DtComplianceState s );
248  virtual DtComplianceState complianceState() const;
249 
251  virtual void setAntennaRaised( bool upDown );
253  virtual bool antennaRaised() const;
254 
256  virtual void setMissionKill( bool yesNo );
258  virtual bool missionKill() const;
259 
261  virtual void setInternalHeatSource( bool onOff );
263  virtual bool internalHeatSource() const;
264 
266  virtual void setMaskedCloaked( bool onOff );
268  virtual bool maskedCloaked() const;
269 
271 
274 
275  virtual const DtArticulatedPartCollection* artPartList() const;
276  virtual DtArticulatedPartCollection* artPartList();
277 
279 
282 
283  virtual const DtAttachedPartCollection* attPartList() const;
284  virtual DtAttachedPartCollection* attPartList();
285 
287 
288 #ifdef DtDIS
289 
294 
295  virtual const std::vector<DtVPRecord*>* variableParameterList() const;
296  virtual std::vector<DtVPRecord*>* variableParameterList();
297 
299 
300 #endif
301 
303  virtual void setInfraRedSigRepIndex( DtU16 value );
305  virtual DtU16 infraRedSigRepIndex() const;
306 
308  virtual void setAcousticSigRepIndex( DtU16 value );
310  virtual DtU16 acousticSigRepIndex() const;
311 
313  virtual void setRadarSigRepIndex( DtU16 value );
315  virtual DtU16 radarSigRepIndex() const;
316 
318  virtual void setCapabilities( DtU32 cap );
320  virtual DtU32 capabilities() const;
321 
323  virtual void setMeasuredSpeed( DtU16 value );
325  virtual DtU16 measuredSpeed() const;
326 
328  void setNumPropulsionSystems( DtU16 value );
330  DtU16 numPropulsionSystems() const;
331 
333  void setNumNozzleSystems( DtU16 value );
335  DtU16 numNozzleSystems() const;
336 
339  bool setPropulsionSystem( int index, const DtPropulsionSystem& record );
342  bool getPropulsionSystem( int index, DtPropulsionSystem& record ) const;
343 
346  bool setNozzleSystem( int index, const DtVectoringNozzleSystem& record );
349  bool getNozzleSystem( int index, DtVectoringNozzleSystem& record ) const;
350 
352  virtual void setClock( DtClock* clock );
353 
358 
361  virtual void setEntityId( const DtEntityIdentifier& id );
362 
365  virtual void setDiGuyStateRepository( DtDIGuyObjectStateRepository* diGuyStateRep );
367  virtual const DtDIGuyObjectStateRepository* diGuyStateRepository() const;
368  virtual DtDIGuyObjectStateRepository* diGuyStateRepository();
369 
372  virtual void enableDiGuyObject(bool enable = true);
373 
376  virtual bool isEnabledDiGuyObject();
377 
379  virtual void setDiGuyAppearance( const DtString& val );
381  virtual const DtString& diGuyAppearance() const;
382 
384  virtual void setDiGuyArc( const std::vector<char>& val );
386  virtual const std::vector<char>& diGuyArc() const;
387 
389  virtual void setDiGuyParent( const DtEntityIdentifier& val );
391  virtual const DtEntityIdentifier& diGuyParent() const;
392 
397  virtual void setDiGuyType( const DtString& newDiGuyType,
398  const DtString& newDiGuyAppearance );
399  virtual void setDiGuyType( const DtString& val );
401  virtual const DtString& diGuyType() const;
402 
404  virtual void setDiGuyBodyAppearance( const DtString& val );
406  virtual const DtString& diGuyBodyAppearance() const;
407 
409  virtual void setDiGuyBodyWeight( double val );
411  virtual double diGuyBodyWeight() const;
412 
414  virtual void setDiGuyHeadAppearance( const DtString& val );
416  virtual const DtString& diGuyHeadAppearance() const;
417 
419  virtual void setDiGuyItemAppearance( const DtString& val );
421  virtual const DtString& diGuyItemAppearance() const;
422 
425  virtual bool setDiGuyAccessoryAppearance( unsigned int index, const DtString& val );
427  virtual const DtString& diGuyAccessoryAppearance( unsigned int index ) const;
428 
430  virtual void setDiGuyAccessoryAppearanceCount( unsigned int index );
432  virtual unsigned int diGuyAccessoryAppearanceCount() const;
433 
435  virtual void setDiGuyAction( const DtString& val );
436 
438  virtual void setDiGuyAction(const DtString& val, bool paused, double speed = 0.0,
439  bool useActionPositioning = false, const DtVector& offset = DtVector(0, 0, 0), double transitionSpeed = 1.0);
440 
442  virtual const DtString& diGuyAction() const;
444  virtual const DtString& diGuyAction( bool& paused ) const;
445 
447  virtual void setDiGuyActionPaused( bool paused );
449  virtual bool isDiGuyActionPaused() const;
450 
452  virtual void setDiGuyActionSpeed( double speed );
454  virtual double diGuyActionSpeed() const;
455 
457  virtual void setDiGuyVisible( bool visibile );
459  virtual bool isDiGuyVisible() const;
460 
462  virtual void setDiGuyCharacterScale( const DtVector& scale );
464  virtual const DtVector& diGuyCharacterScale() const;
465 
469 
470  virtual void addDiGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, const DtDiGuyPixelData& pixelData );
471  virtual void removeDiGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex );
472  virtual const DtDiGuyPixelData& diGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, bool& dataIsValid ) const;
473  virtual bool getDiGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, DtDiGuyPixelData& pixelData ) const;
474  virtual void setDiGuyShapeVariations( const DtDiGuyLinkShapeMap& shapeVariations );
475  virtual const DtDiGuyLinkShapeMap& diGuyShapeVariations() const;
476 
478 
482 
483  virtual void setDiGuyUnit( const DtPatchIdentifier& patchId );
484  virtual const DtPatchIdentifier& diGuyUnit() const;
485 
486  virtual void setDiGuyPersonalUnit( const DtPatchIdentifier& patchId );
487  virtual const DtPatchIdentifier& diGuyPersonalUnit() const;
488 
489  virtual void setDiGuyRank( const DtPatchIdentifier& patchId );
490  virtual const DtPatchIdentifier& diGuyRank() const;
491 
492  virtual void setDiGuyName( const DtString& val );
493  virtual const DtString& diGuyName() const;
494 
496 
498 
500  virtual void printData() const;
501 
503  virtual void printDataToStream( std::ostream& stream ) const;
504 
505 protected:
506 
509  DtEntityStateRepository* self() const;
510 
513  void internalSetMarkingText( const char* text );
514 
516  virtual void createDiGuyStateRep();
517 
518 protected:
519 
522 
523 #ifdef DtDIS
524  std::vector<DtVPRecord*> myVPRecordCollection;
525 #endif
526 
537 
541 
546 
549  std::vector<char> myDiGuyArc;
553 
554 };
555 
556 
558 {
559  myForceId = force;
560 }
561 
563 {
564  return myForceId;
565 }
566 
568 {
569  myGuise = type;
570 }
571 
573 {
574  return myGuise;
575 }
576 
578 {
579  myMarkingCharSet = charSet;
580 }
581 
583 {
584  return myMarkingCharSet;
585 }
586 
587 inline void DtEntityStateRepository::setMarkingText( const char* a_text )
588 {
589  internalSetMarkingText( a_text );
590 }
591 
592 inline const char* DtEntityStateRepository::markingText() const
593 {
594  return myMarkingText.c_str();
595 }
596 
598 {
599  return &myArtPartList;
600 }
601 
603 {
604  return &myArtPartList;
605 }
606 
608 {
609  return &myAttPartList;
610 }
611 
613 {
614  return &myAttPartList;
615 }
616 
617 #ifdef DtDIS
618 
619 inline const std::vector<DtVPRecord*>* DtEntityStateRepository::variableParameterList() const
620 {
621  return &myVPRecordCollection;
622 }
623 
624 inline std::vector<DtVPRecord*>* DtEntityStateRepository::variableParameterList()
625 {
626  return &myVPRecordCollection;
627 }
628 
629 #endif
630 
632 {
633  myInfaredSignatureIndex = value;
634 }
635 
637 {
639 }
640 
642 {
644 }
645 
647 {
649 }
650 
652 {
654 }
655 
657 {
659 }
660 
662 {
663  myCapabilities = cap;
664 }
665 
667 {
668  return myCapabilities;
669 }
670 
672 {
674 }
675 
677 {
679 }
680 
682 {
683  return (DtEntityStateRepository*)this;
684 }
685 
686 inline void DtEntityStateRepository::internalSetMarkingText( const char* a_text )
687 {
688  myMarkingText = a_text;
689 }
DtAppearAttrVal
Create an enumeration type, but since many of the names will have the same value, define them all as ...
Definition: disEnums.h:1421
void internalSetMarkingText(const char *text)
Set the marking text.
Definition: entityStateRepository.h:686
virtual void setRadarSigRepIndex(DtU16 value)
Set radar signature representation index.
Definition: entityStateRepository.h:651
DtHatchState
Definition: disEnums.h:1660
Contains the DtDIGuyObjectStateRepository class declaration.
DtForceType myForceId
Definition: entityStateRepository.h:527
virtual void setAcousticSigRepIndex(DtU16 value)
Set acoustic signature representation index.
Definition: entityStateRepository.h:641
A DtAttachedPartCollection is a collection of attached parts of an entity.
Definition: attachedPartCollection.h:24
virtual void setGuise(const DtEntityType &type)
Set the alternate entity type or guise.
Definition: entityStateRepository.h:567
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual void setEntityId(const DtEntityIdentifier &id)
Set the entity&#39;s identifier.
Definition: baseEntityStateRepository.h:666
std::map< DtU16, DtDiGuyShapeDataMap > DtDiGuyLinkShapeMap
Container for shape variation data.
Definition: diGuyObjectStateRepository.h:23
Instances of DtBaseEntityStateRepository are used to maintain basic state information needed by all k...
Definition: baseEntityStateRepository.h:36
DtEntityStateRepository * self() const
Cast off const-ness for trivial internal change.
Definition: entityStateRepository.h:681
DtBaseEntityStateRepository & operator=(const DtBaseEntityStateRepository &orig)
assignment operator
DtEntityIdentifier myDiGuyParent
Definition: entityStateRepository.h:550
DtArticulatedPartCollection myArtPartList
Definition: entityStateRepository.h:520
Used to set and maintain time in a simulation.
Definition: vlTime.h:25
virtual void setFrozen(bool on)
Set entity frozen state. True indicates frozen.
bool myUseDiGuyObject
Definition: entityStateRepository.h:552
virtual DtForceType forceId() const
Get the force type.
Definition: entityStateRepository.h:562
This file provides a declaration of the class DtArticulatedPartCollection.
std::vector< char > myDiGuyArc
Legacy DIGuy extension attributes.
Definition: entityStateRepository.h:549
DtLifeformState
Definition: disEnums.h:1700
DtU16 myLiveEntityMeasuredSpeed
Definition: entityStateRepository.h:536
virtual const DtArticulatedPartCollection * artPartList() const
Definition: entityStateRepository.h:597
DtPropulsionSystem * myPropulsionSystemsDataList
Definition: entityStateRepository.h:544
DtU16 myInfaredSignatureIndex
Definition: entityStateRepository.h:539
void printDataToStream(std::ostream &str) const
Prints the state data to the specified stream.
virtual void setClock(DtClock *clock)
Sets the clock being used for dead reckoning calculations.
virtual void setCapabilities(DtU32 cap)
Set the capabilities field.
Definition: entityStateRepository.h:661
int myNumPropulsionSystemsData
Definition: entityStateRepository.h:542
virtual const DtEntityType & guise() const
Get the alternate entity type or guise.
Definition: entityStateRepository.h:572
A DtArticulatedPartCollection is a collection of articulated parts typically of an entity...
Definition: articulatedPartCollection.h:29
std::vector< DtVPRecord * > myVPRecordCollection
Definition: entityStateRepository.h:524
DtLightType
Definition: disEnums.h:1678
virtual DtU16 radarSigRepIndex() const
Get radar signature representation index.
Definition: entityStateRepository.h:656
Instances of DtEntityStateRepository are used to maintain attributes and state of entity objects in a...
Definition: entityStateRepository.h:37
DtVector64 DtVector
Definition: vlVector.h:285
Definition: vlVector.h:224
virtual bool frozen() const
The frozen state of an entity.
virtual void setMeasuredSpeed(DtU16 value)
Set measured speed.
Definition: entityStateRepository.h:671
virtual const DtAttachedPartCollection * attPartList() const
Definition: entityStateRepository.h:607
virtual DtStateRepository * clone(bool copy=false) const
Return a copy/empty object of the same type as this.
DtEntityType myGuise
Definition: entityStateRepository.h:528
DtTrailState
Definition: disEnums.h:1652
virtual void setMarkingText(const char *text)
Set the marking text attribute.
Definition: entityStateRepository.h:587
DtWeaponState
Definition: disEnums.h:1753
virtual void setInfraRedSigRepIndex(DtU16 value)
Set infra-red signature representation index.
Definition: entityStateRepository.h:631
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
DtVectoringNozzleSystem * myVectoringNozzleSystemDataList
Definition: entityStateRepository.h:545
DtDamageState
This is for the tank ditch and concertina wire breach appearance Areal object specific appearance...
Definition: disEnums.h:1644
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
DtAttachedPartCollection myAttPartList
Definition: entityStateRepository.h:521
DtString myMarkingText
myMarkingText is an array of theMaxMarkingSize.
Definition: entityStateRepository.h:534
DtPatchIdentifier is used to uniquely identify a uniform patch.
Definition: patchIdentifier.h:18
virtual int markingCharSet() const
The character set used for the marking.
Definition: entityStateRepository.h:582
DtDIGuyObjectStateRepository * myDiGuyStateRep
Definition: entityStateRepository.h:551
DtU16 myAcousticsSignatureIndex
Definition: entityStateRepository.h:538
Contains the DtPatchIdentifier class declaration.
virtual const char * c_str() const
Returns a char* representation of the DtString;.
Contains the DtBaseEntityStateRepository class declaration.
std::vector< char > DtDiGuyPixelData
Container for shape variation data.
Definition: diGuyObjectStateRepository.h:21
virtual DtU32 capabilities() const
Get the capabilities field.
Definition: entityStateRepository.h:666
DtForceType
Section 4.
Definition: disEnums.h:199
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
int myNumVectoringNozzleSystemData
Definition: entityStateRepository.h:543
Instances of DtDIGuyObjectStateRepository are used to store state data for DIGuyObject objects...
Definition: diGuyObjectStateRepository.h:31
int myMarkingCharSet
The char set used for marking text. Defaults to 1.
Definition: entityStateRepository.h:531
virtual void setForceId(DtForceType force)
Set the force type.
Definition: entityStateRepository.h:557
DtComplianceState
Definition: disEnums.h:1718
DtLightState
Definition: disEnums.h:1670
virtual DtU16 acousticSigRepIndex() const
Get acoustic signature representation index.
Definition: entityStateRepository.h:646
DtVectoringNozzleSystem is a class which contains the vectoring nozzle system data for the supplement...
Definition: vectoringNozzleSystem.h:26
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtAppearAttribute
If you put spaces between the &quot;&lt;&lt;&quot; and the surrounding strings, enumstr gets confused and thinks the ...
Definition: disEnums.h:1266
DtCamouflageType
Definition: disEnums.h:1746
virtual void setMarkingCharSet(int charSet)
Set the character set used for the marking.
Definition: entityStateRepository.h:577
Instances of DtString are used to represent strings.
Definition: vlString.h:29
virtual DtU16 infraRedSigRepIndex() const
Get infra-red signature representation index.
Definition: entityStateRepository.h:636
class DtPropulsionSystem:
Definition: propulsionSystem.h:27
virtual DtU16 measuredSpeed() const
Get measured speed.
Definition: entityStateRepository.h:676
DtDensityType
Definition: disEnums.h:1769
virtual const std::vector< DtVPRecord * > * variableParameterList() const
Definition: entityStateRepository.h:619
DtU32 myCapabilities
Definition: entityStateRepository.h:535
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
virtual void printData() const
Print the state data to the DtInfo stream.
DtU32 myAppearance
Definition: entityStateRepository.h:529
This file provides a declaration of the class DtAttachedPartCollection.
virtual const char * markingText() const
Get the marking text attribute.
Definition: entityStateRepository.h:592
DtU16 myRadarCrossSectionSignatureIndex
Definition: entityStateRepository.h:540

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)