VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedAggregateListDIS.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 #pragma once
6 
9 #if DtDIS
10 
11 #include "reflectedObjectListDIS.h"
12 #include "reflectedAggregateDIS.h"
13 
16 
21 {
22 
23 public:
24 
27  bool smoothCapable = false, int numBucketsPrimeNumber = 503);
28 
30  virtual ~DtReflectedAggregateList();
31 
32 private:
33 
36  const DtReflectedAggregateList& orig);
37 
40 
41 public:
43  virtual DtReflectedAggregate* lookup(const DtObjectId& id) const;
44 
46  virtual DtReflectedAggregate* first() const;
47  virtual DtReflectedAggregate* last() const;
48 
50  virtual void addAggregateAdditionCallback(
51  DtAggregateCallbackFunction cb, void* userData);
52  virtual void removeAggregateAdditionCallback(
53  DtAggregateCallbackFunction cb, void* userData);
54 
56  virtual void addAggregateRemovalCallback(
57  DtAggregateCallbackFunction cb, void* userData);
58  virtual void removeAggregateRemovalCallback(
59  DtAggregateCallbackFunction cb, void* userData);
60 
62  virtual void print();
63 
66  virtual DtReflectedAggregate* processAggregateState(
67  const DtAggregateStatePdu& pdu);
68 
70  virtual void processRelativeLocationPdu(const DtRelativeLocationPdu& pdu);
71 
72 
73 protected:
74 
76  virtual DtReflectedObject* newReflectedObj(const DtStateMsg& msg);
77 
80 
83  virtual void objectAdded(DtReflectedObject* obj);
84 
86  virtual const DtBaseHashKey&
88 
90  virtual DtReflectedAggregate* newReflectedAggregate(
91  const DtEntityIdentifier& id, const DtEntityType& type) const;
92 
95  virtual void aggregateAdded(DtReflectedAggregate* agg);
96 
97 
98 protected:
99 
101  static void aggregateStateCb(DtAggregateStatePdu* pdu, void* usr);
102 
104  static void relativeLocationCb( DtRelativeLocationPdu* pdu, void* usr );
105 
106 protected:
107 
110 };
111 
112 #endif
Instances of DtEntityIdentifierHashKey are hash keys made from DtEntityIdentifiers.
Definition: entityIdentifierHashKey.h:21
virtual void print() const
Print the SRs of all objects.
Instances of DtReflectedObjectList are lists of instances of classes derived from DtReflectedObject...
Definition: reflectedObjectListDIS.h:38
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual const DtBaseHashKey & hashKeyFromStateMessage(const DtStateMsg *msg)=0
Get a hash key from a state message.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
Instances of this class provide a protocol independent interface to a list of reflected aggregates in...
Definition: reflectedAggregateListDIS.h:20
void(* DtAggregateCallbackFunction)(DtReflectedAggregate *obj, void *userData)
Callback function that takes a DtReflectedAggregate and user data.
Definition: reflectedAggregateDIS.h:29
Instances of this class provide a protocol independent interface to a reflected aggregate in a DIS en...
Definition: reflectedAggregateDIS.h:35
Instances of DtAggregateStatePdu are used to communicate information about aggregating entities...
Definition: aggregateStatePdu.h:36
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
Instances of DtRelativeLocationPdu are used to convey the fact that one unit is located at a position...
Definition: relativeLocationPdu.h:29
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
bool mySmoothCapable
Definition: reflectedAggregateListDIS.h:108
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual DtReflectedObject * newReflectedObj(const DtStateMsg &msg)=0
Create a new object from a state message.
DtEntityIdentifierHashKey myHashKey
Definition: reflectedAggregateListDIS.h:109
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21
virtual DtReflectedObject * processStateMessage(const DtStateMsg &msg)
Process an incoming state message.
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26

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)