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
nodeDefHandler.h
Go to the documentation of this file.
1 #line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.10-windows/ufe/include/nodeDefHandler.h"
2 #ifndef _nodeDefHandler
3 #define _nodeDefHandler
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 "common/ufeExport.h"
13 #include "rtid.h"
14 #include "sceneItem.h"
15 #include "nodeDef.h"
16 
17 #include <memory>
18 
19 UFE_NS_DEF {
20 
22 
37 {
38 public:
39  typedef std::shared_ptr<NodeDefHandler> Ptr;
40 
41  static constexpr char kNodeDefCategoryAll[] = "All";
42 
46  NodeDefHandler(const NodeDefHandler&) = default;
48  virtual ~NodeDefHandler();
49 
51  // nullptr if no such node definition can be found.
52  virtual Ufe::NodeDef::Ptr definition(const Ufe::SceneItem::Ptr& item) const = 0;
54  // if no such node definition can be found.
55  virtual Ufe::NodeDef::Ptr definition(const std::string& type) const = 0;
57  virtual Ufe::NodeDefs definitions(const std::string& category=kNodeDefCategoryAll) const = 0;
58 };
59 
60 }
61 
62 #endif /* _nodeDefHandler */
std::string string(const Path &path)
Definition of macros for symbol visibility.
std::shared_ptr< NodeDefHandler > Ptr
Base class for NodeDefHandler interface.
#define UFE_NS_DEF
Definition: ufe.h:35
std::shared_ptr< SceneItem > Ptr
Definition: sceneItem.h:40
std::shared_ptr< NodeDef > Ptr
Definition: nodeDef.h:40
std::vector< NodeDef::Ptr > NodeDefs
Definition: nodeDef.h:142
#define UFE_SDK_DECL
Definition: ufeExport.h:36