VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedBulkEnvironmentProcess.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2015 MaK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
14 
15 #include <list>
16 
21 {
22 public:
23 
27 
30 
35  virtual DtControlObjectRepository* cosr() const;
37 
39  virtual DtStateRepository* stateRep() const;
40 
42  const DtReflectedControlObject* reflectedControlObject() const;
43 
45  virtual unsigned numberOfSubObjects() const;
46 
49  virtual void setActiveSubObject(const DtEntityIdentifier& entityId);
50 
52  virtual void resetActiveSubObject();
53 
56  virtual bool incrementActiveSubObject();
57 
60  virtual void addNewSubObjectCallback(DtControlObjectCallbackFunction cb, void* userData);
61  virtual void removeNewSubObjectCallback(DtControlObjectCallbackFunction cb, void* userData);
63 
66  virtual void addPostUpdateCallback(DtControlObjectCallbackFunction cb, void* userData);
67  virtual void removePostUpdateCallback(DtControlObjectCallbackFunction cb, void* userData);
69 
72  virtual void addAboutToBeRemovedCallback(DtControlObjectCallbackFunction cb, void* userData);
73  virtual void removeAboutToBeRemovedCallback(DtControlObjectCallbackFunction cb, void* userData);
75 
76  static void postControlObjectUpdateCallback(DtReflectedControlObject* obj, void* userData);
77 
79  virtual void processControlObjectUpdated(DtReflectedControlObject* obj);
80 
83  virtual void updateExtensions();
84 
85 private:
86  // not implemented.
89 
90 protected:
91 
93 
94  struct CallbackInfo
95  {
97  void* userData;
98  };
99 
101  {
102  DtBoost::shared_ptr<DtControlObjectRepository> stateRep;
103  std::list<CallbackInfo> postUpdateCallbackInfo;
104  std::list<CallbackInfo> aboutToBeRemovedCallbackInfo;
105  };
106 
107  typedef std::map<DtEntityIdentifier, SubObjectInfo> SubObjectMap;
108 
109  std::list<CallbackInfo> myNewSubObjectCallbacks;
111  DtEntityIdentifier myActiveSubObject;
112 };
113 
114 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)