Blender V4.3
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 100 of file node_type.h.

Member Typedef Documentation

◆ CreateFunc

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

Definition at line 120 of file node_type.h.

Member Enumeration Documentation

◆ Type

Enumerator
NONE 
SHADER 

Definition at line 101 of file node_type.h.

Constructor & Destructor Documentation

◆ NodeType()

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

Definition at line 133 of file node_type.cpp.

References base, inputs, and outputs.

Referenced by add().

◆ ~NodeType()

NodeType::~NodeType ( )

Definition at line 142 of file node_type.cpp.

Member Function Documentation

◆ add()

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

Definition at line 212 of file node_type.cpp.

References find(), name, NodeType(), NULL, 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(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), and NODE_DEFINE().

◆ find()

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

Definition at line 230 of file node_type.cpp.

References find(), NULL, and types().

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

◆ find_input()

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

Definition at line 182 of file node_type.cpp.

References SocketType::name, and NULL.

◆ find_output()

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

Definition at line 193 of file node_type.cpp.

References SocketType::name, and NULL.

◆ 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()

◆ types()

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

Definition at line 206 of file node_type.cpp.

Referenced by add(), and find().

Member Data Documentation

◆ base

const NodeType* NodeType::base

Definition at line 124 of file node_type.h.

Referenced by Node::is_a(), and NodeType().

◆ create

CreateFunc NodeType::create

Definition at line 127 of file node_type.h.

Referenced by xml_read_shader_graph().

◆ inputs

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

Definition at line 125 of file node_type.h.

Referenced by NodeType().

◆ name

ustring NodeType::name

Definition at line 122 of file node_type.h.

Referenced by add(), register_input(), register_output(), and xml_read_shader_graph().

◆ outputs

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

Definition at line 126 of file node_type.h.

Referenced by NodeType().

◆ type


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