ufe 6.5
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 "D:/Jenkins/workspace/EMS/ECG/ufe/full/ufe-full-python3.11-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"
15#include "contextOpsHandler.h"
16#include "hierarchyHandler.h"
17#include "object3dHandler.h"
18#include "materialHandler.h"
19#include "sceneItemOpsHandler.h"
20#include "sceneSegmentHandler.h"
21#include "transform3dHandler.h"
22#include "uiInfoHandler.h"
23#include "cameraHandler.h"
24#include "lightHandler.h"
25#include "light2Handler.h"
26#include "pathMappingHandler.h"
27#include "nodeDefHandler.h"
29#include "batchOpsHandler.h"
30#include "clipboardHandler.h"
31#include "handlerInterface.h"
32#include "rtid.h"
33
34// Can't forward declare std::list or std::string.
35#include <list>
36#include <string>
37
39
41
50{
51public:
52
55
57 RunTimeMgr(const RunTimeMgr&) = delete;
59 RunTimeMgr& operator=(const RunTimeMgr&) = delete;
60
61
102 };
103
113 const std::string& rtName,
114 const Handlers& handlers
115 );
121 bool unregister(const Rtid& rtId);
122
125 std::string getName(const Rtid& rtId) const;
126
129 Rtid getId(const std::string& rtName) const;
130
132 bool hasId(const Rtid& rtId) const;
133
140 const Rtid& rtId, const HierarchyHandler::Ptr& hierarchyHandler
141 );
142
149 const Rtid& rtId, const Transform3dHandler::Ptr& transform3dHandler
150 );
151
158 const Rtid& rtId, const SceneItemOpsHandler::Ptr& sceneItemOpsHandler
159 );
160
167 const Rtid& rtId, const AttributesHandler::Ptr& attributesHandler
168 );
169
176 const Rtid& rtId, const ConnectionHandler::Ptr& connectionHandler
177 );
178
185 const Rtid& rtId, const UINodeGraphNodeHandler::Ptr& uiNodeGraphNodeHandler
186 );
187
194 const Rtid& rtId, const Object3dHandler::Ptr& object3dHandler
195 );
196
203 const Rtid& rtId, const MaterialHandler::Ptr& materialHandler
204 );
205
212 const Rtid& rtId, const ContextOpsHandler::Ptr& contextOpsHandler
213 );
214
221 const Rtid& rtId, const UIInfoHandler::Ptr& uiInfoHandler
222 );
223
230 const Rtid& rtId, const CameraHandler::Ptr& cameraHandler
231 );
232
239 const Rtid &rtId, const LightHandler::Ptr &lightHandler);
240
247 const Rtid& rtId, const Light2Handler::Ptr& light2Handler);
248
255 const Rtid& rtId, const PathMappingHandler::Ptr& pathMappingHandler
256 );
257
264 const Rtid& rtId, const NodeDefHandler::Ptr& nodeDefHandler
265 );
266
273 const Rtid& rtId, const SceneSegmentHandler::Ptr& sceneSegmentHandler
274 );
275
282 const Rtid& rtId, const BatchOpsHandler::Ptr& batchOpsHandler
283 );
284
291 const Rtid& rtId, const ClipboardHandler::Ptr& clipboardHandler
292 );
293
300 const Rtid& rtId, const ColorManagementHandler::Ptr& colorManagementHandler
301 );
302
310
317 const HierarchyHandler& hierarchyHandlerRef(const Rtid& rtId) const;
318
326
334
342
350
358
366
374
382
390
398
406
414
422
431
440
448
456
464
466 std::list<Rtid> getIds() const;
467
474 void registerHandler(const Ufe::Rtid& rtId,
475 const std::string& handlerId,
476 const HandlerInterface::Ptr& handler);
477
483 void unregisterHandler(const Ufe::Rtid& rtId, const std::string& handlerId);
484
491 template <typename T> std::shared_ptr<T> handler(const Ufe::Rtid& rtId)
492 {
493 static_assert(std::is_base_of<HandlerInterface, T>::value, "Only Ufe::HandlerInterface types are allowed");
494 return std::static_pointer_cast<T>(resolveHandler(rtId, T::id));
495 }
496
497private:
498
501
503
504};
505
506}
507
508#endif /* _runTimeMgr */
std::shared_ptr< AttributesHandler > Ptr
std::shared_ptr< BatchOpsHandler > Ptr
std::shared_ptr< CameraHandler > Ptr
Definition: cameraHandler.h:30
std::shared_ptr< ClipboardHandler > Ptr
std::shared_ptr< ColorManagementHandler > Ptr
std::shared_ptr< ConnectionHandler > Ptr
std::shared_ptr< ContextOpsHandler > Ptr
std::shared_ptr< HandlerInterface > Ptr
Factory base class for scene hierarchy interface.
std::shared_ptr< HierarchyHandler > Ptr
std::shared_ptr< Light2Handler > Ptr
Definition: light2Handler.h:29
std::shared_ptr< LightHandler > Ptr
Definition: lightHandler.h:29
std::shared_ptr< MaterialHandler > Ptr
std::shared_ptr< NodeDefHandler > Ptr
std::shared_ptr< Object3dHandler > Ptr
std::shared_ptr< PathMappingHandler > Ptr
Singleton class to manage UFE runtimes.
Definition: runTimeMgr.h:50
std::list< Rtid > getIds() const
SceneItemOpsHandler::Ptr sceneItemOpsHandler(const Rtid &rtId) const
void registerHandler(const Ufe::Rtid &rtId, const std::string &handlerId, const HandlerInterface::Ptr &handler)
AttributesHandler::Ptr attributesHandler(const Rtid &rtId) const
ColorManagementHandler::Ptr colorManagementHandler(const Rtid &rtId) const
void setLight2Handler(const Rtid &rtId, const Light2Handler::Ptr &light2Handler)
void setContextOpsHandler(const Rtid &rtId, const ContextOpsHandler::Ptr &contextOpsHandler)
RunTimeMgr(const RunTimeMgr &)=delete
Cannot copy the runtime manager singleton.
void setPathMappingHandler(const Rtid &rtId, const PathMappingHandler::Ptr &pathMappingHandler)
void setBatchOpsHandler(const Rtid &rtId, const BatchOpsHandler::Ptr &batchOpsHandler)
UINodeGraphNodeHandler::Ptr uiNodeGraphNodeHandler(const Rtid &rtId) const
void setAttributesHandler(const Rtid &rtId, const AttributesHandler::Ptr &attributesHandler)
void setObject3dHandler(const Rtid &rtId, const Object3dHandler::Ptr &object3dHandler)
UIInfoHandler::Ptr uiInfoHandler(const Rtid &rtId) const
BatchOpsHandler::Ptr batchOpsHandler(const Rtid &rtId) const
Object3dHandler::Ptr object3dHandler(const Rtid &rtId) const
PathMappingHandler::Ptr pathMappingHandler(const Rtid &rtId) const
Transform3dHandler::Ptr transform3dHandler(const Rtid &rtId) const
std::shared_ptr< T > handler(const Ufe::Rtid &rtId)
Definition: runTimeMgr.h:491
const HierarchyHandler & hierarchyHandlerRef(const Rtid &rtId) const
void setCameraHandler(const Rtid &rtId, const CameraHandler::Ptr &cameraHandler)
CameraHandler::Ptr cameraHandler(const Rtid &rtId) const
bool unregister(const Rtid &rtId)
void unregisterHandler(const Ufe::Rtid &rtId, const std::string &handlerId)
bool hasId(const Rtid &rtId) const
Light2Handler::Ptr light2Handler(const Rtid &rtId) const
void setConnectionHandler(const Rtid &rtId, const ConnectionHandler::Ptr &connectionHandler)
void setColorManagementHandler(const Rtid &rtId, const ColorManagementHandler::Ptr &colorManagementHandler)
RunTimeMgr()
Cannot create a runtime manager aside from the singleton instance.
void setLightHandler(const Rtid &rtId, const LightHandler::Ptr &lightHandler)
void setSceneSegmentHandler(const Rtid &rtId, const SceneSegmentHandler::Ptr &sceneSegmentHandler)
NodeDefHandler::Ptr nodeDefHandler(const Rtid &rtId) const
static RunTimeMgr & instance()
MaterialHandler::Ptr materialHandler(const Rtid &rtId) const
void setTransform3dHandler(const Rtid &rtId, const Transform3dHandler::Ptr &transform3dHandler)
ConnectionHandler::Ptr connectionHandler(const Rtid &rtId) const
HierarchyHandler::Ptr hierarchyHandler(const Rtid &rtId) const
std::string getName(const Rtid &rtId) const
ContextOpsHandler::Ptr contextOpsHandler(const Rtid &rtId) const
void setUIInfoHandler(const Rtid &rtId, const UIInfoHandler::Ptr &uiInfoHandler)
void setSceneItemOpsHandler(const Rtid &rtId, const SceneItemOpsHandler::Ptr &sceneItemOpsHandler)
Rtid register_(const std::string &rtName, const Handlers &handlers)
void setHierarchyHandler(const Rtid &rtId, const HierarchyHandler::Ptr &hierarchyHandler)
LightHandler::Ptr lightHandler(const Rtid &rtId) const
Rtid getId(const std::string &rtName) const
ClipboardHandler::Ptr clipboardHandler(const Rtid &rtId) const
HandlerInterface::Ptr resolveHandler(const Ufe::Rtid &rtId, const std::string &handlerId)
SceneSegmentHandler::Ptr sceneSegmentHandler(const Rtid &rtId) const
RunTimeMgr & operator=(const RunTimeMgr &)=delete
Cannot assign the runtime manager singleton.
void setMaterialHandler(const Rtid &rtId, const MaterialHandler::Ptr &materialHandler)
void setUINodeGraphNodeHandler(const Rtid &rtId, const UINodeGraphNodeHandler::Ptr &uiNodeGraphNodeHandler)
void setNodeDefHandler(const Rtid &rtId, const NodeDefHandler::Ptr &nodeDefHandler)
void setClipboardHandler(const Rtid &rtId, const ClipboardHandler::Ptr &clipboardHandler)
std::shared_ptr< SceneItemOpsHandler > Ptr
std::shared_ptr< SceneSegmentHandler > Ptr
std::shared_ptr< Transform3dHandler > Ptr
std::shared_ptr< UIInfoHandler > Ptr
Definition: uiInfoHandler.h:72
std::shared_ptr< UINodeGraphNodeHandler > Ptr
std::string string(const Path &path)
uint32_t Rtid
Definition: rtid.h:26
Object3dHandler::Ptr object3dHandler
the Object3d interface factory.
Definition: runTimeMgr.h:77
PathMappingHandler::Ptr pathMappingHandler
the path mapping handler.
Definition: runTimeMgr.h:89
CameraHandler::Ptr cameraHandler
the camera handler.
Definition: runTimeMgr.h:85
ContextOpsHandler::Ptr contextOpsHandler
the ContextOps interface factory.
Definition: runTimeMgr.h:81
LightHandler::Ptr lightHandler
the light handler.
Definition: runTimeMgr.h:87
NodeDefHandler::Ptr nodeDefHandler
the node definition handler.
Definition: runTimeMgr.h:91
UINodeGraphNodeHandler::Ptr uiNodeGraphNodeHandler
the UINodeGraphNode interface factory.
Definition: runTimeMgr.h:97
ClipboardHandler::Ptr clipboardHandler
the Clipboard handler.
Definition: runTimeMgr.h:101
MaterialHandler::Ptr materialHandler
the Material interface factory.
Definition: runTimeMgr.h:79
BatchOpsHandler::Ptr batchOpsHandler
the BatchOps handler.
Definition: runTimeMgr.h:99
AttributesHandler::Ptr attributesHandler
the Attributes interface factory.
Definition: runTimeMgr.h:75
HierarchyHandler::Ptr hierarchyHandler
the Hierarchy interface factory.
Definition: runTimeMgr.h:69
ConnectionHandler::Ptr connectionHandler
the Connections interface factory.
Definition: runTimeMgr.h:95
UIInfoHandler::Ptr uiInfoHandler
the UIInfo handler.
Definition: runTimeMgr.h:83
SceneItemOpsHandler::Ptr sceneItemOpsHandler
the SceneItemOps interface factory.
Definition: runTimeMgr.h:73
SceneSegmentHandler::Ptr sceneSegmentHandler
the scene segment handler
Definition: runTimeMgr.h:93
Transform3dHandler::Ptr transform3dHandler
the Transform3d interface factory.
Definition: runTimeMgr.h:71
#define UFE_NS_DEF
Definition: ufe.h:35
#define UFE_SDK_DECL
Definition: ufeExport.h:36