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

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)