ufe 6.2
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.11-windows/ufe/include/sceneItem.h"
2#ifndef _ufeSceneItem
3#define _ufeSceneItem
4// ===========================================================================
5// Copyright 2018 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 "path.h"
13#include "ufeFwd.h"
14#include "value.h"
15
16#include <cstdint>
17#include <memory>
18#include <string>
19#include <vector>
20
22
23 class UndoableCommand;
24
42{
43public:
44 typedef std::shared_ptr<SceneItem> Ptr;
45
49
51 SceneItem(const SceneItem&) = default;
52
54 virtual ~SceneItem();
55
57 const Path& path() const;
58
60 Rtid runTimeId() const;
61
63
65 bool operator==(const SceneItem& rhs) const;
66 bool operator!=(const SceneItem& rhs) const;
68
71
74 virtual std::string nodeType() const = 0;
75
82 virtual std::vector<std::string> ancestorNodeTypes() const;
83
87 virtual bool isProperty() const;
88
92 virtual Ufe::Value getMetadata(const std::string& key) const = 0;
93
99 virtual UndoableCommandPtr setMetadataCmd(const std::string& key, const Ufe::Value& value) = 0;
100
104 virtual void setMetadata(const std::string& key, const Ufe::Value& value);
105
110 virtual UndoableCommandPtr clearMetadataCmd(const std::string& key = "") = 0;
111
114 virtual void clearMetadata(const std::string& key = "");
115
120 virtual Ufe::Value getGroupMetadata(const std::string& group, const std::string& key) const = 0;
121
128 virtual UndoableCommandPtr setGroupMetadataCmd(const std::string& group, const std::string& key, const Ufe::Value& value) = 0;
129
134 virtual void setGroupMetadata(const std::string& group, const std::string& key, const Ufe::Value& value);
135
141 virtual UndoableCommandPtr clearGroupMetadataCmd(const std::string& group, const std::string& key = "") = 0;
142
146 virtual void clearGroupMetadata(const std::string& group, const std::string& key = "");
147
148private:
149
151};
152
153}
154
155#endif /* _ufeSceneItem */
Identify an object or 3D path in the scene.
Definition: path.h:38
Universal Front End abstract scene item.
Definition: sceneItem.h:42
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:44
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
std::string string(const Path &path)
Path path(const std::string &pathString)
std::shared_ptr< UndoableCommand > UndoableCommandPtr
Definition: ufeFwd.h:22
uint32_t Rtid
Definition: rtid.h:26
#define UFE_NS_DEF
Definition: ufe.h:35
#define UFE_SDK_DECL
Definition: ufeExport.h:36