ufe  4.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.10-windows/ufe/include/runTimeMgr.h"
2 #ifndef _runTimeMgr
3 #define _runTimeMgr
4 // ===========================================================================
5 // Copyright 2022 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 "connectionHandler.h"
14 #include "contextOpsHandler.h"
15 #include "hierarchyHandler.h"
16 #include "object3dHandler.h"
17 #include "materialHandler.h"
18 #include "sceneItemOpsHandler.h"
19 #include "sceneSegmentHandler.h"
20 #include "transform3dHandler.h"
21 #include "uiInfoHandler.h"
22 #include "cameraHandler.h"
23 #include "lightHandler.h"
24 #include "pathMappingHandler.h"
25 #include "nodeDefHandler.h"
26 #include "uiNodeGraphNodeHandler.h"
27 #include "batchOpsHandler.h"
28 #include "rtid.h"
29 
30 // Can't forward declare std::list or std::string.
31 #include <list>
32 #include <string>
33 
34 UFE_NS_DEF {
35 
37 
46 {
47 public:
48 
50  static RunTimeMgr& instance();
51 
53  RunTimeMgr(const RunTimeMgr&) = delete;
55  RunTimeMgr& operator=(const RunTimeMgr&) = delete;
56 
57 
96  };
97 
106  Rtid register_(
107  const std::string& rtName,
108  const Handlers& handlers
109  );
115  bool unregister(const Rtid& rtId);
116 
119  std::string getName(const Rtid& rtId) const;
120 
123  Rtid getId(const std::string& rtName) const;
124 
126  bool hasId(const Rtid& rtId) const;
127 
133  void setHierarchyHandler(
134  const Rtid& rtId, const HierarchyHandler::Ptr& hierarchyHandler
135  );
136 
142  void setTransform3dHandler(
143  const Rtid& rtId, const Transform3dHandler::Ptr& transform3dHandler
144  );
145 
151  void setSceneItemOpsHandler(
152  const Rtid& rtId, const SceneItemOpsHandler::Ptr& sceneItemOpsHandler
153  );
154 
160  void setAttributesHandler(
161  const Rtid& rtId, const AttributesHandler::Ptr& attributesHandler
162  );
163 
169  void setConnectionHandler(
170  const Rtid& rtId, const ConnectionHandler::Ptr& connectionHandler
171  );
172 
178  void setUINodeGraphNodeHandler(
179  const Rtid& rtId, const UINodeGraphNodeHandler::Ptr& uiNodeGraphNodeHandler
180  );
181 
187  void setObject3dHandler(
188  const Rtid& rtId, const Object3dHandler::Ptr& object3dHandler
189  );
190 
196  void setMaterialHandler(
197  const Rtid& rtId, const MaterialHandler::Ptr& materialHandler
198  );
199 
205  void setContextOpsHandler(
206  const Rtid& rtId, const ContextOpsHandler::Ptr& contextOpsHandler
207  );
208 
214  void setUIInfoHandler(
215  const Rtid& rtId, const UIInfoHandler::Ptr& uiInfoHandler
216  );
217 
223  void setCameraHandler(
224  const Rtid& rtId, const CameraHandler::Ptr& cameraHandler
225  );
226 
232  void setLightHandler(
233  const Rtid &rtId, const LightHandler::Ptr &lightHandler);
234 
240  void setPathMappingHandler(
241  const Rtid& rtId, const PathMappingHandler::Ptr& pathMappingHandler
242  );
243 
249  void setNodeDefHandler(
250  const Rtid& rtId, const NodeDefHandler::Ptr& nodeDefHandler
251  );
252 
258  void setSceneSegmentHandler(
259  const Rtid& rtId, const SceneSegmentHandler::Ptr& sceneSegmentHandler
260  );
261 
267  void setBatchOpsHandler(
268  const Rtid& rtId, const BatchOpsHandler::Ptr& batchOpsHandler
269  );
270 
277  HierarchyHandler::Ptr hierarchyHandler(const Rtid& rtId) const;
278 
285  const HierarchyHandler& hierarchyHandlerRef(const Rtid& rtId) const;
286 
293  Transform3dHandler::Ptr transform3dHandler(const Rtid& rtId) const;
294 
301  SceneItemOpsHandler::Ptr sceneItemOpsHandler(const Rtid& rtId) const;
302 
309  AttributesHandler::Ptr attributesHandler(const Rtid& rtId) const;
310 
317  ConnectionHandler::Ptr connectionHandler(const Rtid& rtId) const;
318 
325  UINodeGraphNodeHandler::Ptr uiNodeGraphNodeHandler(const Rtid& rtId) const;
326 
333  Object3dHandler::Ptr object3dHandler(const Rtid& rtId) const;
334 
341  MaterialHandler::Ptr materialHandler(const Rtid& rtId) const;
342 
349  ContextOpsHandler::Ptr contextOpsHandler(const Rtid& rtId) const;
350 
357  UIInfoHandler::Ptr uiInfoHandler(const Rtid& rtId) const;
358 
365  CameraHandler::Ptr cameraHandler(const Rtid& rtId) const;
366 
373  LightHandler::Ptr lightHandler(const Rtid &rtId) const;
374 
381  PathMappingHandler::Ptr pathMappingHandler(const Rtid& rtId) const;
382 
390  NodeDefHandler::Ptr nodeDefHandler(const Rtid& rtId) const;
391 
399  SceneSegmentHandler::Ptr sceneSegmentHandler(const Rtid& rtId) const;
400 
407  BatchOpsHandler::Ptr batchOpsHandler(const Rtid& rtId) const;
408 
409 
411  std::list<Rtid> getIds() const;
412 
413 private:
414 
416  RunTimeMgr();
417 };
418 
419 }
420 
421 #endif /* _runTimeMgr */
Factory base class for scene hierarchy interface.
HierarchyHandler::Ptr hierarchyHandler
the Hierarchy interface factory.
Definition: runTimeMgr.h:65
std::shared_ptr< UIInfoHandler > Ptr
Definition: uiInfoHandler.h:72
UINodeGraphNodeHandler::Ptr uiNodeGraphNodeHandler
the UINodeGraphNode interface factory.
Definition: runTimeMgr.h:93
std::string string(const Path &path)
std::shared_ptr< Transform3dHandler > Ptr
std::shared_ptr< Object3dHandler > Ptr
MaterialHandler::Ptr materialHandler
the Material interface factory.
Definition: runTimeMgr.h:75
BatchOpsHandler::Ptr batchOpsHandler
the BatchOps handler.
Definition: runTimeMgr.h:95
std::shared_ptr< ContextOpsHandler > Ptr
SceneItemOpsHandler::Ptr sceneItemOpsHandler
the SceneItemOps interface factory.
Definition: runTimeMgr.h:69
SceneSegmentHandler::Ptr sceneSegmentHandler
the scene segment handler
Definition: runTimeMgr.h:89
ContextOpsHandler::Ptr contextOpsHandler
the ContextOps interface factory.
Definition: runTimeMgr.h:77
AttributesHandler::Ptr attributesHandler
the Attributes interface factory.
Definition: runTimeMgr.h:71
UIInfoHandler::Ptr uiInfoHandler
the UIInfo handler.
Definition: runTimeMgr.h:79
std::shared_ptr< SceneSegmentHandler > Ptr
std::shared_ptr< LightHandler > Ptr
Definition: lightHandler.h:29
std::shared_ptr< NodeDefHandler > Ptr
std::shared_ptr< MaterialHandler > Ptr
uint32_t Rtid
Definition: rtid.h:26
std::shared_ptr< SceneItemOpsHandler > Ptr
ConnectionHandler::Ptr connectionHandler
the Connections interface factory.
Definition: runTimeMgr.h:91
#define UFE_NS_DEF
Definition: ufe.h:35
PathMappingHandler::Ptr pathMappingHandler
the path mapping handler.
Definition: runTimeMgr.h:85
LightHandler::Ptr lightHandler
the light handler.
Definition: runTimeMgr.h:83
std::shared_ptr< HierarchyHandler > Ptr
std::shared_ptr< PathMappingHandler > Ptr
std::shared_ptr< CameraHandler > Ptr
Definition: cameraHandler.h:30
std::shared_ptr< ConnectionHandler > Ptr
Object3dHandler::Ptr object3dHandler
the Object3d interface factory.
Definition: runTimeMgr.h:73
Transform3dHandler::Ptr transform3dHandler
the Transform3d interface factory.
Definition: runTimeMgr.h:67
std::shared_ptr< AttributesHandler > Ptr
CameraHandler::Ptr cameraHandler
the camera handler.
Definition: runTimeMgr.h:81
std::shared_ptr< BatchOpsHandler > Ptr
std::shared_ptr< UINodeGraphNodeHandler > Ptr
NodeDefHandler::Ptr nodeDefHandler
the node definition handler.
Definition: runTimeMgr.h:87
#define UFE_SDK_DECL
Definition: ufeExport.h:36
Singleton class to manage UFE runtimes.
Definition: runTimeMgr.h:45