VR-Link API Documentation for HLA 1.3
 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) 2020 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 
23 #include <iosfwd>
24 
37 {
38 public:
39 
41  static DtEntityStateRepository* create();
42 
45 
48 
50  virtual ~DtEntityStateRepository();
51 
54 
56  virtual DtStateRepository* clone( bool copy = false ) const;
57 
59  virtual void setForceId( DtForceType force );
61  virtual DtForceType forceId() const;
62 
64  virtual void setGuise( const DtEntityType& type );
66  virtual const DtEntityType& guise() const;
67 
69  virtual void setMarkingCharSet( int charSet );
71  virtual int markingCharSet() const;
72 
76  virtual void setMarkingText( const char* text );
80  virtual const char* markingText() const;
81 
87 
90  virtual void setAppearance( DtU32 app );
93  virtual DtU32 appearance() const;
94 
98  virtual void setAppearanceAttribute( const DtAppearAttribute attr,
99  const DtAppearAttrVal val );
103  virtual DtAppearAttrVal appearanceAttribute( const DtAppearAttribute attr ) const;
104 
106  virtual void setFrozen( bool onOff );
108  virtual bool frozen() const;
109 
111  virtual void setPowerPlantOn( bool onOff );
113  virtual bool powerPlantOn() const;
114 
116  virtual void setDamageState( DtDamageState s );
118  virtual DtDamageState damageState() const;
119 
121  virtual void setEngineSmokeOn( bool onOff );
123  virtual bool engineSmokeOn() const;
124 
126  virtual void setFlamesPresent( bool onOff );
128  virtual bool flamesPresent() const;
129 
131  virtual void setHasFuelSupplyCap( bool onOff );
133  virtual bool hasFuelSupplyCap() const;
134 
136  virtual void setHasRecoveryCap( bool onOff );
138  virtual bool hasRecoveryCap() const;
139 
141  virtual void setHasRepairCap( bool onOff );
143  virtual bool hasRepairCap() const;
144 
146  virtual void setHatchState( DtHatchState s );
148  virtual DtHatchState hatchState() const;
149 
151  virtual void setImmobilized( bool onOff );
153  virtual bool immobilized() const;
154 
157  virtual void setLifeformState( DtLifeformState s );
160  virtual DtLifeformState lifeformState() const;
161 
163  virtual void setLightState( DtLightType s, bool onOff );
165  virtual bool lightState( DtLightType s ) const;
166 
169  virtual void setLightState( DtLightState s );
172  virtual DtLightState lightState() const;
173 
175  virtual void setDensity( DtDensityType dens );
177  virtual DtDensityType density() const;
178 
180  virtual void setRampDeployed( bool onOff );
182  virtual bool rampDeployed() const;
183 
185  virtual void setSmokePlumePresent( bool onOff );
187  virtual bool smokePlumePresent() const;
188 
190  virtual void setTentDeployed( bool onOff );
192  virtual bool tentDeployed() const;
193 
195  virtual void setTrailState( DtTrailState s );
197  virtual DtTrailState trailState() const;
198 
200  virtual void setCamouflageType( DtCamouflageType type );
202  virtual DtCamouflageType camouflageType() const;
203 
205  virtual void setFirePowerDisabled( bool onOff );
207  virtual bool firePowerDisabled() const;
208 
210  virtual void setIsConcealed( bool onOff );
212  virtual bool isConcealed() const;
213 
215  virtual void setAfterburnerOn( bool onOff );
217  virtual bool afterburnerOn() const;
218 
220  virtual void setHasAmmunitionSupplyCap( bool onOff );
222  virtual bool hasAmmunitionSupplyCap() const;
223 
225  virtual void setLauncherRaised( bool onOff );
227  virtual bool launcherRaised() const;
228 
230  virtual void setLauncherFlashPresent( bool onOff );
232  virtual bool launcherFlashPresent() const;
233 
235  virtual void setPrimaryWeaponState( DtWeaponState s );
237  virtual DtWeaponState primaryWeaponState() const;
238 
240  virtual void setSecondaryWeaponState( DtWeaponState s );
242  virtual DtWeaponState secondaryWeaponState() const;
243 
245  virtual void setComplianceState( DtComplianceState s );
247  virtual DtComplianceState complianceState() const;
248 
250  virtual void setAntennaRaised( bool upDown );
252  virtual bool antennaRaised() const;
253 
255  virtual void setMissionKill( bool yesNo );
257  virtual bool missionKill() const;
258 
260  virtual void setInternalHeatSource( bool onOff );
262  virtual bool internalHeatSource() const;
263 
265  virtual void setMaskedCloaked( bool onOff );
267  virtual bool maskedCloaked() const;
268 
270 
273 
274  virtual const DtArticulatedPartCollection* artPartList() const;
275  virtual DtArticulatedPartCollection* artPartList();
276 
278 
281 
282  virtual const DtAttachedPartCollection* attPartList() const;
283  virtual DtAttachedPartCollection* attPartList();
284 
286 
287 #ifdef DtDIS
288 
293 
294  virtual const std::vector<DtVPRecord*>* variableParameterList() const;
295  virtual std::vector<DtVPRecord*>* variableParameterList();
296 
298 
299 #endif
300 
302  virtual void setInfraRedSigRepIndex( DtU16 value );
304  virtual DtU16 infraRedSigRepIndex() const;
305 
307  virtual void setAcousticSigRepIndex( DtU16 value );
309  virtual DtU16 acousticSigRepIndex() const;
310 
312  virtual void setRadarSigRepIndex( DtU16 value );
314  virtual DtU16 radarSigRepIndex() const;
315 
317  virtual void setCapabilities( DtU32 cap );
319  virtual DtU32 capabilities() const;
320 
322  virtual void setMeasuredSpeed( DtU16 value );
324  virtual DtU16 measuredSpeed() const;
325 
327  void setNumPropulsionSystems( DtU16 value );
329  DtU16 numPropulsionSystems() const;
330 
332  void setNumNozzleSystems( DtU16 value );
334  DtU16 numNozzleSystems() const;
335 
338  bool setPropulsionSystem( int index, const DtPropulsionSystem& record );
341  bool getPropulsionSystem( int index, DtPropulsionSystem& record ) const;
342 
345  bool setNozzleSystem( int index, const DtVectoringNozzleSystem& record );
348  bool getNozzleSystem( int index, DtVectoringNozzleSystem& record ) const;
349 
351  virtual void setClock( DtClock* clock );
352 
357 
360  virtual void setEntityId( const DtEntityIdentifier& id );
361 
364  virtual void setDiGuyStateRepository( DtDIGuyObjectStateRepository* diGuyStateRep );
366  virtual const DtDIGuyObjectStateRepository* diGuyStateRepository() const;
367  virtual DtDIGuyObjectStateRepository* diGuyStateRepository();
368 
371  virtual void enableDiGuyObject(bool enable = true);
372 
375  virtual bool isEnabledDiGuyObject();
376 
378  virtual void setDiGuyAppearance( const DtString& val );
380  virtual const DtString& diGuyAppearance() const;
381 
383  virtual void setDiGuyArc( const std::vector<char>& val );
385  virtual const std::vector<char>& diGuyArc() const;
386 
388  virtual void setDiGuyParent( const DtEntityIdentifier& val );
390  virtual const DtEntityIdentifier& diGuyParent() const;
391 
396  virtual void setDiGuyType( const DtString& newDiGuyType,
397  const DtString& newDiGuyAppearance );
398  virtual void setDiGuyType( const DtString& val );
400  virtual const DtString& diGuyType() const;
401 
403  virtual void setDiGuyBodyAppearance( const DtString& val );
405  virtual const DtString& diGuyBodyAppearance() const;
406 
408  virtual void setDiGuyBodyWeight( double val );
410  virtual double diGuyBodyWeight() const;
411 
413  virtual void setDiGuyHeadAppearance( const DtString& val );
415  virtual const DtString& diGuyHeadAppearance() const;
416 
418  virtual void setDiGuyItemAppearance( const DtString& val );
420  virtual const DtString& diGuyItemAppearance() const;
421 
424  virtual bool setDiGuyAccessoryAppearance( unsigned int index, const DtString& val );
426  virtual const DtString& diGuyAccessoryAppearance( unsigned int index ) const;
427 
429  virtual void setDiGuyAccessoryAppearanceCount( unsigned int index );
431  virtual unsigned int diGuyAccessoryAppearanceCount() const;
432 
434  virtual void setDiGuyAction( const DtString& val );
435 
437  virtual void setDiGuyAction(const DtString& val, bool paused, double speed = 0.0,
438  bool useActionPositioning = false, const DtVector& offset = DtVector(0, 0, 0), double transitionSpeed = 1.0);
439 
441  virtual const DtString& diGuyAction() const;
443  virtual const DtString& diGuyAction( bool& paused ) const;
444 
446  virtual void setDiGuyActionPaused( bool paused );
448  virtual bool isDiGuyActionPaused() const;
449 
451  virtual void setDiGuyActionSpeed( double speed );
453  virtual double diGuyActionSpeed() const;
454 
456  virtual void setDiGuyVisible( bool visibile );
458  virtual bool isDiGuyVisible() const;
459 
461  virtual void setDiGuyCharacterScale( const DtVector& scale );
463  virtual const DtVector& diGuyCharacterScale() const;
464 
468 
469  virtual void addDiGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, const DtDiGuyPixelData& pixelData );
470  virtual void removeDiGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex );
471  virtual const DtDiGuyPixelData& diGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, bool& dataIsValid ) const;
472  virtual bool getDiGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, DtDiGuyPixelData& pixelData ) const;
473  virtual void setDiGuyShapeVariations( const DtDiGuyLinkShapeMap& shapeVariations );
474  virtual const DtDiGuyLinkShapeMap& diGuyShapeVariations() const;
475 
477 
481 
482  virtual unsigned int diGuyRank() const;
483  virtual void setDiGuyRank(unsigned int val);
484  virtual unsigned int diGuyUnit() const;
485  virtual void setDiGuyUnit(unsigned int val);
486  virtual unsigned int diGuyPersonalUnit() const;
487  virtual void setDiGuyPersonalUnit(unsigned int val);
488  virtual const DtString& diGuyName() const;
489  virtual void setDiGuyName(const DtString& val);
490 
492 
494 
496  virtual void printData() const;
497 
499  virtual void printDataToStream( std::ostream& stream ) const;
500 
501 protected:
502 
505  DtEntityStateRepository* self() const;
506 
509  void internalSetMarkingText( const char* text );
510 
512  virtual void createDiGuyStateRep();
513 
514 protected:
515 
518 
519 #ifdef DtDIS
520  std::vector<DtVPRecord*> myVPRecordCollection;
521 #endif
522 
533 
537 
542 
545  std::vector<char> myDiGuyArc;
549 
550 };
551 
552 
554 {
555  myForceId = force;
556 }
557 
559 {
560  return myForceId;
561 }
562 
564 {
565  myGuise = type;
566 }
567 
569 {
570  return myGuise;
571 }
572 
574 {
575  myMarkingCharSet = charSet;
576 }
577 
579 {
580  return myMarkingCharSet;
581 }
582 
583 inline void DtEntityStateRepository::setMarkingText( const char* a_text )
584 {
585  internalSetMarkingText( a_text );
586 }
587 
588 inline const char* DtEntityStateRepository::markingText() const
589 {
590  return myMarkingText.c_str();
591 }
592 
594 {
595  return &myArtPartList;
596 }
597 
599 {
600  return &myArtPartList;
601 }
602 
604 {
605  return &myAttPartList;
606 }
607 
609 {
610  return &myAttPartList;
611 }
612 
613 #ifdef DtDIS
614 
615 inline const std::vector<DtVPRecord*>* DtEntityStateRepository::variableParameterList() const
616 {
617  return &myVPRecordCollection;
618 }
619 
620 inline std::vector<DtVPRecord*>* DtEntityStateRepository::variableParameterList()
621 {
622  return &myVPRecordCollection;
623 }
624 
625 #endif
626 
628 {
629  myInfaredSignatureIndex = value;
630 }
631 
633 {
635 }
636 
638 {
640 }
641 
643 {
645 }
646 
648 {
650 }
651 
653 {
655 }
656 
658 {
659  myCapabilities = cap;
660 }
661 
663 {
664  return myCapabilities;
665 }
666 
668 {
670 }
671 
673 {
675 }
676 
678 {
679  return (DtEntityStateRepository*)this;
680 }
681 
682 inline void DtEntityStateRepository::internalSetMarkingText( const char* a_text )
683 {
684  myMarkingText = a_text;
685 }
DtAppearAttrVal
Create an enumeration type, but since many of the names will have the same value, define them all as ...
Definition: disEnums.h:1415
void internalSetMarkingText(const char *text)
Set the marking text.
Definition: entityStateRepository.h:682
virtual void setRadarSigRepIndex(DtU16 value)
Set radar signature representation index.
Definition: entityStateRepository.h:647
DtHatchState
Definition: disEnums.h:1654
Contains the DtDIGuyObjectStateRepository class declaration.
DtForceType myForceId
Definition: entityStateRepository.h:523
virtual void setAcousticSigRepIndex(DtU16 value)
Set acoustic signature representation index.
Definition: entityStateRepository.h:637
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:563
#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:21
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:677
DtBaseEntityStateRepository & operator=(const DtBaseEntityStateRepository &orig)
assignment operator
DtEntityIdentifier myDiGuyParent
Definition: entityStateRepository.h:546
DtArticulatedPartCollection myArtPartList
Definition: entityStateRepository.h:516
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:548
virtual DtForceType forceId() const
Get the force type.
Definition: entityStateRepository.h:558
This file provides a declaration of the class DtArticulatedPartCollection.
std::vector< char > myDiGuyArc
Legacy DIGuy extension attributes.
Definition: entityStateRepository.h:545
DtLifeformState
Definition: disEnums.h:1694
DtU16 myLiveEntityMeasuredSpeed
Definition: entityStateRepository.h:532
virtual const DtArticulatedPartCollection * artPartList() const
Definition: entityStateRepository.h:593
DtPropulsionSystem * myPropulsionSystemsDataList
Definition: entityStateRepository.h:540
DtU16 myInfaredSignatureIndex
Definition: entityStateRepository.h:535
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:657
int myNumPropulsionSystemsData
Definition: entityStateRepository.h:538
virtual const DtEntityType & guise() const
Get the alternate entity type or guise.
Definition: entityStateRepository.h:568
A DtArticulatedPartCollection is a collection of articulated parts typically of an entity...
Definition: articulatedPartCollection.h:29
DtLightType
Definition: disEnums.h:1672
virtual DtU16 radarSigRepIndex() const
Get radar signature representation index.
Definition: entityStateRepository.h:652
Instances of DtEntityStateRepository are used to maintain attributes and state of entity objects in a...
Definition: entityStateRepository.h:36
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:667
virtual const DtAttachedPartCollection * attPartList() const
Definition: entityStateRepository.h:603
virtual DtStateRepository * clone(bool copy=false) const
Return a copy/empty object of the same type as this.
DtEntityType myGuise
Definition: entityStateRepository.h:524
DtTrailState
Definition: disEnums.h:1646
virtual void setMarkingText(const char *text)
Set the marking text attribute.
Definition: entityStateRepository.h:583
DtWeaponState
Definition: disEnums.h:1747
virtual void setInfraRedSigRepIndex(DtU16 value)
Set infra-red signature representation index.
Definition: entityStateRepository.h:627
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
DtVectoringNozzleSystem * myVectoringNozzleSystemDataList
Definition: entityStateRepository.h:541
DtDamageState
This is for the tank ditch and concertina wire breach appearance Areal object specific appearance...
Definition: disEnums.h:1638
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
DtAttachedPartCollection myAttPartList
Definition: entityStateRepository.h:517
DtString myMarkingText
myMarkingText is an array of theMaxMarkingSize.
Definition: entityStateRepository.h:530
virtual int markingCharSet() const
The character set used for the marking.
Definition: entityStateRepository.h:578
DtDIGuyObjectStateRepository * myDiGuyStateRep
Definition: entityStateRepository.h:547
DtU16 myAcousticsSignatureIndex
Definition: entityStateRepository.h:534
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:19
virtual DtU32 capabilities() const
Get the capabilities field.
Definition: entityStateRepository.h:662
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:539
Instances of DtDIGuyObjectStateRepository are used to store state data for DIGuyObject objects...
Definition: diGuyObjectStateRepository.h:27
int myMarkingCharSet
The char set used for marking text. Defaults to 1.
Definition: entityStateRepository.h:527
virtual void setForceId(DtForceType force)
Set the force type.
Definition: entityStateRepository.h:553
DtComplianceState
Definition: disEnums.h:1712
DtLightState
Definition: disEnums.h:1664
virtual DtU16 acousticSigRepIndex() const
Get acoustic signature representation index.
Definition: entityStateRepository.h:642
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:1260
DtCamouflageType
Definition: disEnums.h:1740
virtual void setMarkingCharSet(int charSet)
Set the character set used for the marking.
Definition: entityStateRepository.h:573
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:632
class DtPropulsionSystem:
Definition: propulsionSystem.h:27
virtual DtU16 measuredSpeed() const
Get measured speed.
Definition: entityStateRepository.h:672
DtDensityType
Definition: disEnums.h:1763
DtU32 myCapabilities
Definition: entityStateRepository.h:531
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:525
This file provides a declaration of the class DtAttachedPartCollection.
virtual const char * markingText() const
Get the marking text attribute.
Definition: entityStateRepository.h:588
DtU16 myRadarCrossSectionSignatureIndex
Definition: entityStateRepository.h:536

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)