Blender  V3.3
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
NodeType Struct Reference

#include <node_type.h>

Public Types

enum  Type { NONE , SHADER }
 
typedef Node *(* CreateFunc) (const NodeType *type)
 

Public Member Functions

 NodeType (Type type=NONE, const NodeType *base=NULL)
 
 ~NodeType ()
 
void register_input (ustring name, ustring ui_name, SocketType::Type type, int struct_offset, const void *default_value, const NodeEnum *enum_values=NULL, const NodeType *node_type=NULL, int flags=0, int extra_flags=0)
 
void register_output (ustring name, ustring ui_name, SocketType::Type type)
 
const SocketTypefind_input (ustring name) const
 
const SocketTypefind_output (ustring name) const
 

Static Public Member Functions

static NodeTypeadd (const char *name, CreateFunc create, Type type=NONE, const NodeType *base=NULL)
 
static const NodeTypefind (ustring name)
 
static unordered_map< ustring, NodeType, ustringHash > & types ()
 

Public Attributes

ustring name
 
Type type
 
const NodeTypebase
 
vector< SocketType, std::allocator< SocketType > > inputs
 
vector< SocketType, std::allocator< SocketType > > outputs
 
CreateFunc create
 

Detailed Description

Definition at line 93 of file node_type.h.

Member Typedef Documentation

◆ CreateFunc

typedef Node*(* NodeType::CreateFunc) (const NodeType *type)

Definition at line 113 of file node_type.h.

Member Enumeration Documentation

◆ Type

Enumerator
NONE 
SHADER 

Definition at line 94 of file node_type.h.

Constructor & Destructor Documentation

◆ NodeType()

NodeType::NodeType ( Type  type = NONE,
const NodeType base = NULL 
)
explicit

◆ ~NodeType()

NodeType::~NodeType ( )

Member Function Documentation

◆ add()

static NodeType* NodeType::add ( const char *  name,
CreateFunc  create,
Type  type = NONE,
const NodeType base = NULL 
)
static

◆ find()

static const NodeType* NodeType::find ( ustring  name)
static

Referenced by xml_read_shader_graph().

◆ find_input()

const SocketType* NodeType::find_input ( ustring  name) const

◆ find_output()

const SocketType* NodeType::find_output ( ustring  name) const

◆ register_input()

void NodeType::register_input ( ustring  name,
ustring  ui_name,
SocketType::Type  type,
int  struct_offset,
const void default_value,
const NodeEnum enum_values = NULL,
const NodeType node_type = NULL,
int  flags = 0,
int  extra_flags = 0 
)

◆ register_output()

void NodeType::register_output ( ustring  name,
ustring  ui_name,
SocketType::Type  type 
)

◆ types()

static unordered_map<ustring, NodeType, ustringHash>& NodeType::types ( )
static

Member Data Documentation

◆ base

const NodeType* NodeType::base

Definition at line 117 of file node_type.h.

Referenced by Node::is_a().

◆ create

CreateFunc NodeType::create

Definition at line 120 of file node_type.h.

Referenced by xml_read_shader_graph().

◆ inputs

vector<SocketType, std::allocator<SocketType> > NodeType::inputs

◆ name

ustring NodeType::name

Definition at line 115 of file node_type.h.

Referenced by Node::hash(), Node::Node(), ShaderNode::ShaderNode(), and xml_read_shader_graph().

◆ outputs

vector<SocketType, std::allocator<SocketType> > NodeType::outputs

Definition at line 119 of file node_type.h.

Referenced by ShaderNode::create_inputs_outputs().

◆ type

Type NodeType::type

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