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 > & 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, NodeType(), outputs, and type.

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

◆ ~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(), name, NodeType(), NULL, and types().

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

◆ find_input()

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

◆ find_output()

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

Definition at line 193 of file node_type.cpp.

References name, SocketType::name, NULL, and outputs.

◆ 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 > & 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 NodeType().

◆ create

CreateFunc NodeType::create

Definition at line 127 of file node_type.h.

Referenced by xml_read_shader_graph().

◆ inputs

◆ name

◆ outputs

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

Definition at line 126 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: