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
sceneItem.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/sceneItem.h"
2#ifndef UFE_SCENEITEM_H
3#define UFE_SCENEITEM_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 "path.h"
14#include "ufeFwd.h"
15#include "value.h"
16
17#include <cstdint>
18#include <memory>
19#include <string>
20#include <vector>
21
23
24 class UndoableCommand;
25
43{
44public:
45 typedef std::shared_ptr<SceneItem> Ptr;
46
50
52 SceneItem(const SceneItem&) = default;
53
55 virtual ~SceneItem();
56
58 const Path& path() const;
59
61 Rtid runTimeId() const;
62
66 bool operator==(const SceneItem& rhs) const;
67 bool operator!=(const SceneItem& rhs) const;
69
72
75 virtual std::string nodeType() const = 0;
76
83 virtual std::vector<std::string> ancestorNodeTypes() const;
84
88 virtual bool isProperty() const;
89
93 virtual Ufe::Value getMetadata(const std::string& key) const = 0;
94
100 virtual UndoableCommandPtr setMetadataCmd(const std::string& key, const Ufe::Value& value) = 0;
101
105 virtual void setMetadata(const std::string& key, const Ufe::Value& value);
106
111 virtual UndoableCommandPtr clearMetadataCmd(const std::string& key = "") = 0;
112
115 virtual void clearMetadata(const std::string& key = "");
116
121 virtual Ufe::Value getGroupMetadata(const std::string& group, const std::string& key) const = 0;
122
129 virtual UndoableCommandPtr setGroupMetadataCmd(const std::string& group, const std::string& key, const Ufe::Value& value) = 0;
130
135 virtual void setGroupMetadata(const std::string& group, const std::string& key, const Ufe::Value& value);
136
142 virtual UndoableCommandPtr clearGroupMetadataCmd(const std::string& group, const std::string& key = "") = 0;
143
147 virtual void clearGroupMetadata(const std::string& group, const std::string& key = "");
148
149private:
150
152};
153
154}
155
156#endif /* UFE_SCENEITEM_H */
Identify an object or 3D path in the scene.
Definition: path.h:40
Universal Front End abstract scene item.
Definition: sceneItem.h:43
virtual void setGroupMetadata(const std::string &group, const std::string &key, const Ufe::Value &value)
virtual void clearMetadata(const std::string &key="")
std::string nodeName() const
bool operator==(const SceneItem &rhs) const
const Path & path() const
virtual UndoableCommandPtr setMetadataCmd(const std::string &key, const Ufe::Value &value)=0
virtual ~SceneItem()
Destructor.
SceneItem(const Path &path)
virtual void clearGroupMetadata(const std::string &group, const std::string &key="")
Rtid runTimeId() const
SceneItem(const SceneItem &)=default
Default copy constructor.
virtual std::string nodeType() const =0
virtual Ufe::Value getMetadata(const std::string &key) const =0
virtual UndoableCommandPtr clearGroupMetadataCmd(const std::string &group, const std::string &key="")=0
virtual std::vector< std::string > ancestorNodeTypes() const
virtual void setMetadata(const std::string &key, const Ufe::Value &value)
virtual bool isProperty() const
virtual Ufe::Value getGroupMetadata(const std::string &group, const std::string &key) const =0
std::shared_ptr< SceneItem > Ptr
Definition: sceneItem.h:45
bool operator!=(const SceneItem &rhs) const
virtual UndoableCommandPtr clearMetadataCmd(const std::string &key="")=0
virtual UndoableCommandPtr setGroupMetadataCmd(const std::string &group, const std::string &key, const Ufe::Value &value)=0
Value class that can hold a wide set of types.
Definition: value.h:66
std::string string(const Path &path)
Path path(const std::string &pathString)
std::shared_ptr< UndoableCommand > UndoableCommandPtr
Definition: ufeFwd.h:23
uint32_t Rtid
Definition: rtid.h:27
#define UFE_NS_DEF
Definition: ufe.h:36
#define UFE_SDK_DECL
Definition: ufeExport.h:35