ufe 7.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 "D:/Jenkins/workspace/EMS/ECG/ufe/full/ufe-full-python3.13-windows/ufe/include/runTimeMgr.h"
2#ifndef UFE_RUNTIMEMGR_H
3#define UFE_RUNTIMEMGR_H
4
5// ===========================================================================
6// Copyright 2025 Autodesk, Inc. All rights reserved.
7//
8// The use of this software is subject to the Autodesk Terms of Use or other
9// license agreement provided at the time of installation or download, or
10// which otherwise accompanies this software.
11// ===========================================================================
12
13#include "attributesHandler.h"
14#include "connectionHandler.h"
16#include "contextOpsHandler.h"
17#include "hierarchyHandler.h"
18#include "object3dHandler.h"
19#include "materialHandler.h"
20#include "sceneItemOpsHandler.h"
21#include "sceneSegmentHandler.h"
22#include "transform3dHandler.h"
23#include "uiInfoHandler.h"
24#include "cameraHandler.h"
25#include "lightHandler.h"
26#include "light2Handler.h"
27#include "pathMappingHandler.h"
28#include "nodeDefHandler.h"
30#include "batchOpsHandler.h"
31#include "clipboardHandler.h"
32#include "handlerInterface.h"
33#include "rtid.h"
34
35// Can't forward declare std::list or std::string.
36#include <list>
37#include <string>
38
40
42
51{
52public:
53
56
58 RunTimeMgr(const RunTimeMgr&) = delete;
60 RunTimeMgr& operator=(const RunTimeMgr&) = delete;
61
62
107 };
108
118 const std::string& rtName,
119 const Handlers& handlers
120 );
126 bool unregister(const Rtid& rtId);
127
130 std::string getName(const Rtid& rtId) const;
131
134 Rtid getId(const std::string& rtName) const;
135
137 bool hasId(const Rtid& rtId) const;
138
145 const Rtid& rtId, const HierarchyHandler::Ptr& hierarchyHandler
146 );
147
154 const Rtid& rtId, const Transform3dHandler::Ptr& transform3dHandler
155 );
156
163 const Rtid& rtId, const SceneItemOpsHandler::Ptr& sceneItemOpsHandler
164 );
165
172 const Rtid& rtId, const AttributesHandler::Ptr& attributesHandler
173 );
174
181 const Rtid& rtId, const ConnectionHandler::Ptr& connectionHandler
182 );
183
190 const Rtid& rtId, const UINodeGraphNodeHandler::Ptr& uiNodeGraphNodeHandler
191 );
192
199 const Rtid& rtId, const Object3dHandler::Ptr& object3dHandler
200 );
201
208 const Rtid& rtId, const MaterialHandler::Ptr& materialHandler
209 );
210
217 const Rtid& rtId, const ContextOpsHandler::Ptr& contextOpsHandler
218 );
219
226 const Rtid& rtId, const UIInfoHandler::Ptr& uiInfoHandler
227 );
228
235 const Rtid& rtId, const CameraHandler::Ptr& cameraHandler
236 );
237
244 const Rtid &rtId, const LightHandler::Ptr &lightHandler);
245
252 const Rtid& rtId, const Light2Handler::Ptr& light2Handler);
253
260 const Rtid& rtId, const PathMappingHandler::Ptr& pathMappingHandler
261 );
262
269 const Rtid& rtId, const NodeDefHandler::Ptr& nodeDefHandler
270 );
271
278 const Rtid& rtId, const SceneSegmentHandler::Ptr& sceneSegmentHandler
279 );
280
287 const Rtid& rtId, const BatchOpsHandler::Ptr& batchOpsHandler
288 );
289
296 const Rtid& rtId, const ClipboardHandler::Ptr& clipboardHandler
297 );
298
305 const Rtid& rtId, const ColorManagementHandler::Ptr& colorManagementHandler
306 );
307
315
322 const HierarchyHandler& hierarchyHandlerRef(const Rtid& rtId) const;
323
331
339
347
355
363
371
379
387
395
403
411
419
427
436
445
453
461
469
471 std::list<Rtid> getIds() const;
472
479 void registerHandler(const Ufe::Rtid& rtId,
480 const std::string& handlerId,
481 const HandlerInterface::Ptr& handler);
482
488 void unregisterHandler(const Ufe::Rtid& rtId, const std::string& handlerId);
489
496 template <typename T> std::shared_ptr<T> handler(const Ufe::Rtid& rtId)
497 {
498 static_assert(std::is_base_of<HandlerInterface, T>::value, "Only Ufe::HandlerInterface types are allowed");
499 return std::static_pointer_cast<T>(resolveHandler(rtId, T::id));
500 }
501
502private:
503
506
508
509};
510
511}
512
513#endif /* UFE_RUNTIMEMGR_H */
std::shared_ptr< AttributesHandler > Ptr
std::shared_ptr< BatchOpsHandler > Ptr
std::shared_ptr< CameraHandler > Ptr
Definition: cameraHandler.h:31
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:30
std::shared_ptr< LightHandler > Ptr
Definition: lightHandler.h:30
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:51
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:496
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:27
Object3dHandler::Ptr object3dHandler
the Object3d interface factory.
Definition: runTimeMgr.h:78
PathMappingHandler::Ptr pathMappingHandler
the path mapping handler.
Definition: runTimeMgr.h:92
CameraHandler::Ptr cameraHandler
the camera handler.
Definition: runTimeMgr.h:86
ContextOpsHandler::Ptr contextOpsHandler
the ContextOps interface factory.
Definition: runTimeMgr.h:82
LightHandler::Ptr lightHandler
the light handler.
Definition: runTimeMgr.h:88
NodeDefHandler::Ptr nodeDefHandler
the node definition handler.
Definition: runTimeMgr.h:94
UINodeGraphNodeHandler::Ptr uiNodeGraphNodeHandler
the UINodeGraphNode interface factory.
Definition: runTimeMgr.h:100
ColorManagementHandler::Ptr colorManagementHandler
the Color Management handler.
Definition: runTimeMgr.h:106
ClipboardHandler::Ptr clipboardHandler
the Clipboard handler.
Definition: runTimeMgr.h:104
MaterialHandler::Ptr materialHandler
the Material interface factory.
Definition: runTimeMgr.h:80
BatchOpsHandler::Ptr batchOpsHandler
the BatchOps handler.
Definition: runTimeMgr.h:102
AttributesHandler::Ptr attributesHandler
the Attributes interface factory.
Definition: runTimeMgr.h:76
HierarchyHandler::Ptr hierarchyHandler
the Hierarchy interface factory.
Definition: runTimeMgr.h:70
ConnectionHandler::Ptr connectionHandler
the Connections interface factory.
Definition: runTimeMgr.h:98
UIInfoHandler::Ptr uiInfoHandler
the UIInfo handler.
Definition: runTimeMgr.h:84
Light2Handler::Ptr light2Handler
the light2 handler.
Definition: runTimeMgr.h:90
SceneItemOpsHandler::Ptr sceneItemOpsHandler
the SceneItemOps interface factory.
Definition: runTimeMgr.h:74
SceneSegmentHandler::Ptr sceneSegmentHandler
the scene segment handler
Definition: runTimeMgr.h:96
Transform3dHandler::Ptr transform3dHandler
the Transform3d interface factory.
Definition: runTimeMgr.h:72
#define UFE_NS_DEF
Definition: ufe.h:36
#define UFE_SDK_DECL
Definition: ufeExport.h:35