ufe  3.2
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
runTimeMgr.h
Go to the documentation of this file.
1 #line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.9-windows/ufe/include/runTimeMgr.h"
2 #ifndef _runTimeMgr
3 #define _runTimeMgr
4 // ===========================================================================
5 // Copyright 2019 Autodesk, Inc. All rights reserved.
6 //
7 // Use of this software is subject to the terms of the Autodesk license
8 // agreement provided at the time of installation or download, or which
9 // otherwise accompanies this software in either electronic or hard copy form.
10 // ===========================================================================
11 
12 #include "attributesHandler.h"
13 #include "contextOpsHandler.h"
14 #include "hierarchyHandler.h"
15 #include "object3dHandler.h"
16 #include "sceneItemOpsHandler.h"
17 #include "sceneSegmentHandler.h"
18 #include "transform3dHandler.h"
19 #include "uiInfoHandler.h"
20 #include "cameraHandler.h"
21 #include "lightHandler.h"
22 #include "pathMappingHandler.h"
23 #include "rtid.h"
24 
25 // Can't forward declare std::list or std::string.
26 #include <list>
27 #include <string>
28 
29 UFE_NS_DEF {
30 
32 
41 {
42 public:
43 
45  static RunTimeMgr& instance();
46 
48  RunTimeMgr(const RunTimeMgr&) = delete;
50  RunTimeMgr& operator=(const RunTimeMgr&) = delete;
51 
52 
77  };
78 
87  Rtid register_(
88  const std::string& rtName,
89  const Handlers& handlers
90  );
96  bool unregister(const Rtid& rtId);
97 
100  std::string getName(const Rtid& rtId) const;
101 
104  Rtid getId(const std::string& rtName) const;
105 
107  bool hasId(const Rtid& rtId) const;
108 
114  void setHierarchyHandler(
115  const Rtid& rtId, const HierarchyHandler::Ptr& hierarchyHandler
116  );
117 
123  void setTransform3dHandler(
124  const Rtid& rtId, const Transform3dHandler::Ptr& transform3dHandler
125  );
126 
132  void setSceneItemOpsHandler(
133  const Rtid& rtId, const SceneItemOpsHandler::Ptr& sceneItemOpsHandler
134  );
135 
141  void setAttributesHandler(
142  const Rtid& rtId, const AttributesHandler::Ptr& attributesHandler
143  );
144 
150  void setObject3dHandler(
151  const Rtid& rtId, const Object3dHandler::Ptr& object3dHandler
152  );
153 
159  void setContextOpsHandler(
160  const Rtid& rtId, const ContextOpsHandler::Ptr& contextOpsHandler
161  );
162 
168  void setUIInfoHandler(
169  const Rtid& rtId, const UIInfoHandler::Ptr& uiInfoHandler
170  );
171 
177  void setCameraHandler(
178  const Rtid& rtId, const CameraHandler::Ptr& cameraHandler
179  );
180 
186  void setLightHandler(
187  const Rtid &rtId, const LightHandler::Ptr &lightHandler);
188 
194  void setPathMappingHandler(
195  const Rtid& rtId, const PathMappingHandler::Ptr& pathMappingHandler
196  );
197 
203  void setSceneSegmentHandler(
204  const Rtid& rtId, const SceneSegmentHandler::Ptr& sceneSegmentHandler
205  );
206 
213  HierarchyHandler::Ptr hierarchyHandler(const Rtid& rtId) const;
214 
221  const HierarchyHandler& hierarchyHandlerRef(const Rtid& rtId) const;
222 
229  Transform3dHandler::Ptr transform3dHandler(const Rtid& rtId) const;
230 
237  SceneItemOpsHandler::Ptr sceneItemOpsHandler(const Rtid& rtId) const;
238 
245  AttributesHandler::Ptr attributesHandler(const Rtid& rtId) const;
246 
253  Object3dHandler::Ptr object3dHandler(const Rtid& rtId) const;
254 
261  ContextOpsHandler::Ptr contextOpsHandler(const Rtid& rtId) const;
262 
269  UIInfoHandler::Ptr uiInfoHandler(const Rtid& rtId) const;
270 
277  CameraHandler::Ptr cameraHandler(const Rtid& rtId) const;
278 
285  LightHandler::Ptr lightHandler(const Rtid &rtId) const;
286 
293  PathMappingHandler::Ptr pathMappingHandler(const Rtid& rtId) const;
294 
295 
303  SceneSegmentHandler::Ptr sceneSegmentHandler(const Rtid& rtId) const;
304 
306  std::list<Rtid> getIds() const;
307 
308 private:
309 
311  RunTimeMgr();
312 };
313 
314 }
315 
316 #endif /* _runTimeMgr */
Factory base class for scene hierarchy interface.
HierarchyHandler::Ptr hierarchyHandler
the Hierarchy interface factory.
Definition: runTimeMgr.h:60
std::shared_ptr< UIInfoHandler > Ptr
Definition: uiInfoHandler.h:72
std::string string(const Path &path)
std::shared_ptr< Transform3dHandler > Ptr
std::shared_ptr< Object3dHandler > Ptr
std::shared_ptr< ContextOpsHandler > Ptr
SceneItemOpsHandler::Ptr sceneItemOpsHandler
the SceneItemOps interface factory.
Definition: runTimeMgr.h:64
ContextOpsHandler::Ptr contextOpsHandler
the ContextOps interface factory.
Definition: runTimeMgr.h:70
AttributesHandler::Ptr attributesHandler
the Attributes interface factory.
Definition: runTimeMgr.h:66
UIInfoHandler::Ptr uiInfoHandler
the UIInfo handler.
Definition: runTimeMgr.h:72
std::shared_ptr< SceneSegmentHandler > Ptr
std::shared_ptr< LightHandler > Ptr
Definition: lightHandler.h:29
uint32_t Rtid
Definition: rtid.h:26
std::shared_ptr< SceneItemOpsHandler > Ptr
#define UFE_NS_DEF
Definition: ufe.h:35
PathMappingHandler::Ptr pathMappingHandler
the path mapping handler.
Definition: runTimeMgr.h:76
std::shared_ptr< HierarchyHandler > Ptr
std::shared_ptr< PathMappingHandler > Ptr
std::shared_ptr< CameraHandler > Ptr
Definition: cameraHandler.h:29
Object3dHandler::Ptr object3dHandler
the Object3d interface factory.
Definition: runTimeMgr.h:68
Transform3dHandler::Ptr transform3dHandler
the Transform3d interface factory.
Definition: runTimeMgr.h:62
std::shared_ptr< AttributesHandler > Ptr
CameraHandler::Ptr cameraHandler
the camera handler.
Definition: runTimeMgr.h:74
#define UFE_SDK_DECL
Definition: ufeExport.h:36
Singleton class to manage UFE runtimes.
Definition: runTimeMgr.h:40