ufe 5.5
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
attributeDef.h
Go to the documentation of this file.
1#line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.11-windows/ufe/include/attributeDef.h"
2#ifndef _ufe_attributeDef
3#define _ufe_attributeDef
4
5// =======================================================================
6// Copyright 2022 Autodesk, Inc. All rights reserved.
7//
8// This computer source code and related instructions and comments are the
9// unpublished confidential and proprietary information of Autodesk, Inc.
10// and are protected under applicable copyright and trade secret law. They
11// may not be disclosed to, copied or used by any third party without the
12// prior written consent of Autodesk, Inc.
13// =======================================================================
14
15#include "common/ufeExport.h"
16#include "value.h"
17
18#include <memory>
19#include <string>
20
22
31{
32public:
33 typedef std::shared_ptr<const AttributeDef> ConstPtr;
34 enum IOType { INPUT_ATTR, OUTPUT_ATTR };
35
37 virtual ~AttributeDef();
38
40 virtual std::string name() const = 0;
41
43 virtual std::string type() const = 0;
44
46 virtual std::string defaultValue() const = 0;
47
49 virtual IOType ioType() const = 0;
50
56 virtual Value getMetadata(const std::string& key) const = 0;
57
59 virtual bool hasMetadata(const std::string& key) const = 0;
60
61 // --------------------------------------------------------------------- //
64 // --------------------------------------------------------------------- //
65
70 static constexpr char kNativeType[] = "NativeType";
71
72 // --------------------------------------------------------------------- //
74 // --------------------------------------------------------------------- //
75
76}; // end class AttributeDef
77
78} // end namespace
79
80#endif /* _ufe_attributeDef */
Base class for Attribute definitions.
Definition: attributeDef.h:31
std::shared_ptr< const AttributeDef > ConstPtr
Definition: attributeDef.h:33
virtual std::string type() const =0
virtual Value getMetadata(const std::string &key) const =0
virtual std::string name() const =0
virtual IOType ioType() const =0
virtual bool hasMetadata(const std::string &key) const =0
Returns true if metadata key has a non-empty value.
virtual std::string defaultValue() const =0
virtual ~AttributeDef()
Destructor.
std::string string(const Path &path)
#define UFE_NS_DEF
Definition: ufe.h:35
Definition of macros for symbol visibility.
#define UFE_SDK_DECL
Definition: ufeExport.h:36