VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAggregateStateInterceptor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 
14 
15 #include <vlutil/vlTime.h>
16 
17 #include <vl/globalObjectDesignator.h>
18 
19 #include <matrix/vlVector.h>
20 #include <matrix/vlTaitBryan.h>
21 
22 #include <vlpi/disEnums.h>
23 #include <vlpi/entityType.h>
24 
25 class DtStateRepository;
27 
28 namespace makVrv
29 {
30  namespace DT_PROTOCOL_NAMESPACE
31  {
32  class DtVrlinkAggregateStateListener;
33  class DtVrlinkConnection;
34 
39  template <typename StateRepClass>
41  {
42  public:
43 
47 
50 
52  DtAggregateStateInterceptor() = delete;
53 
56 
59 
60  private:
61 
63  //\throws DtCorrutedState this class is not copyable.
64  virtual DtStateRepository* clone(bool copy = false) const override;
65 
66  public:
69  virtual void setMarkingText(const char* text);
70 
71  protected:
73  virtual void setAggregateID(const DtEntityIdentifier& id);
74 
77  virtual void setAll(
78  const DtVector& loc,
79  const DtVector32& vel,
80  const DtTaitBryan& ori,
81  const DtVector32& acc,
82  const DtVector32& rotVel,
83  DtTime t);
84 
87  virtual void setLocation(const DtVector & location, DtTime aTime);
88 
90  virtual void setVelocity(const DtVector32 & Velocity, DtTime aTime);
91 
93  virtual void setAcceleration(const DtVector32 & Acceleration, DtTime aTime);
94 
96  virtual void setOrientation(const DtTaitBryan& orient, DtTime aTime);
97 
99  virtual void setRotationalVelocity(const DtVector32 & BodyRates, DtTime aTime);
100 
102  virtual void setAlgorithm(DtDeadReckonTypes alg);
103 
109  virtual void setHostGlobalId( const DtGlobalObjectDesignator& id );
110 
111  virtual void clearHostGlobalId();
112 
114  virtual void setRelativeLocation(const DtVector & location, DtTime aTime);
115 
118  virtual void setRelativeVelocity(const DtVector32 & Velocity, DtTime aTime);
119 
122  virtual void setRelativeAcceleration(const DtVector32 & Acceleration,
123  DtTime aTime);
124 
126  virtual void setRelativeOrientation(const DtTaitBryan& orient,
127  DtTime aTime);
128 
130  virtual void setRelativeRotationalVelocity(const DtVector32 & BodyRates,
131  DtTime aTime);
132 
134  virtual void setRelativeFrozen(bool onOff);
135 
137  virtual void setRelativeAlgorithm(DtDeadReckonTypes alg);
138 
140  virtual void setRelativePosition( const DtVector & newVal );
141 
143  virtual void setDimensions(const DtVector32& dims);
144 
146  virtual void setForceId(DtForceType);
147 
148  protected:
150  };
151  }
152 }
virtual void setLocation(const DtVector &location, DtTime aTime)
Set the location of the center of mass in geocentric world coordinates at aTime.
virtual void setAll(const DtVector &loc, const DtVector32 &vel, const DtTaitBryan &ori, const DtVector32 &acc, const DtVector32 &rotVel, DtTime t)
Coherently set all DR parameters, thus avoiding DR computations associated with a partial set...
virtual void setRelativeAlgorithm(DtDeadReckonTypes alg)
Set the dead reckoning algorithm.
virtual void setAcceleration(const DtVector32 &Acceleration, DtTime aTime)
Sets the acceleration at aTime.
virtual void setDimensions(const DtVector32 &dims)
Set and signal dimension changed.
The state interface intercepts state calls and translates them into. The StateRepClass template param...
Definition: DtAggregateStateInterceptor.h:40
virtual void setRelativeAcceleration(const DtVector32 &Acceleration, DtTime aTime)
Set the relative acceleration of the entity with respect to the host at aTime.
DtVrlinkAggregateStateListener * myVrlListener
Definition: DtAggregateStateInterceptor.h:149
virtual void setOrientation(const DtTaitBryan &orient, DtTime aTime)
Set the orientation at aTime.
DtAggregateStateInterceptor & operator=(const DtAggregateStateInterceptor &)=delete
not allowed - equals operator
virtual void setVelocity(const DtVector32 &Velocity, DtTime aTime)
Set the velocity in meters per second at aTime.
virtual void setAlgorithm(DtDeadReckonTypes alg)
Set the dead reckoning algorithm.
virtual void setAggregateID(const DtEntityIdentifier &id)
Set the aggregate ID.
virtual void setRelativeLocation(const DtVector &location, DtTime aTime)
Set the location of the center of mass in world coordinates at the given time.
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
Contains makVrv::DtVirtualBaseClass class.
virtual void setRelativeRotationalVelocity(const DtVector32 &BodyRates, DtTime aTime)
Set the relative rotational velocity.
virtual DtStateRepository * clone(bool copy=false) const override
Return a copy/empty object of the same type as this.
virtual void setMarkingText(const char *text)
Set the marking text attribute. This is typicaly used as the vehicle bumper number, though some applications may use it as a unique identifier.
virtual void setRelativePosition(const DtVector &newVal)
Set the relative position on the host.
virtual void setRelativeOrientation(const DtTaitBryan &orient, DtTime aTime)
Set the relative orientation of the entity with respect to the host.
virtual void setHostGlobalId(const DtGlobalObjectDesignator &id)
Sets the globalId of the attached host. This function should only be used to attach this entity to an...
virtual void setForceId(DtForceType)
Set and signal force change.
virtual void setRelativeFrozen(bool onOff)
Set relative frozen.
DtAggregateStateInterceptor()=delete
not allowed - default constructor
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 setRotationalVelocity(const DtVector32 &BodyRates, DtTime aTime)
Set the rotational velocity of an entity at aTime.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)