VR-Forces 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) 2025 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <list>
15 
20 {
21 public:
22 
26 
28  virtual ~DtReflectedBulkEnvironmentProcess() override;
29 
33  virtual DtControlObjectRepository *controlObjectStateRep() const override;
34  virtual DtControlObjectRepository *cosr() const override;
36 
38  virtual DtStateRepository *stateRep() const override;
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 
66  void *userData) override;
68  void *userData) override;
70 
73  virtual void addAboutToBeRemovedCallback(DtControlObjectCallbackFunction cb, void* userData);
74  virtual void removeAboutToBeRemovedCallback(DtControlObjectCallbackFunction cb, void* userData);
76 
77  static void postControlObjectUpdateCallback(DtReflectedControlObject* obj, void* userData);
78 
80  virtual void processControlObjectUpdated(DtReflectedControlObject* obj);
81 
84  virtual void updateExtensions() override;
85 
86 private:
87 
88  // not implemented.
91 
92 protected:
93 
95 
96  struct CallbackInfo
97  {
99  void* userData;
100  };
101 
103  {
104  std::shared_ptr<DtControlObjectRepository> stateRep;
105  std::list<CallbackInfo> postUpdateCallbackInfo;
106  std::list<CallbackInfo> aboutToBeRemovedCallbackInfo;
107  };
108 
109  typedef std::map<DtEntityIdentifier, SubObjectInfo> SubObjectMap;
110 
111  std::list<CallbackInfo> myNewSubObjectCallbacks;
113  DtEntityIdentifier myActiveSubObject;
114 
115 };
void * userData
Definition: reflectedBulkEnvironmentProcess.h:99
virtual DtControlObjectRepository * controlObjectStateRep() const
virtual void addPostUpdateCallback(DtControlObjectCallbackFunction cb, void *userData)
std::list< CallbackInfo > aboutToBeRemovedCallbackInfo
Definition: reflectedBulkEnvironmentProcess.h:106
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:96
DtControlObjectCallbackFunction callbackFunction
Definition: reflectedBulkEnvironmentProcess.h:98
void(* DtControlObjectCallbackFunction)(DtReflectedControlObject *obj, void *userData)
Definition: reflectedControlObject.h:20
DtControlObjectRepository class extends the DtControlObjectBaseRepository to be able to handle extend...
Definition: controlObjectRepository.h:27
std::list< CallbackInfo > postUpdateCallbackInfo
Definition: reflectedBulkEnvironmentProcess.h:105
DtReflectedControlObject & operator=(const DtReflectedControlObject &orig)
DtEntityIdentifier myActiveSubObject
Definition: reflectedBulkEnvironmentProcess.h:113
virtual DtStateRepository * stateRep() const override
SubObjectMap mySubObjects
Definition: reflectedBulkEnvironmentProcess.h:112
virtual void removePostUpdateCallback(DtControlObjectCallbackFunction cb, void *userData)
Contains the DtReflectedControlObject class declaration.
Definition: reflectedBulkEnvironmentProcess.h:102
std::map< DtEntityIdentifier, SubObjectInfo > SubObjectMap
Definition: reflectedBulkEnvironmentProcess.h:109
std::shared_ptr< DtControlObjectRepository > stateRep
Definition: reflectedBulkEnvironmentProcess.h:104
DtReflectedControlObject * myReflectedObject
Definition: reflectedBulkEnvironmentProcess.h:94
std::list< CallbackInfo > myNewSubObjectCallbacks
Definition: reflectedBulkEnvironmentProcess.h:111
virtual void updateExtensions()
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
Definition: reflectedControlObject.h:26

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)