ufe  2.0
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
Ufe::Attribute Class Referenceabstract

Abstract base class for Attribute interface. More...

#include <attribute.h>

Inheritance diagram for Ufe::Attribute:

Public Types

typedef std::shared_ptr< AttributePtr
 
typedef std::string Type
 

Public Member Functions

 Attribute (const SceneItem::Ptr &)
 Constructor. More...
 
virtual ~Attribute ()
 
SceneItem::Ptr sceneItem () const
 
virtual bool hasValue () const =0
 
virtual std::string name () const =0
 
virtual std::string documentation () const =0
 
virtual Type type () const =0
 
virtual std::string string () const =0
 
 Attribute (const Attribute &)=delete
 No copy or move constructor/assignment. More...
 
Attributeoperator= (const Attribute &)=delete
 No copy or move constructor/assignment. More...
 
 Attribute (Attribute &&)=delete
 No copy or move constructor/assignment. More...
 
Attributeoperator= (Attribute &&)=delete
 No copy or move constructor/assignment. More...
 

Static Public Attributes

static constexpr char kInvalid [] = "Invalid"
 
static constexpr char kBool [] = "Bool"
 
static constexpr char kInt [] = "Int"
 
static constexpr char kFloat [] = "Float"
 
static constexpr char kDouble [] = "Double"
 
static constexpr char kString [] = "String"
 
static constexpr char kColorFloat3 [] = "ColorFloat3"
 
static constexpr char kEnumString [] = "EnumString"
 
static constexpr char kInt3 [] = "Int3"
 
static constexpr char kFloat3 [] = "Float3"
 
static constexpr char kDouble3 [] = "Double3"
 
static constexpr char kGeneric [] = "Generic"
 

Private Attributes

const SceneItem::Ptr fItem
 

Detailed Description

Abstract base class for Attribute interface.

This base class defines an interface for factory objects that run-times implement to handle the various supported attribute types (such as bool, int, float, etc).

Definition at line 36 of file attribute.h.

Member Typedef Documentation

◆ Ptr

typedef std::shared_ptr<Attribute> Ufe::Attribute::Ptr

Definition at line 39 of file attribute.h.

◆ Type

typedef std::string Ufe::Attribute::Type

Definition at line 40 of file attribute.h.

Constructor & Destructor Documentation

◆ Attribute() [1/3]

Ufe::Attribute::Attribute ( const SceneItem::Ptr )

Constructor.

◆ ~Attribute()

virtual Ufe::Attribute::~Attribute ( )
virtual

◆ Attribute() [2/3]

Ufe::Attribute::Attribute ( const Attribute )
delete

No copy or move constructor/assignment.

◆ Attribute() [3/3]

Ufe::Attribute::Attribute ( Attribute &&  )
delete

No copy or move constructor/assignment.

Member Function Documentation

◆ documentation()

virtual std::string Ufe::Attribute::documentation ( ) const
pure virtual
Returns
The attributes documentation string.

◆ hasValue()

virtual bool Ufe::Attribute::hasValue ( ) const
pure virtual
Returns
true if this attribute has a value.

◆ name()

virtual std::string Ufe::Attribute::name ( ) const
pure virtual
Returns
The attributes name.

◆ operator=() [1/2]

Attribute& Ufe::Attribute::operator= ( const Attribute )
delete

No copy or move constructor/assignment.

◆ operator=() [2/2]

Attribute& Ufe::Attribute::operator= ( Attribute &&  )
delete

No copy or move constructor/assignment.

◆ sceneItem()

SceneItem::Ptr Ufe::Attribute::sceneItem ( ) const
Returns
The object's SceneItem.

◆ string()

virtual std::string Ufe::Attribute::string ( ) const
pure virtual
Returns
The string representation of the attribute value.

◆ type()

virtual Type Ufe::Attribute::type ( ) const
pure virtual
Returns
The attributes type.

Implemented in Ufe::TypedAttribute< T >, Ufe::AttributeEnumString, and Ufe::AttributeGeneric.

Member Data Documentation

◆ fItem

const SceneItem::Ptr Ufe::Attribute::fItem
private

Definition at line 89 of file attribute.h.

◆ kBool

constexpr char Ufe::Attribute::kBool[] = "Bool"
static

Built-in attribute types

Definition at line 45 of file attribute.h.

◆ kColorFloat3

constexpr char Ufe::Attribute::kColorFloat3[] = "ColorFloat3"
static

Built-in attribute types

Definition at line 50 of file attribute.h.

◆ kDouble

constexpr char Ufe::Attribute::kDouble[] = "Double"
static

Built-in attribute types

Definition at line 48 of file attribute.h.

◆ kDouble3

constexpr char Ufe::Attribute::kDouble3[] = "Double3"
static

Built-in attribute types

Definition at line 54 of file attribute.h.

◆ kEnumString

constexpr char Ufe::Attribute::kEnumString[] = "EnumString"
static

Built-in attribute types

Definition at line 51 of file attribute.h.

◆ kFloat

constexpr char Ufe::Attribute::kFloat[] = "Float"
static

Built-in attribute types

Definition at line 47 of file attribute.h.

◆ kFloat3

constexpr char Ufe::Attribute::kFloat3[] = "Float3"
static

Built-in attribute types

Definition at line 53 of file attribute.h.

◆ kGeneric

constexpr char Ufe::Attribute::kGeneric[] = "Generic"
static

Built-in attribute types

Definition at line 55 of file attribute.h.

◆ kInt

constexpr char Ufe::Attribute::kInt[] = "Int"
static

Built-in attribute types

Definition at line 46 of file attribute.h.

◆ kInt3

constexpr char Ufe::Attribute::kInt3[] = "Int3"
static

Built-in attribute types

Definition at line 52 of file attribute.h.

◆ kInvalid

constexpr char Ufe::Attribute::kInvalid[] = "Invalid"
static

Built-in attribute types

Definition at line 44 of file attribute.h.

◆ kString

constexpr char Ufe::Attribute::kString[] = "String"
static

Built-in attribute types

Definition at line 49 of file attribute.h.


The documentation for this class was generated from the following file: