VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedExtEmitterSystemList.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/reflectedEmitterSystemList.h>
14 #include <map>
15 
17 class DtReflectedEntity;
18 
19 // class DtReflectedExtEmitterSystemList:
20 // Instances of DtReflectedExtEntityList manage the list of
21 // remote emitters in the exercise. In DIS only it will remove
22 // an emitter once the associated entity that it was attached to
23 // is deleted. In HLA this class will simply use the base class
25 {
26 public:
27 
28  // Constructor - obtains the set of object classes to subscribe
29  // to from the exConn's fomMapper.
30  DtReflectedExtEmitterSystemList(DtExerciseConn* exConn);
31 
32 #if DtHLA
33  DtReflectedExtEmitterSystemList(DtExerciseConn* exConn, const DtDDMRegionSet* regionSetToUse);
34 
37  DtReflectedExtEmitterSystemList(DtExerciseConn* exConn,
38  const DtList *handleList, const DtDDMRegionSet* regionSetToUse = 0);
39 #endif
40 
41  // destructor
43 
44  // This routine will set the reflected entity list and also
45  // attach a callback to be triggerd any time an entity is deleted
46  virtual void setReflectedEntityList(DtReflectedEntityList* l);
47 
48  // This function receives entityRemovalCallback from the reflected
49  // entity list, then calls entityRemoval. It also removes the
50  // entityPostUpdateCallback from the reflected entity.
51  static void entityRemovalCallback(DtReflectedEntity* e, void* usr);
52 
53 #if !DtTENA
54  // If there is an emitter in the list that is attached to this entity,
55  // remove it
56  virtual void processEntityRemoval(DtReflectedEntity* e);
57 #endif
58 
59 #ifdef DtHLA
60  virtual void processEmitterBeamRemoval(DtReflectedEmitterBeam* beam);
61  virtual void processEmitterBeamAddition(DtReflectedEmitterBeam* beam);
62 
63  virtual bool removeObject(const DtObjectId& id);
64 #endif
65 
66 private:
67 
68  // not implemented
71 
72 protected:
73 
74  typedef struct _DtBeamIdStruct
75  {
78  }
80 
81  typedef std::map<int, DtBeamIdStruct> DtBeamIdMap;
82 
83 protected:
84 
87 
88 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)