VR-Link API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
iffPublisherDIS.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 
10 
11 #ifndef iffPublisherDIS_H_
12 #define iffPublisherDIS_H_
13 
14 #if DtDIS
15 
16 
17 #include "objectPublisherDIS.h"
18 #include "hostStructs.h"
19 #include "iffStateRepository.h"
20 #include "iffStateEncoder.h"
21 #include "iffStateDecoder.h"
22 
23 
25 
26 #ifdef __GNUC__
27 #define DT_CANT_USE_STATIC_MEMBER_FCN_AS_DFLT_ARG 1
28 #endif
29 
30 #if DT_CANT_USE_STATIC_MEMBER_FCN_AS_DFLT_ARG
31 static inline const DtObjectId& iffFindOwnId();
34 #else
35 #define iffFindOwnId() DtIffPublisher::findOwnId()
36 #endif
37 
42 {
43 
44 public:
45 
47  typedef DtIffStateRepository* (*DtStateRepCreator)();
48 
49 public:
50 
53  DtIffStateRepository *stateRepToUse,
54  DtExerciseConn* conn,
55  const DtObjectId& id = iffFindOwnId());
56 
64  DtExerciseConn* conn,
65  DtIffAtcNavaidsSysName systemName, //systemName enum
66  DtEntityIdentifier entityId,
67  DtVector32 relativePosition = DtVector32::zero(),
68  std::vector<DtModeType> enabledModes = { DtMode1, DtMode2, DtMode3A,
70  const char* name = 0);
71 
75  DtExerciseConn* conn,
76  const DtObjectId& id = iffFindOwnId());
77 
81  DtExerciseConn* conn,
83  DtEntityIdentifier entityId,
84  const DtObjectId& id = iffFindOwnId());
85 
88  DtExerciseConn* conn,
89  const DtObjectId& id = iffFindOwnId());
90 
93  DtExerciseConn* conn,
94  const char* name,
95  const DtObjectId& id = iffFindOwnId());
96 
98  virtual ~DtIffPublisher();
99 
100 
102  virtual bool tick();
103 
106  virtual void forceUpdate();
107 
109  virtual DtIffStateRepository* iffStateRep();
110  virtual DtIffStateRepository* isr();
111 
113  virtual const DtObjectId& id() const;
114 
116  virtual const DtObjectId& localId() const;
117 
119  virtual const DtGlobalObjectDesignator& globalId() const;
120 
121 public:
122 
124  static void setStateRepCreator(DtStateRepCreator creator);
125  static DtStateRepCreator stateRepCreator(void);
126 
127  static void setClassDfltTimeThreshold(DtTime threshold);
128 
130  static const DtObjectId& findOwnId();
131 
132 protected:
133 
135  void init(const char* name,
136  const DtEntityIdentifier& id);
137 
139  DtIffPublisher(const DtIffPublisher& orig);
140 
143 protected:
144 
145  DtObjectId myId;
146  DtIffStateDecoder* myIffDecoder;
147  DtIffStateEncoder* myIffEncoder;
148 
149 protected:
150  static DtStateRepCreator theStateRepCreator;
151  static DtTime theClassDfltTimeThreshold;
152  static bool theClassDfltIsSetFlag;
153  char *myName;
154 };
155 
157 {
158  return static_cast<DtIffStateRepository*>(myStateRep);
159 }
160 
161 inline const DtObjectId& DtIffPublisher::localId() const
162 {
163  return id();
164 }
165 
166 #if DT_CANT_USE_STATIC_MEMBER_FCN_AS_DFLT_ARG
167 inline const DtObjectId& iffFindOwnId()
168 {
169  return DtIffPublisher::findOwnId();
170 }
171 #else
172 #undef iffFindOwnId
173 #endif
174 
175 
176 #endif
177 #endif
178 
DtStateRepository * myStateRep
Definition: objectPublisherHLA.h:221
This file declares the DIS version of DtIffStateEncoder.
class DtIffPublisher:
Definition: iffPublisherHLA.h:24
Contains the DtIffStateRepository class declaration.
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
DtString myName
Definition: objectPublisherHLA.h:227
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: disEnums.h:2109
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
DtIffAtcNavaidsSysType
Definition: disEnums.h:2141
static const DtVector32 & zero()
Get a zeroed vector.
Instances of DtObjectPublisher are used for local or source simulations of objects, (i.e.
Definition: objectPublisherHLA.h:34
Definition: disEnums.h:2115
DtIffAtcNavaidsSysName
Definition: disEnums.h:2129
Definition: disEnums.h:2108
virtual bool tick()
Tick (update) this object.
Definition: vlVector.h:162
virtual const DtGlobalObjectDesignator & globalId() const
Get the HLA object&#39;s global object designator - the object name in RTI1.3.3, but the objectId in RTI1...
virtual void forceUpdate()
Specify a set of attributes that should be included in the ahvps the next time tick is called...
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
DtObjectPublisher & operator=(const DtObjectPublisher &orig)
assignment operator – not implemented
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
This class declares the DIS version of DtObjectPublisher.
Definition: disEnums.h:2112
DtObjectId instances are used to represent RTI::ObjectInstances in VR-Link.
Definition: objectId.h:38
This file declares the DIS version of DtIffStateDecoder.
Definition: disEnums.h:2106
DtReal DtTime
A definition of DtTime.
Definition: vlTime.h:19
Instances of DtString are used to represent strings.
Definition: vlString.h:36
virtual const DtObjectId & id() const
Get the object&#39;s local identifier.
Definition: disEnums.h:2111
Definition: disEnums.h:2107
virtual DtIffStateRepository * isr()
Synonym for iffStateRep()
Definition: iffPublisherHLA.h:159
void init(RTI::ObjectClassHandle hand, DtStateRepository *stateRep, DtStateRepository *asSeenByRemote, DtHlaStateEncoder *encoder=0, DtHlaStateDecoder *decoder=0)
virtual const DtObjectId & localId() const
Get the object&#39;s local identifier.
Definition: objectPublisherHLA.h:277

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)