VR-Forces 5.0.1 Developer's Guide
 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 };
void * userData
Definition: reflectedBulkEnvironmentProcess.h:97
virtual DtControlObjectRepository * controlObjectStateRep() const
virtual void addPostUpdateCallback(DtControlObjectCallbackFunction cb, void *userData)
std::list< CallbackInfo > aboutToBeRemovedCallbackInfo
Definition: reflectedBulkEnvironmentProcess.h:104
A reflected object which wraps another reflected object to allow a bulk environment process to be pro...
Definition: reflectedBulkEnvironmentProcess.h:19
virtual DtControlObjectRepository * cosr() const
Definition: reflectedBulkEnvironmentProcess.h:94
DtControlObjectCallbackFunction callbackFunction
Definition: reflectedBulkEnvironmentProcess.h:96
void(* DtControlObjectCallbackFunction)(DtReflectedControlObject *obj, void *userData)
Definition: reflectedControlObject.h:20
DtBoost::shared_ptr< DtControlObjectRepository > stateRep
Definition: reflectedBulkEnvironmentProcess.h:102
DtControlObjectRepository class extends the DtControlObjectBaseRepository to be able to handle extend...
Definition: controlObjectRepository.h:27
std::list< CallbackInfo > postUpdateCallbackInfo
Definition: reflectedBulkEnvironmentProcess.h:103
DtReflectedControlObject & operator=(const DtReflectedControlObject &orig)
DtEntityIdentifier myActiveSubObject
Definition: reflectedBulkEnvironmentProcess.h:111
SubObjectMap mySubObjects
Definition: reflectedBulkEnvironmentProcess.h:110
virtual void removePostUpdateCallback(DtControlObjectCallbackFunction cb, void *userData)
Contains the DtReflectedControlObject class declaration.
Definition: reflectedBulkEnvironmentProcess.h:100
std::map< DtEntityIdentifier, SubObjectInfo > SubObjectMap
Definition: reflectedBulkEnvironmentProcess.h:107
virtual DtStateRepository * stateRep() const
DtReflectedControlObject * myReflectedObject
Definition: reflectedBulkEnvironmentProcess.h:92
std::list< CallbackInfo > myNewSubObjectCallbacks
Definition: reflectedBulkEnvironmentProcess.h:109
virtual void updateExtensions()
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
Definition: reflectedControlObject.h:26

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)