VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedBulkEnvironmentProcess.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 
14 #include <list>
15 
20 {
21 public:
22 
26 
29 
34  virtual DtControlObjectRepository* cosr() const;
36 
38  virtual DtStateRepository* stateRep() const;
39 
41  const DtReflectedControlObject* reflectedControlObject() const;
42 
44  virtual unsigned numberOfSubObjects() const;
45 
48  virtual void setActiveSubObject(const DtEntityIdentifier& entityId);
49 
51  virtual void resetActiveSubObject();
52 
55  virtual bool incrementActiveSubObject();
56 
59  virtual void addNewSubObjectCallback(DtControlObjectCallbackFunction cb, void* userData);
60  virtual void removeNewSubObjectCallback(DtControlObjectCallbackFunction cb, void* userData);
62 
65  virtual void addPostUpdateCallback(DtControlObjectCallbackFunction cb, void* userData);
66  virtual void removePostUpdateCallback(DtControlObjectCallbackFunction cb, void* userData);
68 
71  virtual void addAboutToBeRemovedCallback(DtControlObjectCallbackFunction cb, void* userData);
72  virtual void removeAboutToBeRemovedCallback(DtControlObjectCallbackFunction cb, void* userData);
74 
75  static void postControlObjectUpdateCallback(DtReflectedControlObject* obj, void* userData);
76 
78  virtual void processControlObjectUpdated(DtReflectedControlObject* obj);
79 
82  virtual void updateExtensions();
83 
84 private:
85 
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 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)