Blender V5.0
Procedural Class Referenceabstract

#include <procedural.h>

Inherits Node, and NodeOwner.

Public Member Functions

NODE_ABSTRACT_DECLARE Procedural (const NodeType *type)
 ~Procedural () override
virtual void generate (Scene *scene, Progress &progress)=0
template<typename T>
Tcreate_node ()
template<typename T>
void delete_node (T *node)
Public Member Functions inherited from Node
 Node (const NodeType *type, ustring name=ustring())
virtual ~Node ()=0
void set (const SocketType &input, bool value)
void set (const SocketType &input, const int value)
void set (const SocketType &input, const uint value)
void set (const SocketType &input, const uint64_t value)
void set (const SocketType &input, const float value)
void set (const SocketType &input, const float2 value)
void set (const SocketType &input, const float3 value)
void set (const SocketType &input, const char *value)
void set (const SocketType &input, ustring value)
void set (const SocketType &input, const Transform &value)
void set (const SocketType &input, Node *value)
template<class ValueType, std::enable_if_t< std::is_enum_v< ValueType >, bool > = true>
void set (const SocketType &input, const ValueType &value)
void set (const SocketType &input, array< bool > &value)
void set (const SocketType &input, array< int > &value)
void set (const SocketType &input, array< float > &value)
void set (const SocketType &input, array< float2 > &value)
void set (const SocketType &input, array< float3 > &value)
void set (const SocketType &input, array< ustring > &value)
void set (const SocketType &input, array< Transform > &value)
void set (const SocketType &input, array< Node * > &value)
bool get_bool (const SocketType &input) const
int get_int (const SocketType &input) const
uint get_uint (const SocketType &input) const
uint64_t get_uint64 (const SocketType &input) const
float get_float (const SocketType &input) const
float2 get_float2 (const SocketType &input) const
float3 get_float3 (const SocketType &input) const
ustring get_string (const SocketType &input) const
Transform get_transform (const SocketType &input) const
Nodeget_node (const SocketType &input) const
const array< bool > & get_bool_array (const SocketType &input) const
const array< int > & get_int_array (const SocketType &input) const
const array< float > & get_float_array (const SocketType &input) const
const array< float2 > & get_float2_array (const SocketType &input) const
const array< float3 > & get_float3_array (const SocketType &input) const
const array< ustring > & get_string_array (const SocketType &input) const
const array< Transform > & get_transform_array (const SocketType &input) const
const array< Node * > & get_node_array (const SocketType &input) const
bool has_default_value (const SocketType &input) const
void set_default_value (const SocketType &input)
bool equals_value (const Node &other, const SocketType &socket) const
void copy_value (const SocketType &socket, const Node &other, const SocketType &other_socket)
void set_value (const SocketType &socket, const Node &other, const SocketType &other_socket)
bool equals (const Node &other) const
void hash (MD5Hash &md5)
size_t get_total_size_in_bytes () const
bool is_a (const NodeType *type)
bool socket_is_modified (const SocketType &input) const
bool is_modified () const
void tag_modified ()
void clear_modified ()
void print_modified_sockets () const
const NodeOwnerget_owner () const
void set_owner (const NodeOwner *owner_)
int reference_count () const
void reference ()
void dereference ()
void clear_reference_count ()
Public Member Functions inherited from NodeOwner
virtual ~NodeOwner ()

Protected Attributes

unique_ptr_vector< Nodenodes
Protected Attributes inherited from Node
const NodeOwnerowner
int ref_count {0}
SocketModifiedFlags socket_modified

Additional Inherited Members

Public Attributes inherited from Node
ustring name
const NodeTypetype
InternalNode internal
LeafNode leaf
Protected Member Functions inherited from Node
template<typename T>
void set_if_different (const SocketType &input, T value)
void set_if_different (const SocketType &input, Node *value)
template<typename T>
void set_if_different (const SocketType &input, array< T > &value)
void set_if_different (const SocketType &input, array< Node * > &value)
void dereference_all_used_nodes ()
Static Protected Member Functions inherited from Node
template<typename T>
static Tget_socket_value (const Node *node, const SocketType &socket)

Detailed Description

Definition at line 22 of file procedural.h.

Constructor & Destructor Documentation

◆ Procedural()

Procedural::Procedural ( const NodeType * type)
explicit

Definition at line 19 of file procedural.cpp.

References Node::Node(), and Node::type.

◆ ~Procedural()

Procedural::~Procedural ( )
overridedefault

Member Function Documentation

◆ create_node()

template<typename T>
T * Procedural::create_node ( )
inline

Definition at line 34 of file procedural.h.

References nodes, and T.

◆ delete_node()

template<typename T>
void Procedural::delete_node ( T * node)
inline

Definition at line 44 of file procedural.h.

References assert, nodes, and T.

◆ generate()

virtual void Procedural::generate ( Scene * scene,
Progress & progress )
pure virtual

Member Data Documentation

◆ nodes

unique_ptr_vector<Node> Procedural::nodes
protected

Definition at line 51 of file procedural.h.

Referenced by create_node(), and delete_node().


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