VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
entityPublisherHLA.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
9 #ifndef entityPublisherHLA_H_
10 #define entityPublisherHLA_H_
11 
12 #if DtHLA
13 
14 #include "objectPublisherHLA.h"
15 #include <vlpi/thresholder.h>
16 #include <vlpi/disEnums.h>
17 
18 
20 class DtGeodeticRegion;
22 
29 {
30 public:
31 
36  static const DtEntityType& guiseSameAsType();
37 
38 public:
39 
41  typedef DtEntityStateRepository* (*DtStateRepCreator)();
42 
43 public:
44 
47  DtEntityStateRepository* stateRepToUse,
48  DtExerciseConn* conn,
49  const char* name = 0,
50  const DtDDMRegionSet* regionSetToUse = 0);
51 
54  RTI::ObjectClassHandle h,
55  DtExerciseConn* conn,
56  const char* name = 0,
57  const DtDDMRegionSet* regionSetToUse = 0);
58 
61  const DtEntityType& type,
62  DtExerciseConn* conn,
63  const char* name = 0,
64  const DtDDMRegionSet* regionSetToUse = 0);
65 
68  const DtEntityType& type,
69  DtExerciseConn* conn,
70  DtDeadReckonTypes algorithm,
71  DtForceType forceId,
72  const DtEntityType& guise = guiseSameAsType(),
73  const char* name = 0,
74  const DtDDMRegionSet* regionSetToUse = 0);
75 
81  DtEntityPublisher(DtHlaObjectWithStateRep* obj, DtExerciseConn* conn);
82 
84  virtual ~DtEntityPublisher();
85 
88  virtual DtEntityStateRepository* entityStateRep();
89 
91  virtual DtEntityStateRepository* esr();
92 
96  virtual void enableDiGuyInformation();
97 
99  virtual void tick();
100 
102  virtual void divestObject();
103 
104 public:
105 
107  static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
108 
109 public:
110 
112 
113  static void setDfltRotationThreshold(double r);
114  static double dfltRotationThreshold();
115  static void setDfltTranslationThreshold(double t);
116  static double dfltTranslationThreshold();
118 
119 
120 protected:
121 
127  const char* name = 0,
128  const DtDDMRegionSet* regionSetToUse = 0);
129 
131  void init();
132 
136  void createGeographicRegion(DtExerciseConn* conn);
137 
140 
143 
147  const char* objectClassNameFromType(const DtEntityType& type);
148 
149 protected:
150 
151  static DtStateRepCreator theStateRepCreator;
152 
153  DtDIGuyObjectPublisher* myDiGuyObjectPub;
154  DtBoost::shared_ptr<DtGeodeticRegion> myGeodeticPublishingRegion;
155 };
156 
158 {
160 }
161 
163 {
165 }
166 
167 #if DT_CANT_USE_STATIC_MEMBER_FCN_AS_DFLT_ARG
168 inline const DtEntityType& gGuiseSameAsType()
169 {
171 }
172 #else
173 #undef gGuiseSameAsType
174 #endif
175 
176 #endif
177 #endif
178 

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)