VR-Link API Documentation for HLA 1.3
 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-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 #pragma once
6 
9 #if DtDIS
10 
11 #include "reflectedObjectListDIS.h"
12 #include "reflectedAggregateDIS.h"
13 
15 class DtRelativeLocationPdu;
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 
79  virtual DtReflectedObject* processStateMessage(const DtStateMsg& msg);
80 
83  virtual void objectAdded(DtReflectedObject* obj);
84 
86  virtual const DtBaseHashKey&
87  hashKeyFromStateMessage(const DtStateMsg* msg);
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 
108  bool mySmoothCapable;
109  DtEntityIdentifierHashKey myHashKey;
110 };
111 
112 #endif
Instances of DtEntityIdentifierHashKey are hash keys made from DtEntityIdentifiers.
Definition: entityIdentifierHashKey.h:21
class DtReflectedObjectList
Definition: reflectedObjectListHLA.h:58
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:60
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
class DtReflectedAggregateList:
Definition: reflectedAggregateListHLA.h:25
class DtReflectedAggregate:
Definition: reflectedAggregateHLA.h:32
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
class DtReflectedObject:
Definition: reflectedObjectHLA.h:36
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual void objectAdded(DtReflectedObject *object)
Called from processDiscoverObject() after a remote object has been added to the list.
DtObjectId instances are used to represent RTI::ObjectInstances in VR-Link.
Definition: objectId.h:38
void(* DtAggregateCallbackFunction)(DtReflectedAggregate *obj, void *userData)
Definition: reflectedAggregateHLA.h:23
class DtStateMsg:
Definition: stateMsgHLA.h:32
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
virtual void print()
Print the SRs of all objects.

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)