Blender V5.0
NodeType Struct Reference

#include <node_type.h>

Public Types

enum  Type { NONE , SHADER }
using CreateFunc = unique_ptr<Node> (*)(const NodeType *)

Public Member Functions

 NodeType (Type type=NONE, const NodeType *base=nullptr)
 ~NodeType ()
void register_input (ustring name, ustring ui_name, SocketType::Type type, const int struct_offset, const void *default_value, const NodeEnum *enum_values=nullptr, const NodeType *node_type=nullptr, 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=nullptr)
static const NodeTypefind (ustring name)
static unordered_map< ustring, NodeType > & 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 103 of file node_type.h.

Member Typedef Documentation

◆ CreateFunc

Definition at line 123 of file node_type.h.

Member Enumeration Documentation

◆ Type

Enumerator
NONE 
SHADER 

Definition at line 104 of file node_type.h.

Constructor & Destructor Documentation

◆ NodeType()

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

Definition at line 137 of file node_type.cpp.

References base, inputs, NodeType(), outputs, and type.

Referenced by add(), find(), NodeType(), register_input(), and ~NodeType().

◆ ~NodeType()

NodeType::~NodeType ( )
default

References name, NodeType(), and type.

Member Function Documentation

◆ add()

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

Definition at line 216 of file node_type.cpp.

References assert, find(), LOG_ERROR, name, NodeType(), type, and types().

Referenced by NODE_ABSTRACT_DEFINE(), NODE_ABSTRACT_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), and NODE_DEFINE().

◆ find()

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

Definition at line 234 of file node_type.cpp.

References find(), name, NodeType(), nullptr, and types().

Referenced by add(), find(), and xml_read_shader_graph().

◆ find_input()

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

Definition at line 186 of file node_type.cpp.

References inputs, and name.

Referenced by HdCyclesDelegate::GetRenderSetting(), and HdCyclesDelegate::SetRenderSetting().

◆ find_output()

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

Definition at line 197 of file node_type.cpp.

References name, and outputs.

◆ register_input()

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

◆ register_output()

◆ types()

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

Definition at line 210 of file node_type.cpp.

Referenced by add(), and find().

Member Data Documentation

◆ base

const NodeType* NodeType::base

Definition at line 127 of file node_type.h.

Referenced by NodeType().

◆ create

CreateFunc NodeType::create

Definition at line 130 of file node_type.h.

Referenced by ShaderGraph::create_node(), and xml_read_shader_graph().

◆ inputs

◆ name

◆ outputs

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

Definition at line 129 of file node_type.h.

Referenced by find_output(), NodeType(), and register_output().

◆ type


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