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 setLocation(const DtVector & location, DtTime aTime);
83  virtual void setLocation(const DtVector & location);
84 
85 
89  virtual const DtVector &location(DtTime aTime) const;
94  virtual const DtVector &location() const;
95 
96 
99  virtual const DtVector & lastSetLocation() const;
100 
102  virtual void setVelocity(const DtVector32 & Velocity, DtTime aTime);
105  virtual void setVelocity(const DtVector32 & Velocity);
107  virtual const DtVector32 & velocity(DtTime aTime) const;
109  virtual const DtVector32 & velocity() const;
110 
111 
114  virtual const DtVector32 & lastSetVelocity() const;
115 
117  virtual void setAcceleration(const DtVector32 & Acceleration, DtTime aTime);
119  virtual void setAcceleration(const DtVector32 & Acceleration);
121  virtual const DtVector32 & acceleration(DtTime aTime) const;
123  virtual const DtVector32 & acceleration() const;
124 
127  virtual const DtVector32 & lastSetAcceleration() const;
128 
130  virtual void setOrientation(const DtTaitBryan& orient, DtTime aTime);
132  virtual void setOrientation(const DtTaitBryan& orient);
133 
135  virtual const DtTaitBryan& orientation(DtTime aTime) const;
137  virtual const DtTaitBryan& orientation() const;
138 
141  virtual const DtTaitBryan& lastSetOrientation() const;
142 
144  virtual void setRotationalVelocity(const DtVector32 & BodyRates, DtTime aTime);
146  virtual void setRotationalVelocity(const DtVector32 & BodyRates);
148  virtual const DtVector32 & rotationalVelocity(DtTime aTime) const;
150  virtual const DtVector32 & rotationalVelocity() const;
151 
154  virtual const DtVector32 & lastSetRotationalVelocity() const;
155 
157  virtual void setFrozen(bool on);
159  virtual bool frozen() const;
160 
162  virtual void setAlgorithm(DtDeadReckonTypes alg);
164 
165  virtual DtDeadReckonTypes algorithm() const;
167 
170  static void setDefaultDeadReckoner(DtDeadReckoner* val);
171 
173  static void setDefaultSmoother(DtSmoother* val);
174 
177  static void setDefaultRelativeDeadReckoner(DtDeadReckoner* val);
178 
181  static void setDefaultRelativeSmoother(DtSmoother* val);
182 
183 
199 
200 
201 
203  virtual void setRelativeLocation(const DtVector & location, DtTime aTime);
206  virtual void setRelativeLocation(const DtVector & location);
209  virtual const DtVector & relativeLocation(DtTime aTime) const;
212  virtual const DtVector & relativeLocation() const;
213 
216  virtual const DtVector & lastSetRelativeLocation() const;
217 
220  virtual void setRelativeVelocity(const DtVector32 & Velocity, DtTime aTime);
223  virtual void setRelativeVelocity(const DtVector32 & Velocity);
226  virtual const DtVector32 & relativeVelocity(DtTime aTime) const;
229  virtual const DtVector32 & relativeVelocity() const;
230 
233  virtual const DtVector32 & lastSetRelativeVelocity() const;
234 
237  virtual void setRelativeAcceleration(const DtVector32 & Acceleration,
238  DtTime aTime);
241  virtual void setRelativeAcceleration(const DtVector32 & Acceleration);
244  virtual const DtVector32 & relativeAcceleration(DtTime aTime) const;
247  virtual const DtVector32 & relativeAcceleration() const;
248 
251  virtual const DtVector32 & lastSetRelativeAcceleration() const;
252 
254  virtual void setRelativeOrientation(const DtTaitBryan& orient,
255  DtTime aTime);
257  virtual void setRelativeOrientation(const DtTaitBryan& orient);
259  virtual const DtTaitBryan& relativeOrientation(DtTime aTime) const;
261  virtual const DtTaitBryan& relativeOrientation() const;
262 
265  virtual const DtTaitBryan& lastSetRelativeOrientation() const;
266 
268  virtual void setRelativeRotationalVelocity(const DtVector32 & BodyRates,
269  DtTime aTime);
271  virtual void setRelativeRotationalVelocity(const DtVector32 & BodyRates);
273  virtual const DtVector32 & relativeRotationalVelocity(DtTime aTime) const;
275  virtual const DtVector32 & relativeRotationalVelocity() const;
276 
279  virtual const DtVector32 & lastSetRelativeRotationalVelocity() const;
280 
282  virtual void setRelativeFrozen(bool onOff);
284  virtual bool relativeFrozen() const;
285 
287  virtual void setRelativeAlgorithm(DtDeadReckonTypes alg);
289  virtual DtDeadReckonTypes relativeAlgorithm() const;
290 
292 
302 
303 
305  virtual const DtGlobalObjectDesignator& hostGlobalId() const;
306 
312  virtual void setHostGlobalId( const DtGlobalObjectDesignator& id );
313 
316  virtual void clearHostGlobalId();
317 
319  virtual const DtNature& nature() const;
321  virtual void setNature( const DtNature newVal );
322 
324  virtual const DtPosition& partPosition() const;
326  virtual void setPartPosition( const DtPosition newVal );
327 
329  virtual const DtStationName& stationName() const;
331  virtual void setStationName( const DtStationName newVal );
332 
334  virtual const DtU16& stationNumber() const;
336  virtual void setStationNumber( const DtU16 newVal );
337 
339  virtual const DtVector & relativePosition() const;
341  virtual void setRelativePosition( const DtVector & newVal );
342 
344  virtual const DtFloat32& range() const;
346  virtual void setRange( const DtFloat32 newVal );
347 
349  virtual const DtFloat32& bearing() const;
351  virtual void setBearing( const DtFloat32 newVal );
352 
354 
355 
356 
363 
364 #if DtHLA
365  virtual void setHlaObjectManager( DtHlaObjectManager* mgr );
366 #else
367  virtual void setDisObjectManager( DtDisObjectManager* mgr );
368 #endif
369 
376  virtual void setAmAsSeenByRemote( bool val );
377 
379  virtual const DtDcm & bodyToGeoc(DtTime aTime) const;
381  virtual const DtDcm & bodyToGeoc() const;
382 
384  virtual const DtDcm & relativeBodyToHost(DtTime aTime) const;
386  virtual const DtDcm & relativeBodyToHost() const;
387 
389  virtual void setEntityId(const DtEntityIdentifier& id);
391  virtual const DtEntityIdentifier& entityId() const;
392 
394  virtual void setEntityType(const DtEntityType& type);
396  virtual const DtEntityType& entityType() const;
397 
398 #if DtHLA
399 
400  virtual void setFederateId(const DtFederateId& id);
402  virtual const DtFederateId& federateId() const;
403 #endif
404 
412  virtual void setApproximator(DtApproximator* approx);
413  virtual DtApproximator* approximator() const;
414 
415  virtual void setRelativeApproximator(DtApproximator* approx);
416  virtual DtApproximator* relativeApproximator() const;
418 
419 
424  virtual void useDeadReckoner(DtDeadReckoner* dr);
425 
430  virtual void useRelativeDeadReckoner(DtDeadReckoner* dr);
431 
433  virtual void useDeadReckoner(bool yesNo = true);
435  virtual void useRelativeDeadReckoner(bool yesNo = true);
436 
438  virtual DtDeadReckoner* usingDeadReckoner();
440  virtual DtDeadReckoner* usingRelativeDeadReckoner();
441 
446  virtual void useSmoother(DtSmoother* sm);
447 
452  virtual void useRelativeSmoother(DtSmoother* sm);
453 
455  virtual void useSmoother(bool yesNo = true);
457  virtual void useRelativeSmoother(bool yesNo = true);
458 
460  virtual DtSmoother* usingSmoother();
462  virtual DtSmoother* usingRelativeSmoother();
463 
466  virtual DtThresholder* thresholder();
467 
470  virtual const DtThresholder& thresholder() const;
471 
474  virtual DtClock* clock() const;
477  virtual void setClock(DtClock* clock);
478 
481  virtual void printData() const;
482 
484  void printDataToStream(std::ostream &str) const;
485 
487  friend class DtBaseEntityDecoder;
488  virtual void setTimeForSets( DtTime time );
489  virtual DtTime timeForSets() const;
490 
493  void computeSpatialFromRelativeSpatial();
494 
495 protected:
496 
499  DtBaseEntityStateRepository* self() const;
500 
501 public:
502 
505  DtBaseEntityStateRepository* hostEsr() const;
506 
507 protected:
508 
512 
516 
520 
524 
530 
538  bool myFrozen;
539 
548 
562 
564 #if DtHLA
565 
567 #else
568  DtDisObjectManager* myObjectManager;
569 #endif
570 
574 
582 
590 
596 
598 #if DtHLA
599 
601 #endif
604 
605 protected:
607 };
608 
610 {
611  return &myThresholder;
612 }
613 
615 {
616  return myThresholder;
617 }
618 
620  DtTimeStampType type)
621 {
622  myTimeStampType = type;
623 }
624 
626 {
627  return myTimeStampType;
628 }
629 
631 {
632  return myEntityType;
633 }
634 
636  const DtEntityType& type)
637 {
638  myEntityType = type;
639 }
640 
641 inline const DtEntityIdentifier&
643 {
644  return myEntityId;
645 }
646 
648  const DtEntityIdentifier& id)
649 {
650  myEntityId = id;
651 }
652 
653 #if DtHLA
655 {
658  return myFederateId;
659 }
660 
662  const DtFederateId& id)
663 {
664  myEntityId.setSite(id.siteId());
665  myEntityId.setHost(id.applicationId());
666 }
667 #endif
668 
670 
672  ) const
673 {
675 }
676 
678  ) const
679 {
680  return myLastSetOrientation;
681 }
682 
684  ) const
685 {
686  return myLastSetAcceleration;
687 }
688 
690 {
691  return myLastSetVelocity;
692 }
693 
695 {
696  return myLastSetLocation;
697 }
698 
700 
701 inline const DtVector32 &
703 {
705 }
706 
707 inline const DtTaitBryan&
709 {
711 }
712 
713 inline const DtVector32 &
715 {
717 }
718 
719 inline const DtVector32 &
721 {
723 }
724 
725 inline const DtVector &
727 {
729 }
730 
732 {
733  myAmAsSeenByRemote = val;
734 }

Document ID: Generated on Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)