VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityStateInterceptor.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2021 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 
16 #include <vl/diGuyObjectStateRepository.h>
17 
18 #include <vlutil/vlTime.h>
19 #include <vl/globalObjectDesignator.h>
20 
21 #include <matrix/vlVector.h>
22 #include <matrix/vlTaitBryan.h>
23 
24 #include <vlpi/disEnums.h>
25 #include <vlpi/entityType.h>
26 
27 class DtStateRepository;
29 class DtArticulatedPartCollection;
31 
32 namespace makVrv
33 {
34  namespace DT_PROTOCOL_NAMESPACE
35  {
36  class DtVrlinkConnection;
38 
42  template <typename StateRepClass>
44  {
45  public:
46 
50 
52  virtual ~DtEntityStateInterceptor();
53 
55  DtEntityStateInterceptor() = delete;
56 
59 
62 
63  private:
64 
66  //\throws DtCorrutedState this class is not copyable.
67  virtual DtStateRepository* clone( bool copy = false ) const override;
68 
69  public:
70 
73 
76  virtual void setAll(
77  const DtVector& loc,
78  const DtVector32& vel,
79  const DtTaitBryan& ori,
80  const DtVector32& acc,
81  const DtVector32& rotVel,
82  DtTime curTime) override;
83 
86  virtual void setLocation(const DtVector & location, DtTime aTime) override;
87 
89  virtual void setVelocity(const DtVector32 & Velocity, DtTime aTime) override;
90 
92  virtual void setAcceleration(const DtVector32 & Acceleration, DtTime aTime) override;
93 
95  virtual void setOrientation(const DtTaitBryan& orient, DtTime aTime) override;
96 
98  virtual void setRotationalVelocity(const DtVector32 & BodyRates, DtTime aTime) override;
99 
101  virtual void setAlgorithm(DtDeadReckonTypes alg) override;
102 
108  virtual void setHostGlobalId( const DtGlobalObjectDesignator& id ) override;
109 
110  virtual void clearHostGlobalId() override;
111 
113  virtual void setRelativeLocation(const DtVector & location, DtTime aTime) override;
114 
117  virtual void setRelativeVelocity(const DtVector32 & Velocity, DtTime aTime) override;
118 
121  virtual void setRelativeAcceleration(const DtVector32 & Acceleration, DtTime aTime) override;
122 
124  virtual void setRelativeOrientation(const DtTaitBryan& orient, DtTime aTime) override;
125 
127  virtual void setRelativeRotationalVelocity(const DtVector32 & BodyRates, DtTime aTime) override;
128 
130  virtual void setRelativeFrozen(bool onOff) override;
131 
133  virtual void setRelativeAlgorithm(DtDeadReckonTypes alg) override;
134 
136  virtual void setRelativePosition( const DtVector & newVal ) override;
137 
138  /*
139 
141  virtual void setNature( const DtNature newVal ) override;
142 
144  virtual void setPartPosition( const DtPosition newVal ) override;
145 
147  virtual void setStationName( const DtStationName newVal ) override;
148 
150  virtual void setStationNumber( const DtU16 newVal ) override;
151 
153  virtual void setRange( const DtFloat32 newVal ) override;
154 
156  virtual void setBearing( const DtFloat32 newVal ) override;
157 
158  */
160  virtual void setEntityType(const DtEntityType& type) override;
161  /*
163  virtual void setFederateId(const DtFederateId& id) override;
164 
166 
167  //@name DtEntityStateRepository functions
169 
170  */
171 
172 #ifdef DtHLA
173  virtual void setEntityId(const DtEntityIdentifier& id) override;
178 #endif
179  virtual void setForceId(DtForceType force) override;
181 
182  /*
184  virtual void setGuise(const DtEntityType& type) override;
185 */
186 
187 /*
190  virtual void setMarkingCharSet(int charSet) override;
191  */
194  virtual void setMarkingText(const char* text) override;
195  /*
201 
202  virtual void setPowerPlantOn(bool onOff) override;
204  */
205 
206  /*
207 
209  virtual void setHasFuelSupplyCap(bool onOff) override;
210 
212  virtual void setHasRecoveryCap(bool onOff) override;
213 
215  virtual void setHasRepairCap(bool onOff) override;
216 
218  virtual void setHatchState(DtHatchState s) override;
219 
221  virtual void setImmobilized(bool onOff) override;
222  */
223 
224  /*
225 
228  virtual void setLightState(DtLightState s);
229 
231  virtual void setDensity(DtDensityType dens);
232 
234  virtual void setRampDeployed(bool onOff);
235  */
236 
237  /*
239  virtual void setTentDeployed(bool onOff);
240 
241  */
242 
243  /*
244 
246  virtual void setCamouflageType(DtCamouflageType type);
247 
249  virtual void setFirePowerDisabled(bool onOff);
250 
252  virtual void setIsConcealed(bool onOff);
253 
255  virtual void setAfterburnerOn(bool onOff);
256 
258  virtual void setHasAmmunitionSupplyCap(bool onOff);
259 
261  virtual void setLauncherRaised(bool onOff);
262 
264  virtual void setLauncherFlashPresent(bool onOff);
265  */
266 
267  /*
269  virtual void setSecondaryWeaponState(DtWeaponState s);
270 
272  virtual void setComplianceState(DtComplianceState s);
273 
275  virtual void setAntennaRaised(bool upDown);
276 
278  virtual void setMissionKill(bool yesNo);
279 
281  virtual void setInternalHeatSource(bool onOff);
282 
284  virtual void setMaskedCloaked(bool onOff);
285  */
286  //We need this for DIS as individual functions are not called.
287  #if DtDIS
288  virtual void setAppearance(DtU32 app);
292  #endif
293 
298  virtual void setAppearanceAttribute(const DtAppearAttribute attr,
299  const DtAppearAttrVal val) override;
300 
302  /*
303 
305  virtual void setInfraRedSigRepIndex(DtU16 value);
306  virtual DtU16 infraRedSigRepIndex() const;
307 
309  virtual void setAcousticSigRepIndex(DtU16 value);
310  virtual DtU16 acousticSigRepIndex() const;
311 
313  virtual void setRadarSigRepIndex(DtU16 value);
314  virtual DtU16 radarSigRepIndex() const;
315 
317  virtual void setMeasuredSpeed(DtU16 value);
318 
320  virtual void setCapabilities(DtU32 cap);
321  */
323 
324  virtual void setDiGuyType( const DtString& newType ) override;
325  virtual void setDiGuyType( const DtString& newType, const DtString& newAppearance ) override;
326 
327  virtual void setDiGuyAppearance( const DtString& val ) override;
328  virtual void setDiGuyHeadAppearance( const DtString& val ) override;
329  virtual void setDiGuyItemAppearance( const DtString& val ) override;
330 
332  virtual void setDiGuyCharacterScale( const DtVector& scale ) override;
333 
334  virtual void setDiGuyBodyWeight( double val ) override;
335 
336  virtual void setDiGuyAction( const DtString& val ) override;
337 
342  virtual void setDiGuyAction( const DtString& val, bool paused, double speed = 0.0,
343  bool usePositioning = false, const DtVector& offset = DtVector(0,0,0), double transitionSpeed = 1.0 );
344 
345  virtual void addDiGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, const DtDiGuyPixelData& pixelData ) override;
346  virtual void removeDiGuyShapeVariation( unsigned int linkIndex, unsigned int shapeIndex ) override;
347  virtual void setDiGuyShapeVariations( const DtDiGuyLinkShapeMap& shapeVariations ) override;
348 
349  virtual void setDiGuyName( const DtString & val ) override ;
350  virtual void setDiGuyUnit( unsigned int val ) override;
351  virtual void setDiGuyPersonalUnit( unsigned int val ) override;
352  virtual void setDiGuyRank( unsigned int val ) override;
353 
358 
359  virtual void setDiGuyTypeNoPropagation( const DtString& newType );
360  virtual void setDiGuyTypeNoPropagation( const DtString& newType, const DtString& newAppearance );
361 
362  virtual void setDiGuyAppearanceNoPropagation( const DtString& val );
363  virtual void setDiGuyHeadAppearanceNoPropagation( const DtString& val );
364  virtual void setDiGuyItemAppearanceNoPropagation( const DtString& val );
365  virtual void setDiGuyEquipmentNoPropagation( const DtString& val );
366 
367  virtual void setDiGuyCharacterScaleNoPropagation( const DtVector& val );
368  virtual void setDiGuyBodyWeightNoPropagation( DtFloat64 val );
369 
370  virtual void setDiGuyActionNoPropagation( const DtString& val, bool paused,
371  double speed, bool usePositioning, const DtVector& offset, double transitionSpeed );
372 
373  virtual void setDiGuyCharacterNameNoPropagation( const DtString& val );
374  virtual void setDiGuyCharacterUnitNoPropagation( unsigned int val );
375  virtual void setDiGuyCharacterPersonalUnitNoPropagation( unsigned int val );
376  virtual void setDiGuyCharacterRankNoPropagation( unsigned int val );
377 
379 
380  virtual void setDiGuyArc( const std::vector<char>& val ) override;
381  virtual void setDiGuyParent( const DtEntityIdentifier& val ) override;
382 
384  virtual DtArticulatedPartCollection* artPartList();
385 
388  virtual void setDiGuyStateRepository( DtDIGuyObjectStateRepository* diGuyStateRep );
389 
390  protected:
391 
393  };
394 
395  }
396 }
virtual void setDiGuyCharacterNameNoPropagation(const DtString &val)
virtual void setRelativeOrientation(const DtTaitBryan &orient, DtTime aTime) override
Set the relative orientation of the entity with respect to the host.
virtual void setAll(const DtVector &loc, const DtVector32 &vel, const DtTaitBryan &ori, const DtVector32 &acc, const DtVector32 &rotVel, DtTime curTime) override
Coherently set all DR parameters, thus avoiding DR computations associated with a partial set...
virtual void setDiGuyCharacterPersonalUnitNoPropagation(unsigned int val)
virtual void setDiGuyCharacterScaleNoPropagation(const DtVector &val)
DtEntityStateInterceptor()=delete
not allowed - default constructor
virtual void setLocation(const DtVector &location, DtTime aTime) override
Set the location of the center of mass in geocentric world coordinates at aTime.
virtual void setDiGuyItemAppearanceNoPropagation(const DtString &val)
virtual void setDiGuyPersonalUnit(unsigned int val) override
virtual void setDiGuyCharacterScale(const DtVector &scale) override
Sets the character scaling factor.
virtual void addDiGuyShapeVariation(unsigned int linkIndex, unsigned int shapeIndex, const DtDiGuyPixelData &pixelData) override
virtual void setDiGuyActionNoPropagation(const DtString &val, bool paused, double speed, bool usePositioning, const DtVector &offset, double transitionSpeed)
virtual void setDiGuyUnit(unsigned int val) override
virtual void setDiGuyParent(const DtEntityIdentifier &val) override
virtual void setDiGuyHeadAppearanceNoPropagation(const DtString &val)
virtual void setDiGuyEquipmentNoPropagation(const DtString &val)
virtual void setHostGlobalId(const DtGlobalObjectDesignator &id) override
Sets the globalId of the attached host.
virtual void setAppearanceAttribute(const DtAppearAttribute attr, const DtAppearAttrVal val) override
Set an appearance attribute.
virtual void setDiGuyItemAppearance(const DtString &val) override
virtual void setDiGuyCharacterUnitNoPropagation(unsigned int val)
virtual void setAppearance(DtU32 app)
Set the appearance bit field, use with care.
virtual void setRelativePosition(const DtVector &newVal) override
Set the relative position on the host.
Contains makVrv::DtPartCollectionInterceptor class.
Contains makVrv::DtVirtualBaseClass class.
virtual void setDiGuyTypeNoPropagation(const DtString &newType)
These are to support HLAevolved without causing infinite loops, they call the listener for data repli...
virtual void setDiGuyCharacterRankNoPropagation(unsigned int val)
virtual void setForceId(DtForceType force) override
Set the force type.
virtual void setDiGuyRank(unsigned int val) override
virtual void setAlgorithm(DtDeadReckonTypes alg) override
Set the dead reckoning algorithm.
virtual void setDiGuyBodyWeight(double val) override
virtual void setRelativeAlgorithm(DtDeadReckonTypes alg) override
Set the dead reckoning algorithm.
virtual void removeDiGuyShapeVariation(unsigned int linkIndex, unsigned int shapeIndex) override
virtual void setDiGuyBodyWeightNoPropagation(DtFloat64 val)
virtual void setRelativeFrozen(bool onOff) override
Set relative frozen.
virtual void setDiGuyShapeVariations(const DtDiGuyLinkShapeMap &shapeVariations) override
virtual void setVelocity(const DtVector32 &Velocity, DtTime aTime) override
Set the velocity in meters per second at aTime.
double DtFloat64
Definition: vrvControlStructTypes.h:36
virtual void setRelativeRotationalVelocity(const DtVector32 &BodyRates, DtTime aTime) override
Set the relative rotational velocity.
virtual DtStateRepository * clone(bool copy=false) const override
Return a copy/empty object of the same type as this.
Contains makVrv::DtBaseEntityStateInterceptor class.
virtual void setEntityType(const DtEntityType &type) override
Set the entity type.
virtual void setDiGuyAction(const DtString &val) override
Base class for EntityState Interceptors, this allows all entity ESI&#39;s to have an HLA13 entity...
Definition: DtBaseEntityStateInterceptor.h:27
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
virtual void setRelativeLocation(const DtVector &location, DtTime aTime) override
Set the location of the center of mass in world coordinates at the given time.
virtual void setRotationalVelocity(const DtVector32 &BodyRates, DtTime aTime) override
Set the rotational velocity of an entity at aTime.
DtEntityStateInterceptor & operator=(const DtEntityStateInterceptor &)=delete
not allowed - equals operator
virtual void setDiGuyName(const DtString &val) override
DtVrlinkEntityStateListener * myVrlinkEntityStateListener
Definition: DtEntityStateInterceptor.h:392
virtual void setDiGuyStateRepository(DtDIGuyObjectStateRepository *diGuyStateRep)
Sets the related DI-Guy state repository (see DtDiGuyStateRepositoryInterceptoy.h) that...
virtual void setDiGuyAppearance(const DtString &val) override
virtual void setEntityId(const DtEntityIdentifier &id) override
Set the entity&#39;s identifier.
virtual void setDiGuyAppearanceNoPropagation(const DtString &val)
virtual void setRelativeAcceleration(const DtVector32 &Acceleration, DtTime aTime) override
Set the relative acceleration of the entity with respect to the host at aTime.
virtual void setAcceleration(const DtVector32 &Acceleration, DtTime aTime) override
Sets the acceleration at aTime.
virtual DtArticulatedPartCollection * artPartList()
Get the art part list.
voidpf uLong offset
Definition: ioapi.h:42
virtual void setMarkingText(const char *text) override
Set the marking text attribute.
virtual void setDiGuyType(const DtString &newType) override
virtual void setOrientation(const DtTaitBryan &orient, DtTime aTime) override
Set the orientation at aTime.
virtual void setDiGuyArc(const std::vector< char > &val) override
virtual void setDiGuyHeadAppearance(const DtString &val) override
virtual void setRelativeVelocity(const DtVector32 &Velocity, DtTime aTime) override
Set the relative velocity of the entity in meters per second with respect to the host at aTime...
The state interceptor interface extends DtStateRepository, via the StateRepClass template parameter...
Definition: DtEntityStateInterceptor.h:43

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)