1#line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.11-windows/ufe/include/attribute.h"
40 typedef std::shared_ptr<Attribute>
Ptr;
45 static constexpr char kInvalid[] =
"Invalid";
46 static constexpr char kBool[] =
"Bool";
47 static constexpr char kInt[] =
"Int";
48 static constexpr char kFloat[] =
"Float";
49 static constexpr char kDouble[] =
"Double";
50 static constexpr char kString[] =
"String";
51 static constexpr char kColorFloat3[] =
"ColorFloat3";
52 static constexpr char kColorFloat4[] =
"ColorFloat4";
53 static constexpr char kFilename[] =
"Filename";
54 static constexpr char kEnumString[] =
"EnumString";
55 static constexpr char kInt3[] =
"Int3";
56 static constexpr char kFloat2[] =
"Float2";
57 static constexpr char kFloat3[] =
"Float3";
58 static constexpr char kFloat4[] =
"Float4";
59 static constexpr char kDouble3[] =
"Double3";
60 static constexpr char kMatrix3d[] =
"Matrix3d";
61 static constexpr char kMatrix4d[] =
"Matrix4d";
62 static constexpr char kGeneric[] =
"Generic";
115 static constexpr char kLocked[] =
"Locked";
174 typedef std::shared_ptr<AttributeGeneric>
Ptr;
176 using Attribute::Attribute;
182 virtual
std::
string nativeType() const = 0;
190 typedef std::shared_ptr<AttributeFilename>
Ptr;
192 using Attribute::Attribute;
201 virtual
void set(const
std::
string& value) = 0;
214 typedef std::shared_ptr<AttributeEnumString>
Ptr;
217 using Attribute::Attribute;
226 virtual
void set(const
std::
string& value) = 0;
243 typedef std::shared_ptr<TypedAttribute<T>>
Ptr;
245 using Attribute::Attribute;
251 virtual T
get() const = 0;
254 virtual
void set(const T& value) = 0;
Attribute which has a list of strings as enumerated values.
std::shared_ptr< AttributeEnumString > Ptr
std::vector< std::string > EnumValues
Attribute which represents a filename.
std::shared_ptr< AttributeFilename > Ptr
Generic attribute which doesn't match any defined type.
std::shared_ptr< AttributeGeneric > Ptr
Abstract base class for Attribute interface.
virtual UndoableCommand::Ptr clearMetadataCmd(const std::string &key)
virtual std::string documentation() const =0
SceneItem::Ptr sceneItem() const
virtual std::string displayName() const
virtual bool setMetadata(const std::string &key, const Value &value)=0
Attribute & operator=(const Attribute &)=delete
const SceneItem::Ptr fItem
virtual std::string string() const =0
bool operator!=(const Attribute &rhs) const
virtual UndoableCommand::Ptr setMetadataCmd(const std::string &key, const Value &value)
Attribute(const SceneItem::Ptr &)
Constructor.
virtual std::string name() const =0
virtual Value getMetadata(const std::string &key) const =0
Attribute & operator=(Attribute &&)=delete
virtual Type type() const =0
std::shared_ptr< Attribute > Ptr
Attribute(Attribute &&)=delete
virtual bool clearMetadata(const std::string &key)=0
bool operator==(const Attribute &rhs) const
virtual bool hasValue() const =0
virtual bool hasMetadata(const std::string &key) const =0
Returns true if metadata key has a non-empty value.
Attribute(const Attribute &)=delete
No copy or move constructor/assignment.
std::shared_ptr< SceneItem > Ptr
Typed attribute template for creating a specialized type.
std::shared_ptr< TypedAttribute< T > > Ptr
Abstract base class for undoable commands.
std::shared_ptr< UndoableCommand > Ptr
std::string string(const Path &path)
Typed square matrix template.
Typed vector template for creating a specialized vector with N elements.
Definition of macros for symbol visibility.