1 #line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.10-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";
78 bool operator==(
const Attribute& rhs)
const;
82 bool operator!=(
const Attribute& rhs)
const;
89 virtual bool hasValue()
const = 0;
98 virtual Type type()
const = 0;
112 static constexpr
char kLocked[] =
"Locked";
148 virtual bool clearMetadata(
const std::string& key) = 0;
151 virtual bool hasMetadata(
const std::string& key)
const = 0;
166 typedef std::shared_ptr<AttributeGeneric>
Ptr;
174 virtual
std::
string nativeType() const = 0;
182 typedef std::shared_ptr<AttributeFilename>
Ptr;
190 virtual
std::
string get() const = 0;
193 virtual
void set(const
std::
string& value) = 0;
206 typedef std::shared_ptr<AttributeEnumString>
Ptr;
215 virtual
std::
string get() const = 0;
218 virtual
void set(const
std::
string& value) = 0;
235 typedef std::shared_ptr<TypedAttribute<T>>
Ptr;
243 virtual T
get() const = 0;
246 virtual
void set(const T& value) = 0;
std::shared_ptr< Attribute > Ptr
std::shared_ptr< UndoableCommand > Ptr
Typed attribute template for creating a specialized type.
Attribute(const SceneItem::Ptr &)
Constructor.
Attribute which has a list of strings as enumerated values.
std::string string(const Path &path)
Attribute which represents a filename.
Definition of macros for symbol visibility.
std::shared_ptr< AttributeEnumString > Ptr
const SceneItem::Ptr fItem
Typed vector template for creating a specialized vector with N elements.
std::shared_ptr< TypedAttribute< T > > Ptr
std::shared_ptr< AttributeGeneric > Ptr
std::shared_ptr< AttributeFilename > Ptr
Value class that can hold a wide set of types.
virtual Type type() const =0
Abstract base class for undoable commands.
Abstract base class for Attribute interface.
Typed square matrix template.
std::shared_ptr< SceneItem > Ptr
std::vector< std::string > EnumValues
Generic attribute which doesn't match any defined type.