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 
49  virtual ~DtSimAggregateLocalEntityNetInterface() override;
50 
52  virtual void updateNet() override;
53 
55  virtual bool isUnit() const override { return true; }
56  virtual bool isEntity() const override { return false; }
57  virtual bool isEnvironmental() const override { return false; }
58 
59  virtual bool wantsToCreatePublisher() const override;
60 
62  virtual void forceUpdate() override;
68  virtual void updatePublisher() override;
69 
71  virtual bool createPublisher(const DtEntityIdentifier& id = DtEntityIdentifier::nullId()) override;
72 
74  virtual void destroyPublisher() override;
75 
77  virtual DtObjectPublisher* publisher() override;
78 
88  virtual bool setAggregatePublisher(DtVrfExtAggregatePublisher * publisher);
89 
93  virtual void setupNetworkRepository() override;
94 
97  virtual DtVrfExtAggregatePublisher * aggregatePublisher() const;
98 
101  virtual DtExtAggregateStateRepository * aggregateNetworkState() const;
102 
104  virtual void updateUuid() override;
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 override { return true; }
133 
136  virtual DtString type() const override;
137 
141  virtual void setForceUpdate(bool flag);
142 
143  #if DtHLA
144  virtual RTI::ObjectClassHandle objectClassHandle() const override;
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 #if DtHLA_4
188  rti1516_2025::TransportationTypeHandle myRelaibleTransportationTypeHandle;
189 #endif
190 #endif
191  };
192 }
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
Class Description: DtSimLocalEntityNetInterface Derived from DtSimEntityNetInterface, DtSimLocalEntityNetInterface provides an interface between a local entity and its network (VR-Link) representation. This is an abstract class whose deriving classes will represent different types of entities, such as individual, aggregate, and eventually, environmental.
Definition: simLocalEntityNetInterface.h:45
virtual bool isAggregate() const override
Definition: simAggregateLocalEntityNetInterface.h:132
virtual bool isUnit() const override
This network interface is for entities, in the DIS - HLA/RPR sense.
Definition: simAggregateLocalEntityNetInterface.h:55
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 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:398
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:50
Contains the DtSimLocalEntityNetInterface class declaration.
virtual bool isEnvironmental() const override
Definition: simAggregateLocalEntityNetInterface.h:57
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
const makVrf::DtAggregateStateComponent * myAggregateStateComponent
Definition: simAggregateLocalEntityNetInterface.h:177
virtual bool isEntity() const override
Definition: simAggregateLocalEntityNetInterface.h:56
DtExtAggregateStateRepository class extends the DtExtAggregateBaseStateRepository to be able to handl...
Definition: extAggregateStateRepository.h:26

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)