VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simAggregateLocalEntityNetInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <vl/variableDatumRecord.h>
16 
19 
22 namespace makVrf
23 {
24  class DtAggregateStateComponent;
25  class DtSubordinateManagerStateComponent;
26 
28  {
29  private:
30 
33 
37 
39  const DtSimAggregateLocalEntityNetInterface & operator=(const
41 
42  public:
43 
46  bool publishObject = true);
47 
50 
52  virtual void updateNet();
53 
55  virtual bool isUnit() const { return true; }
56  virtual bool isEntity() const { return false; }
57  virtual bool isEnvironmental() const {return false; }
58 
59  virtual bool wantsToCreatePublisher() const;
60 
62  virtual void forceUpdate();
68  virtual void updatePublisher();
69 
71  virtual bool createPublisher(const DtEntityIdentifier& id = DtEntityIdentifier::nullId());
72 
74  virtual void destroyPublisher();
75 
77  virtual DtObjectPublisher* publisher();
78 
88  virtual bool setAggregatePublisher(DtVrfExtAggregatePublisher * publisher);
89 
93  virtual void setupNetworkRepository();
94 
97  virtual DtVrfExtAggregatePublisher * aggregatePublisher() const;
98 
101  virtual DtExtAggregateStateRepository * aggregateNetworkState() const;
102 
104  virtual void updateUuid();
105 
109  virtual bool setUserVariableDatum( int userRecordNumber,
110  const DtVariableDatumRecord& record);
111 
113  virtual bool getUserVariableDatum( int userRecordNumber,
114  DtVariableDatumRecord& rec);
115 
118  virtual bool encodeVariableDatum();
119 
125  virtual bool isANetSubordinate(const DtGlobalObjectDesignator&
126  globalId);
127 
130  virtual bool isPseudoAggregate() const { return false; }
131 
132  virtual bool isAggregate() const { return true; }
133 
136  virtual DtString type() const;
137 
141  virtual void setForceUpdate(bool flag);
142 
143  #if DtHLA
144  virtual RTI::ObjectClassHandle objectClassHandle() const;
146  #endif
147 
152  isAggregateLocalEntityNetInterface(const DtSimObjectNetInterface *
153  objNetInterface);
154 
155  static DtSimObjectNetInterface * creator(DtStateData* vrfObject, DtVrlinkNetworkInterface*,
156  bool publishObject);
157 
161  static void SetProfilePdus(bool onOf, double pduTimeCheck = 1.0, int numberOfPacketsOverTime = 0);
162 
163  protected:
165  virtual bool updateVrfDataAsSeenByRemote();
166  virtual const makVrf::DtAggregateStateComponent* aggregateStateComponent();
167  virtual const makVrf::DtSubordinateManagerStateComponent* subordinateManagerStateComponent();
168  virtual void firstTimeInitialize();
169 
170  protected:
171 
173 
176 
180 
181  int myNumberOfPdusSent = 0;
182  double myFirstTimePduSent = 0;
183 
184 #if DtHLA
185  int myNumberOfAttributesPdusSent = 0;
186  double myFirstTimeAttributePduSent = 0;
187 #endif
188  };
189 }
This class extends DtVrfAggregatePublisher to support the publishing of VR-Forces state properties as...
Definition: vrfExtAggregatePublisher.h:15
bool myForceUpdate
Definition: simAggregateLocalEntityNetInterface.h:175
Definition: simAggregateLocalEntityNetInterface.h:27
Definition: simLocalEntityNetInterface.h:48
DtVrfExtAggregatePublisher * myAggregatePublisher
Definition: simAggregateLocalEntityNetInterface.h:172
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: aggregateStateComponent.h:54
bool myFirstTimeInitialize
Definition: simAggregateLocalEntityNetInterface.h:179
const makVrf::DtSubordinateManagerStateComponent * mySubordinateManagerStateComponent
Definition: simAggregateLocalEntityNetInterface.h:178
virtual bool isEntity() const
Definition: simAggregateLocalEntityNetInterface.h:56
virtual bool isPseudoAggregate() const
Returns true if this interface supports a pseudo-aggregate entity, false otherwise (true aggregate)...
Definition: simAggregateLocalEntityNetInterface.h:130
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:339
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:50
virtual bool isEnvironmental() const
Definition: simAggregateLocalEntityNetInterface.h:57
virtual bool isAggregate() const
Definition: simAggregateLocalEntityNetInterface.h:132
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: subordinateManagerStateComponent.h:116
bool myFirstPause
Definition: simAggregateLocalEntityNetInterface.h:174
virtual bool isUnit() const
This network interface is for entities, in the DIS - HLA/RPR sense.
Definition: simAggregateLocalEntityNetInterface.h:55
const makVrf::DtAggregateStateComponent * myAggregateStateComponent
Definition: simAggregateLocalEntityNetInterface.h:177
DtExtAggregateStateRepository class extends the DtExtAggregateBaseStateRepository to be able to handl...
Definition: extAggregateStateRepository.h:26

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)