ufe  2.0
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/ufe-full-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 "transform3dHandler.h"
18 #include "uiInfoHandler.h"
19 #include "cameraHandler.h"
20 #include "rtid.h"
21 
22 // Can't forward declare std::list or std::string.
23 #include <list>
24 #include <string>
25 
26 UFE_NS_DEF {
27 
29 
38 {
39 public:
40 
42  static RunTimeMgr& instance();
43 
45  RunTimeMgr(const RunTimeMgr&) = delete;
47  RunTimeMgr& operator=(const RunTimeMgr&) = delete;
48 
49 
72  };
73 
82  Rtid register_(
83  const std::string& rtName,
84  const Handlers& handlers
85  );
91  bool unregister(const Rtid& rtId);
92 
95  std::string getName(const Rtid& rtId) const;
96 
99  Rtid getId(const std::string& rtName) const;
100 
102  bool hasId(const Rtid& rtId) const;
103 
109  void setHierarchyHandler(
110  const Rtid& rtId, const HierarchyHandler::Ptr& hierarchyHandler
111  );
112 
118  void setTransform3dHandler(
119  const Rtid& rtId, const Transform3dHandler::Ptr& transform3dHandler
120  );
121 
127  void setSceneItemOpsHandler(
128  const Rtid& rtId, const SceneItemOpsHandler::Ptr& sceneItemOpsHandler
129  );
130 
136  void setAttributesHandler(
137  const Rtid& rtId, const AttributesHandler::Ptr& attributesHandler
138  );
139 
145  void setObject3dHandler(
146  const Rtid& rtId, const Object3dHandler::Ptr& object3dHandler
147  );
148 
154  void setContextOpsHandler(
155  const Rtid& rtId, const ContextOpsHandler::Ptr& contextOpsHandler
156  );
157 
163  void setUIInfoHandler(
164  const Rtid& rtId, const UIInfoHandler::Ptr& uiInfoHandler
165  );
166 
172  void setCameraHandler(
173  const Rtid& rtId, const CameraHandler::Ptr& cameraHandler
174  );
175 
182  HierarchyHandler::Ptr hierarchyHandler(const Rtid& rtId) const;
183 
190  const HierarchyHandler& hierarchyHandlerRef(const Rtid& rtId) const;
191 
198  Transform3dHandler::Ptr transform3dHandler(const Rtid& rtId) const;
199 
206  SceneItemOpsHandler::Ptr sceneItemOpsHandler(const Rtid& rtId) const;
207 
214  AttributesHandler::Ptr attributesHandler(const Rtid& rtId) const;
215 
222  Object3dHandler::Ptr object3dHandler(const Rtid& rtId) const;
223 
230  ContextOpsHandler::Ptr contextOpsHandler(const Rtid& rtId) const;
231 
238  UIInfoHandler::Ptr uiInfoHandler(const Rtid& rtId) const;
239 
246  CameraHandler::Ptr cameraHandler(const Rtid& rtId) const;
247 
249  std::list<Rtid> getIds() const;
250 
251 private:
252 
254  RunTimeMgr();
255 };
256 
257 }
258 
259 #endif /* _runTimeMgr */
Factory base class for scene hierarchy interface.
HierarchyHandler::Ptr hierarchyHandler
the Hierarchy interface factory.
Definition: runTimeMgr.h:57
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:61
ContextOpsHandler::Ptr contextOpsHandler
the ContextOps interface factory.
Definition: runTimeMgr.h:67
AttributesHandler::Ptr attributesHandler
the Attributes interface factory.
Definition: runTimeMgr.h:63
UIInfoHandler::Ptr uiInfoHandler
the UIInfo handler.
Definition: runTimeMgr.h:69
uint32_t Rtid
Definition: rtid.h:26
std::shared_ptr< SceneItemOpsHandler > Ptr
#define UFE_NS_DEF
Definition: ufe.h:35
std::shared_ptr< HierarchyHandler > Ptr
std::shared_ptr< CameraHandler > Ptr
Definition: cameraHandler.h:29
Object3dHandler::Ptr object3dHandler
the Object3d interface factory.
Definition: runTimeMgr.h:65
Transform3dHandler::Ptr transform3dHandler
the Transform3d interface factory.
Definition: runTimeMgr.h:59
std::shared_ptr< AttributesHandler > Ptr
CameraHandler::Ptr cameraHandler
the camera handler.
Definition: runTimeMgr.h:71
#define UFE_SDK_DECL
Definition: ufeExport.h:36
Singleton class to manage UFE run-times.
Definition: runTimeMgr.h:37