VR-Link API Documentation for HLA 1516
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"
13 #include <vlpi/thresholder.h>
14 #include <vlpi/entityType.h>
15 #include <vlutil/vlTime.h>
16 #include <matrix/vlDcm.h>
17 
20 class DT_DLL_VL DtSmoother;
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 DtVector & Velocity, DtTime aTime);
105  virtual void setVelocity(const DtVector & Velocity);
107  virtual const DtVector & velocity(DtTime aTime) const;
109  virtual const DtVector & velocity() const;
110 
111 
114  virtual const DtVector & lastSetVelocity() const;
115 
117  virtual void setAcceleration(const DtVector & Acceleration, DtTime aTime);
119  virtual void setAcceleration(const DtVector & Acceleration);
121  virtual const DtVector & acceleration(DtTime aTime) const;
123  virtual const DtVector & acceleration() const;
124 
127  virtual const DtVector & 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 DtVector & BodyRates, DtTime aTime);
146  virtual void setRotationalVelocity(const DtVector & BodyRates);
148  virtual const DtVector & rotationalVelocity(DtTime aTime) const;
150  virtual const DtVector & rotationalVelocity() const;
151 
154  virtual const DtVector & 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 
168 
169 
185 
186 
187 
189  virtual void setRelativeLocation(const DtVector & location, DtTime aTime);
192  virtual void setRelativeLocation(const DtVector & location);
195  virtual const DtVector & relativeLocation(DtTime aTime) const;
198  virtual const DtVector & relativeLocation() const;
199 
202  virtual const DtVector & lastSetRelativeLocation() const;
203 
206  virtual void setRelativeVelocity(const DtVector & Velocity, DtTime aTime);
209  virtual void setRelativeVelocity(const DtVector & Velocity);
212  virtual const DtVector & relativeVelocity(DtTime aTime) const;
215  virtual const DtVector & relativeVelocity() const;
216 
219  virtual const DtVector & lastSetRelativeVelocity() const;
220 
223  virtual void setRelativeAcceleration(const DtVector & Acceleration,
224  DtTime aTime);
227  virtual void setRelativeAcceleration(const DtVector & Acceleration);
230  virtual const DtVector & relativeAcceleration(DtTime aTime) const;
233  virtual const DtVector & relativeAcceleration() const;
234 
237  virtual const DtVector & lastSetRelativeAcceleration() const;
238 
240  virtual void setRelativeOrientation(const DtTaitBryan& orient,
241  DtTime aTime);
243  virtual void setRelativeOrientation(const DtTaitBryan& orient);
245  virtual const DtTaitBryan& relativeOrientation(DtTime aTime) const;
247  virtual const DtTaitBryan& relativeOrientation() const;
248 
251  virtual const DtTaitBryan& lastSetRelativeOrientation() const;
252 
254  virtual void setRelativeRotationalVelocity(const DtVector & BodyRates,
255  DtTime aTime);
257  virtual void setRelativeRotationalVelocity(const DtVector & BodyRates);
259  virtual const DtVector & relativeRotationalVelocity(DtTime aTime) const;
261  virtual const DtVector & relativeRotationalVelocity() const;
262 
265  virtual const DtVector & lastSetRelativeRotationalVelocity() const;
266 
268  virtual void setRelativeFrozen(bool onOff);
270  virtual bool relativeFrozen() const;
271 
273  virtual void setRelativeAlgorithm(DtDeadReckonTypes alg);
275  virtual DtDeadReckonTypes relativeAlgorithm() const;
276 
278 
288 
289 
291  virtual const DtGlobalObjectDesignator& hostGlobalId() const;
292 
298  virtual void setHostGlobalId( const DtGlobalObjectDesignator& id );
299 
302  virtual void clearHostGlobalId();
303 
305  virtual const DtNature& nature() const;
307  virtual void setNature( const DtNature newVal );
308 
310  virtual const DtPosition& partPosition() const;
312  virtual void setPartPosition( const DtPosition newVal );
313 
315  virtual const DtStationName& stationName() const;
317  virtual void setStationName( const DtStationName newVal );
318 
320  virtual const DtU16& stationNumber() const;
322  virtual void setStationNumber( const DtU16 newVal );
323 
325  virtual const DtVector & relativePosition() const;
327  virtual void setRelativePosition( const DtVector & newVal );
328 
330  virtual const DtFloat32& range() const;
332  virtual void setRange( const DtFloat32 newVal );
333 
335  virtual const DtFloat32& bearing() const;
337  virtual void setBearing( const DtFloat32 newVal );
338 
340 
341 
342 
349 
350 #if DtHLA
351  virtual void setHlaObjectManager( DtHlaObjectManager* mgr );
352 #else
353  virtual void setDisObjectManager( DtDisObjectManager* mgr );
354 #endif
355 
362  virtual void setAmAsSeenByRemote( bool val );
363 
365  virtual const DtDcm & bodyToGeoc(DtTime aTime) const;
367  virtual const DtDcm & bodyToGeoc() const;
368 
370  virtual const DtDcm & relativeBodyToHost(DtTime aTime) const;
372  virtual const DtDcm & relativeBodyToHost() const;
373 
375  virtual void setEntityId(const DtEntityIdentifier& id);
377  virtual const DtEntityIdentifier& entityId() const;
378 
380  virtual void setEntityType(const DtEntityType& type);
382  virtual const DtEntityType& entityType() const;
383 
384 #if DtHLA
385 
386  virtual void setFederateId(const DtFederateId& id);
388  virtual const DtFederateId& federateId() const;
389 #endif
390 
397  virtual void setApproximator(DtApproximator* approx);
398  virtual DtApproximator* approximator() const;
399 
400  virtual void setRelativeApproximator(DtApproximator* approx);
401  virtual DtApproximator* relativeApproximator() const;
402 
403 
407  virtual void useDeadReckoner(DtDeadReckoner* dr);
408 
412  virtual void useRelativeDeadReckoner(DtDeadReckoner* dr);
413 
415  virtual void useDeadReckoner(bool yesNo = true);
417  virtual void useRelativeDeadReckoner(bool yesNo = true);
418 
420  virtual DtDeadReckoner* usingDeadReckoner();
422  virtual DtDeadReckoner* usingRelativeDeadReckoner();
423 
427  virtual void useSmoother(DtSmoother* sm);
428 
432  virtual void useRelativeSmoother(DtSmoother* sm);
433 
435  virtual void useSmoother(bool yesNo = true);
437  virtual void useRelativeSmoother(bool yesNo = true);
438 
440  virtual DtSmoother* usingSmoother();
442  virtual DtSmoother* usingRelativeSmoother();
443 
446  virtual DtThresholder* thresholder();
447 
450  virtual const DtThresholder& thresholder() const;
451 
454  virtual DtClock* clock() const;
457  virtual void setClock(DtClock* clock);
458 
461  virtual void printData() const;
462 
464  void printDataToStream(std::ostream &str) const;
465 
467  friend class DtBaseEntityDecoder;
468  virtual void setTimeForSets( DtTime time );
469  virtual DtTime timeForSets() const;
470 
473  void computeSpatialFromRelativeSpatial();
474 
475 protected:
476 
479  DtBaseEntityStateRepository* self() const;
480 
481 public:
482 
485  DtBaseEntityStateRepository* hostEsr() const;
486 
487 protected:
488 
492 
496 
500 
504 
510 
518  bool myFrozen;
519 
528 
542 
544 #if DtHLA
545 
547 #else
548  DtDisObjectManager* myObjectManager;
549 #endif
550 
554 
562 
570 
576 
578 #if DtHLA
579 
581 #endif
584 
585 protected:
587 };
588 
590 {
591  return &myThresholder;
592 }
593 
595 {
596  return myThresholder;
597 }
598 
600  DtTimeStampType type)
601 {
602  myTimeStampType = type;
603 }
604 
606 {
607  return myTimeStampType;
608 }
609 
611 {
612  return myEntityType;
613 }
614 
616  const DtEntityType& type)
617 {
618  myEntityType = type;
619 }
620 
621 inline const DtEntityIdentifier&
623 {
624  return myEntityId;
625 }
626 
628  const DtEntityIdentifier& id)
629 {
630  myEntityId = id;
631 }
632 
633 #if DtHLA
635 {
638  return myFederateId;
639 }
640 
642  const DtFederateId& id)
643 {
644  myEntityId.setSite(id.siteId());
645  myEntityId.setHost(id.applicationId());
646 }
647 #endif
648 
650 
652  ) const
653 {
655 }
656 
658  ) const
659 {
660  return myLastSetOrientation;
661 }
662 
664  ) const
665 {
666  return myLastSetAcceleration;
667 }
668 
670 {
671  return myLastSetVelocity;
672 }
673 
675 {
676  return myLastSetLocation;
677 }
678 
680 
681 inline const DtVector &
683 {
685 }
686 
687 inline const DtTaitBryan&
689 {
691 }
692 
693 inline const DtVector &
695 {
697 }
698 
699 inline const DtVector &
701 {
703 }
704 
705 inline const DtVector &
707 {
709 }
710 
712 {
713  myAmAsSeenByRemote = val;
714 }

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)