VR-Forces 4.8 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) 2020 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
15 #include <vlutil/vlTime.h>
16 #include <vl/globalObjectDesignator.h>
17 #include <matrix/vlVector.h>
18 #include <matrix/vlTaitBryan.h>
19 #include <vlpi/disEnums.h>
20 #include <vlpi/entityType.h>
21 
22 class DtStateRepository;
24 class DtArticulatedPartCollection;
25 
26 namespace makVrv
27 {
28 
29  namespace DT_PROTOCOL_NAMESPACE
30  {
31 
32  class DtVrlinkConnection;
34 
35 
39  template <typename StateRepClass>
41  {
42  public:
43 
47 
49  virtual ~DtEntityStateInterceptor();
50 
51  private:
53  //\throws DtCorrutedState this class is not copyable.
55 
57  //\throws DtCorrutedState this class is not copyable.
59 
61  //\throws DtCorrutedState this class is not copyable.
62  virtual DtStateRepository* clone(bool copy = false) const;
63  public:
64 
65  //@name DtBaseEntityStateRepository functions
67 
70  virtual void setAll(
71  const DtVector& loc,
72  const DtVector32& vel,
73  const DtTaitBryan& ori,
74  const DtVector32& acc,
75  const DtVector32& rotVel,
76  DtTime curTime);
77 
80  virtual void setLocation(const DtVector & location, DtTime aTime);
81 
83  virtual void setVelocity(const DtVector32 & Velocity, DtTime aTime);
84 
86  virtual void setAcceleration(const DtVector32 & Acceleration, DtTime aTime);
87 
89  virtual void setOrientation(const DtTaitBryan& orient, DtTime aTime);
90 
92  virtual void setRotationalVelocity(const DtVector32 & BodyRates, DtTime aTime);
93 
95  virtual void setAlgorithm(DtDeadReckonTypes alg);
96 
102  virtual void setHostGlobalId( const DtGlobalObjectDesignator& id );
103 
104  virtual void clearHostGlobalId();
105 
107  virtual void setRelativeLocation(const DtVector & location, DtTime aTime);
108 
111  virtual void setRelativeVelocity(const DtVector32 & Velocity, DtTime aTime);
112 
115  virtual void setRelativeAcceleration(const DtVector32 & Acceleration,
116  DtTime aTime);
117 
119  virtual void setRelativeOrientation(const DtTaitBryan& orient,
120  DtTime aTime);
121 
123  virtual void setRelativeRotationalVelocity(const DtVector32 & BodyRates,
124  DtTime aTime);
125 
127  virtual void setRelativeFrozen(bool onOff);
128 
130  virtual void setRelativeAlgorithm(DtDeadReckonTypes alg);
131 
133  virtual void setRelativePosition( const DtVector & newVal );
134 
135  /*
136 
138  virtual void setNature( const DtNature newVal );
139 
141  virtual void setPartPosition( const DtPosition newVal );
142 
144  virtual void setStationName( const DtStationName newVal );
145 
147  virtual void setStationNumber( const DtU16 newVal );
148 
150  virtual void setRange( const DtFloat32 newVal );
151 
153  virtual void setBearing( const DtFloat32 newVal );
154 
155  */
157  virtual void setEntityType(const DtEntityType& type);
158  /*
160  virtual void setFederateId(const DtFederateId& id);
161 
163 
164  //@name DtEntityStateRepository functions
166 
167  */
168 
169 #ifdef DtHLA
170  virtual void setEntityId(const DtEntityIdentifier& id);
175 #endif
176  virtual void setForceId(DtForceType force);
178 
179  /*
181  virtual void setGuise(const DtEntityType& type);
182 */
184  virtual void setFrozen(bool onOff);
185 /*
188  virtual void setMarkingCharSet(int charSet);
189  */
192  virtual void setMarkingText(const char* text);
193  /*
199 
200  virtual void setPowerPlantOn(bool onOff);
202  */
204  virtual void setDamageState(DtDamageState s);
205 
207  virtual void setEngineSmokeOn(bool onOff);
208 
210  virtual void setFlamesPresent(bool onOff);
211  /*
212 
214  virtual void setHasFuelSupplyCap(bool onOff);
215 
217  virtual void setHasRecoveryCap(bool onOff);
218 
220  virtual void setHasRepairCap(bool onOff);
221 
223  virtual void setHatchState(DtHatchState s);
224 
226  virtual void setImmobilized(bool onOff);
227  */
230  virtual void setLifeformState(DtLifeformState s);
231 
233  virtual void setLightState(DtLightType s, bool onOff);
234 
235  /*
236 
239  virtual void setLightState(DtLightState s);
240 
242  virtual void setDensity(DtDensityType dens);
243 
245  virtual void setRampDeployed(bool onOff);
246  */
248  virtual void setSmokePlumePresent(bool onOff);
249  /*
251  virtual void setTentDeployed(bool onOff);
252 
253  */
255  virtual void setTrailState(DtTrailState s);
256  /*
257 
259  virtual void setCamouflageType(DtCamouflageType type);
260 
262  virtual void setFirePowerDisabled(bool onOff);
263 
265  virtual void setIsConcealed(bool onOff);
266 
268  virtual void setAfterburnerOn(bool onOff);
269 
271  virtual void setHasAmmunitionSupplyCap(bool onOff);
272 
274  virtual void setLauncherRaised(bool onOff);
275 
277  virtual void setLauncherFlashPresent(bool onOff);
278  */
280  virtual void setPrimaryWeaponState(DtWeaponState s);
281  /*
283  virtual void setSecondaryWeaponState(DtWeaponState s);
284 
286  virtual void setComplianceState(DtComplianceState s);
287 
289  virtual void setAntennaRaised(bool upDown);
290 
292  virtual void setMissionKill(bool yesNo);
293 
295  virtual void setInternalHeatSource(bool onOff);
296 
298  virtual void setMaskedCloaked(bool onOff);
299  */
300  //We need this for DIS as individual functions are not called.
301  #if DtDIS
302  virtual void setAppearance(DtU32 app);
306  #endif
307 
312  virtual void setAppearanceAttribute(const DtAppearAttribute attr,
313  const DtAppearAttrVal val);
314 
316  /*
317 
319  virtual void setInfraRedSigRepIndex(DtU16 value);
320  virtual DtU16 infraRedSigRepIndex() const;
321 
323  virtual void setAcousticSigRepIndex(DtU16 value);
324  virtual DtU16 acousticSigRepIndex() const;
325 
327  virtual void setRadarSigRepIndex(DtU16 value);
328  virtual DtU16 radarSigRepIndex() const;
329 
331  virtual void setMeasuredSpeed(DtU16 value);
332 
334  virtual void setCapabilities(DtU32 cap);
335  */
337 
342  virtual void setDiGuyAction( const DtString& val, bool paused, double speed,
343  bool usePositioning, const DtVector& offset );
344 
345  virtual void setDiGuyAppearance( const DtString& val );
346  virtual void setDiGuyHeadAppearance( const DtString& val );
347  virtual void setDiGuyItemAppearance( const DtString& val );
348 
353 
354  virtual void setDiGuyAppearanceNoPropagation( const DtString& val );
355  virtual void setDiGuyHeadAppearanceNoPropagation( const DtString& val );
356  virtual void setDiGuyItemAppearanceNoPropagation( const DtString& val );
357  virtual void setDiGuyTypeNoPropagation( const DtString& val );
358  virtual void setDiGuyBodyWeightNoPropagation( DtFloat64 val );
359  virtual void setDiGuyActionNoPropagation( const DtString& val, bool paused,
360  double speed, bool usePositioning, const DtVector& offset );
361 
363 
364  virtual void setDiGuyArc( const std::vector<char>& val );
365  virtual void setDiGuyType( const DtString& val );
366  virtual void setDiGuyParent( const DtEntityIdentifier& val );
367 
369  virtual DtArticulatedPartCollection* artPartList();
370 
372  virtual void setDiGuyCharacterScale( const DtVector& scale );
373 
376  virtual void setDiGuyStateRepository( DtDIGuyObjectStateRepository* diGuyStateRep );
377 
378  protected:
379 
381  double myBodyWeight;
382 
383  };
384 
385  }
386 }
virtual void setAcceleration(const DtVector32 &Acceleration, DtTime aTime)
Sets the acceleration at aTime.
virtual void setDiGuyType(const DtString &val)
virtual void setDiGuyActionNoPropagation(const DtString &val, bool paused, double speed, bool usePositioning, const DtVector &offset)
double myBodyWeight
Definition: DtEntityStateInterceptor.h:381
virtual void setDiGuyAction(const DtString &val, bool paused, double speed, bool usePositioning, const DtVector &offset)
Set action to execute at the given speed, and whether the action is paused.
virtual void setRotationalVelocity(const DtVector32 &BodyRates, DtTime aTime)
Set the rotational velocity of an entity at aTime.
virtual void setLightState(DtLightType s, bool onOff)
Set light state of entity.
virtual void setDiGuyCharacterScale(const DtVector &scale)
Sets the character scaling factor.
virtual void setFrozen(bool onOff)
Set the frozen attribute.
virtual void setRelativeLocation(const DtVector &location, DtTime aTime)
Set the location of the center of mass in world coordinates at the given time.
virtual void setForceId(DtForceType force)
Set the force type.
virtual DtStateRepository * clone(bool copy=false) const
Return a copy/empty object of the same type as this.
virtual void setDiGuyItemAppearanceNoPropagation(const DtString &val)
virtual void setPrimaryWeaponState(DtWeaponState s)
Set/Get primary weapon deployment state.
virtual void setAppearanceAttribute(const DtAppearAttribute attr, const DtAppearAttrVal val)
Set an appearance attribute.
virtual void setDiGuyHeadAppearance(const DtString &val)
virtual void setDiGuyArc(const std::vector< char > &val)
virtual void setDiGuyParent(const DtEntityIdentifier &val)
virtual void setRelativeRotationalVelocity(const DtVector32 &BodyRates, DtTime aTime)
Set the relative rotational velocity.
virtual void setRelativePosition(const DtVector &newVal)
Set the relative position on the host.
DtVrlinkEntityStateListener * myListener
Definition: DtEntityStateInterceptor.h:380
virtual void setHostGlobalId(const DtGlobalObjectDesignator &id)
Sets the globalId of the attached host.
virtual void setDiGuyHeadAppearanceNoPropagation(const DtString &val)
DtEntityStateInterceptor & operator=(const DtEntityStateInterceptor &orig)
assignment operator
virtual void setAll(const DtVector &loc, const DtVector32 &vel, const DtTaitBryan &ori, const DtVector32 &acc, const DtVector32 &rotVel, DtTime curTime)
Coherently set all DR parameters, thus avoiding DR computations associated with a partial set...
virtual void setAppearance(DtU32 app)
Set the appearance bit field, use with care.
Contains makVrv::DtPartCollectionInterceptor class.
Contains makVrv::DtVirtualBaseClass class.
virtual void setRelativeVelocity(const DtVector32 &Velocity, DtTime aTime)
Set the relative velocity of the entity in meters per second with respect to the host at aTime...
virtual void setEntityType(const DtEntityType &type)
Set the entity type.
virtual void setVelocity(const DtVector32 &Velocity, DtTime aTime)
Set the velocity in meters per second at aTime.
virtual void setOrientation(const DtTaitBryan &orient, DtTime aTime)
Set the orientation at aTime.
virtual void setDiGuyBodyWeightNoPropagation(DtFloat64 val)
virtual void setEntityId(const DtEntityIdentifier &id)
Set the entity&#39;s identifier.
DtEntityStateInterceptor(DtVrlinkEntityStateListener *listener)
default constructor Interceptor takes ownership of the listener.
double DtFloat64
Definition: vrvControlStructTypes.h:36
virtual void setDiGuyItemAppearance(const DtString &val)
virtual void setLocation(const DtVector &location, DtTime aTime)
Set the location of the center of mass in geocentric world coordinates at aTime.
Contains makVrv::DtBaseEntityStateInterceptor class.
virtual void setDiGuyTypeNoPropagation(const DtString &val)
virtual void setAlgorithm(DtDeadReckonTypes alg)
Set the dead reckoning algorithm.
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 setMarkingText(const char *text)
Set the marking text attribute.
virtual void setRelativeAcceleration(const DtVector32 &Acceleration, DtTime aTime)
Set the relative acceleration of the entity with respect to the host at aTime.
virtual void setRelativeOrientation(const DtTaitBryan &orient, DtTime aTime)
Set the relative orientation of the entity with respect to the host.
virtual void setSmokePlumePresent(bool onOff)
Set/Get whether a smoke plume is present or not.
virtual void setDiGuyStateRepository(DtDIGuyObjectStateRepository *diGuyStateRep)
Sets the related DI-Guy state repository (see DtDiGuyStateRepositoryInterceptoy.h) that...
virtual void setDiGuyAppearanceNoPropagation(const DtString &val)
These are to support HLAevolved without causing infinite loops, they call the listener for data repli...
virtual void setRelativeFrozen(bool onOff)
Set relative frozen.
virtual DtArticulatedPartCollection * artPartList()
Get the art part list.
virtual void setFlamesPresent(bool onOff)
Set whether flames are present or not.
virtual void setEngineSmokeOn(bool onOff)
Set whether engine smoke is on or not.
virtual void setDiGuyAppearance(const DtString &val)
virtual void setTrailState(DtTrailState s)
Set/Get trailing effect state.
voidpf uLong offset
Definition: ioapi.h:42
virtual void setRelativeAlgorithm(DtDeadReckonTypes alg)
Set the dead reckoning algorithm.
virtual void setLifeformState(DtLifeformState s)
Set entity life form state.
The state interceptor interface extends DtStateRepository, via the StateRepClass template parameter...
Definition: DtEntityStateInterceptor.h:40
virtual void setDamageState(DtDamageState s)
Set the damage state.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)