VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
baseEntityStateRepository.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "stateRepository.h"
14 #include <vlpi/thresholder.h>
15 #include <vlpi/entityType.h>
16 #include <vlutil/vlTime.h>
17 #include <matrix/vlDcm.h>
18 
21 
22 #if DtHLA
24 #else
25 class DT_DLL_VL DtDisObjectManager;
26 #endif
27 
28 
37 {
38 public:
39 
42 
44  virtual ~DtBaseEntityStateRepository();
45 
48 
51  const DtBaseEntityStateRepository& orig);
52 
54  virtual DtStateRepository* clone(bool copy = false) const;
55 
61  void setTimeStampType(DtTimeStampType type);
62  DtTimeStampType timeStampType() const;
63 
76 
77 
80  virtual void setAll(
81  const DtVector& loc,
82  const DtVector32& vel,
83  const DtTaitBryan& ori,
84  const DtVector32& acc,
85  const DtVector32& rotVel,
86  DtTime t);
87 
90  virtual void setAll(
91  const DtVector& loc,
92  const DtVector32& vel,
93  const DtTaitBryan& ori,
94  const DtVector32& acc,
95  const DtVector32& rotVel);
96 
99  virtual void setLocation(const DtVector & location, DtTime aTime);
102  virtual void setLocation(const DtVector & location);
103 
104 
108  virtual const DtVector &location(DtTime aTime) const;
113  virtual const DtVector &location() const;
114 
115 
118  virtual const DtVector & lastSetLocation() const;
119 
121  virtual void setVelocity(const DtVector32 & Velocity, DtTime aTime);
124  virtual void setVelocity(const DtVector32 & Velocity);
126  virtual const DtVector32 & velocity(DtTime aTime) const;
128  virtual const DtVector32 & velocity() const;
129 
130 
133  virtual const DtVector32 & lastSetVelocity() const;
134 
136  virtual void setAcceleration(const DtVector32 & Acceleration, DtTime aTime);
138  virtual void setAcceleration(const DtVector32 & Acceleration);
140  virtual const DtVector32 & acceleration(DtTime aTime) const;
142  virtual const DtVector32 & acceleration() const;
143 
146  virtual const DtVector32 & lastSetAcceleration() const;
147 
149  virtual void setOrientation(const DtTaitBryan& orient, DtTime aTime);
151  virtual void setOrientation(const DtTaitBryan& orient);
152 
154  virtual const DtTaitBryan& orientation(DtTime aTime) const;
156  virtual const DtTaitBryan& orientation() const;
157 
160  virtual const DtTaitBryan& lastSetOrientation() const;
161 
163  virtual void setRotationalVelocity(const DtVector32 & BodyRates, DtTime aTime);
165  virtual void setRotationalVelocity(const DtVector32 & BodyRates);
167  virtual const DtVector32 & rotationalVelocity(DtTime aTime) const;
169  virtual const DtVector32 & rotationalVelocity() const;
170 
173  virtual const DtVector32 & lastSetRotationalVelocity() const;
174 
176  virtual void setFrozen(bool on);
178  virtual bool frozen() const;
179 
181  virtual void setAlgorithm(DtDeadReckonTypes alg);
183 
184  virtual DtDeadReckonTypes algorithm() const;
186 
189  static void setDefaultDeadReckoner(DtDeadReckoner* val);
190 
192  static void setDefaultSmoother(DtSmoother* val);
193 
196  static void setDefaultRelativeDeadReckoner(DtDeadReckoner* val);
197 
200  static void setDefaultRelativeSmoother(DtSmoother* val);
201 
202 
218 
219 
220 
222  virtual void setRelativeLocation(const DtVector & location, DtTime aTime);
225  virtual void setRelativeLocation(const DtVector & location);
228  virtual const DtVector & relativeLocation(DtTime aTime) const;
231  virtual const DtVector & relativeLocation() const;
232 
235  virtual const DtVector & lastSetRelativeLocation() const;
236 
239  virtual void setRelativeVelocity(const DtVector32 & Velocity, DtTime aTime);
242  virtual void setRelativeVelocity(const DtVector32 & Velocity);
245  virtual const DtVector32 & relativeVelocity(DtTime aTime) const;
248  virtual const DtVector32 & relativeVelocity() const;
249 
252  virtual const DtVector32 & lastSetRelativeVelocity() const;
253 
256  virtual void setRelativeAcceleration(const DtVector32 & Acceleration,
257  DtTime aTime);
260  virtual void setRelativeAcceleration(const DtVector32 & Acceleration);
263  virtual const DtVector32 & relativeAcceleration(DtTime aTime) const;
266  virtual const DtVector32 & relativeAcceleration() const;
267 
270  virtual const DtVector32 & lastSetRelativeAcceleration() const;
271 
273  virtual void setRelativeOrientation(const DtTaitBryan& orient,
274  DtTime aTime);
276  virtual void setRelativeOrientation(const DtTaitBryan& orient);
278  virtual const DtTaitBryan& relativeOrientation(DtTime aTime) const;
280  virtual const DtTaitBryan& relativeOrientation() const;
281 
284  virtual const DtTaitBryan& lastSetRelativeOrientation() const;
285 
287  virtual void setRelativeRotationalVelocity(const DtVector32 & BodyRates,
288  DtTime aTime);
290  virtual void setRelativeRotationalVelocity(const DtVector32 & BodyRates);
292  virtual const DtVector32 & relativeRotationalVelocity(DtTime aTime) const;
294  virtual const DtVector32 & relativeRotationalVelocity() const;
295 
298  virtual const DtVector32 & lastSetRelativeRotationalVelocity() const;
299 
301  virtual void setRelativeFrozen(bool onOff);
303  virtual bool relativeFrozen() const;
304 
306  virtual void setRelativeAlgorithm(DtDeadReckonTypes alg);
308  virtual DtDeadReckonTypes relativeAlgorithm() const;
309 
311 
321 
322 
324  virtual const DtGlobalObjectDesignator& hostGlobalId() const;
325 
331  virtual void setHostGlobalId( const DtGlobalObjectDesignator& id );
332 
335  virtual void clearHostGlobalId();
336 
338  virtual const DtNature& nature() const;
340  virtual void setNature( const DtNature newVal );
341 
343  virtual const DtPosition& partPosition() const;
345  virtual void setPartPosition( const DtPosition newVal );
346 
348  virtual const DtStationName& stationName() const;
350  virtual void setStationName( const DtStationName newVal );
351 
353  virtual const DtU16& stationNumber() const;
355  virtual void setStationNumber( const DtU16 newVal );
356 
358  virtual const DtVector & relativePosition() const;
360  virtual void setRelativePosition( const DtVector & newVal );
361 
363  virtual const DtFloat32& range() const;
365  virtual void setRange( const DtFloat32 newVal );
366 
368  virtual const DtFloat32& bearing() const;
370  virtual void setBearing( const DtFloat32 newVal );
371 
373 
374 
375 
382 
383 #if DtHLA
384  virtual void setHlaObjectManager( DtHlaObjectManager* mgr );
385 #else
386  virtual void setDisObjectManager( DtDisObjectManager* mgr );
387 #endif
388 
395  virtual void setAmAsSeenByRemote( bool val );
396 
398  virtual const DtDcm & bodyToGeoc(DtTime aTime) const;
400  virtual const DtDcm & bodyToGeoc() const;
401 
403  virtual const DtDcm & relativeBodyToHost(DtTime aTime) const;
405  virtual const DtDcm & relativeBodyToHost() const;
406 
408  virtual void setEntityId(const DtEntityIdentifier& id);
410  virtual const DtEntityIdentifier& entityId() const;
411 
413  virtual void setEntityType(const DtEntityType& type);
415  virtual const DtEntityType& entityType() const;
416 
417 #if DtHLA
418 
419  virtual void setFederateId(const DtFederateId& id);
421  virtual const DtFederateId& federateId() const;
422 #endif
423 
431  virtual void setApproximator(DtApproximator* approx);
432  virtual DtApproximator* approximator() const;
433 
434  virtual void setRelativeApproximator(DtApproximator* approx);
435  virtual DtApproximator* relativeApproximator() const;
437 
438 
443  virtual void useDeadReckoner(DtDeadReckoner* dr);
444 
449  virtual void useRelativeDeadReckoner(DtDeadReckoner* dr);
450 
452  virtual void useDeadReckoner(bool yesNo = true);
454  virtual void useRelativeDeadReckoner(bool yesNo = true);
455 
457  virtual DtDeadReckoner* usingDeadReckoner();
459  virtual DtDeadReckoner* usingRelativeDeadReckoner();
460 
465  virtual void useSmoother(DtSmoother* sm);
466 
471  virtual void useRelativeSmoother(DtSmoother* sm);
472 
474  virtual void useSmoother(bool yesNo = true);
476  virtual void useRelativeSmoother(bool yesNo = true);
477 
479  virtual DtSmoother* usingSmoother();
481  virtual DtSmoother* usingRelativeSmoother();
482 
485  virtual DtThresholder* thresholder();
486 
489  virtual const DtThresholder& thresholder() const;
490 
493  virtual DtClock* clock() const;
496  virtual void setClock(DtClock* clock);
497 
500  virtual void printData() const;
501 
503  void printDataToStream(std::ostream &str) const;
504 
506  friend class DtBaseEntityDecoder;
507  virtual void setTimeForSets( DtTime time );
508  virtual DtTime timeForSets() const;
509 
512  void computeSpatialFromRelativeSpatial();
513 
514 protected:
515 
518  DtBaseEntityStateRepository* self() const;
519 
520 public:
521 
524  DtBaseEntityStateRepository* hostEsr() const;
525 
526 protected:
527 
531 
535 
539 
543 
549 
557  bool myFrozen;
558 
567 
581 
583 #if DtHLA
584 
586 #else
587  DtDisObjectManager* myObjectManager;
588 #endif
589 
593 
601 
609 
615 
617 #if DtHLA
618 
620 #endif
623 
624 protected:
626 };
627 
629 {
630  return &myThresholder;
631 }
632 
634 {
635  return myThresholder;
636 }
637 
639  DtTimeStampType type)
640 {
641  myTimeStampType = type;
642 }
643 
645 {
646  return myTimeStampType;
647 }
648 
650 {
651  return myEntityType;
652 }
653 
655  const DtEntityType& type)
656 {
657  myEntityType = type;
658 }
659 
660 inline const DtEntityIdentifier&
662 {
663  return myEntityId;
664 }
665 
667  const DtEntityIdentifier& id)
668 {
669  myEntityId = id;
670 }
671 
672 #if DtHLA
674 {
677  return myFederateId;
678 }
679 
681  const DtFederateId& id)
682 {
683  myEntityId.setSite(id.siteId());
684  myEntityId.setHost(id.applicationId());
685 }
686 #endif
687 
689 
691  ) const
692 {
694 }
695 
697  ) const
698 {
699  return myLastSetOrientation;
700 }
701 
703  ) const
704 {
705  return myLastSetAcceleration;
706 }
707 
709 {
710  return myLastSetVelocity;
711 }
712 
714 {
715  return myLastSetLocation;
716 }
717 
719 
720 inline const DtVector32 &
722 {
724 }
725 
726 inline const DtTaitBryan&
728 {
730 }
731 
732 inline const DtVector32 &
734 {
736 }
737 
738 inline const DtVector32 &
740 {
742 }
743 
744 inline const DtVector &
746 {
748 }
749 
751 {
752  myAmAsSeenByRemote = val;
753 }

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)