VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedExtAggregateList.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vl/reflectedAggregateList.h>
15 #include <vl/dataInteraction.h>
16 
17 // class DtReflectedExtAggregateList:
18 // Instances of DtReflectedExtAggregateList manage the list of
19 // remote environmental processes in the exercise.
21 {
22 
23 public:
24 
25  // Constructor - obtains the set of object classes to subscribe
26  // to from the exConn's fomMapper.
27  DtReflectedExtAggregateList(DtExerciseConn* exConn);
28  DtReflectedExtAggregateList(DtExerciseConn* exConn, bool smoothCapable);
29 
30 #if DtHLA
31 
32 
33  DtReflectedExtAggregateList(DtExerciseConn* exConn,
34  const DtDDMRegionSet* regionSetToUse);
35 
38  DtReflectedExtAggregateList(DtExerciseConn* exConn,
39  const DtList *handleList, const DtDDMRegionSet* regionSetToUse = 0);
40 
41 #endif
42 
43  // destructor
44  virtual ~DtReflectedExtAggregateList();
45 
46 #if DtHLA
47 #if DtHLA_1516
48  virtual DtReflectedExtAggregate* lookupEA ( RTI::ObjectInstanceHandle id);
49 #else
50  virtual DtReflectedExtAggregate* lookupEA ( RTI::ObjectHandle id);
51 #endif
52 
53  // Look up environmental process by name.
54  virtual DtReflectedExtAggregate* lookupEA (
55  const DtGlobalObjectDesignator& objName);
56 #elif (DtDIS || DtTENA)
57  // Look up environmental process by identifier.
58  virtual DtReflectedExtAggregate* lookup(const DtObjectId& id);
59 #endif
60 
61  // Get the first/last environmental process in the list.
62  virtual DtReflectedExtAggregate* firstEA() const;
63  virtual DtReflectedExtAggregate* lastEA() const;
64 
65  // Environmental process added callback registration/deregistration.
66  virtual void addAggregateAdditionCallback
67  (
68  DtExtAggregateCallbackFunction cb, void* userData
69  );
70  virtual void removeAggregateAdditionCallback
71  (
72  DtExtAggregateCallbackFunction cb, void* userData
73  );
74 
75  // Environmental process removed callback registration/deregistration.
76  virtual void addAggregateRemovalCallback
77  (
78  DtExtAggregateCallbackFunction cb, void* userData
79  );
80  virtual void removeAggregateRemovalCallback
81  (
82  DtExtAggregateCallbackFunction cb, void* userData
83  );
84 
85 private:
86 
87  // copy constructor
89  (
90  const DtReflectedExtAggregateList& orig
91  );
92 
93  // assignment operator
95  (
97  );
98 
99 protected:
100 
101  static void dataInteractionCallback(DtDataInteraction* i, void* usr);
102 
103  virtual void processDataInteraction(DtDataInteraction* i);
104 
105 #if DtHLA
106  virtual DtReflectedObject* newReflectedObject(DtHlaObject* obj) const;
107 #elif DtDIS
108  // Create a new reflected control object.
109  virtual DtReflectedAggregate* newReflectedAggregate
110  (
111  const DtEntityIdentifier& id,
112  const DtEntityType& type
113  ) const;
114  virtual DtReflectedAggregate* processAggregateState(const DtAggregateStatePdu& pdu);
115  virtual void finalPduIsSetAction(DtReflectedAggregate* aggregate);
116 #elif DtTENA
117  // Create a new reflected control object.
118  virtual DtReflectedAggregate* newReflectedAggregate
119  (
120  const DtEntityIdentifier& id,
121  const DtEntityType& type
122  ) const;
123 #endif
124 
125 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)