diff options
Diffstat (limited to 'intern/cycles/graph/node.h')
-rw-r--r-- | intern/cycles/graph/node.h | 131 |
1 files changed, 65 insertions, 66 deletions
diff --git a/intern/cycles/graph/node.h b/intern/cycles/graph/node.h index d50a3786139..226c49b387a 100644 --- a/intern/cycles/graph/node.h +++ b/intern/cycles/graph/node.h @@ -31,72 +31,71 @@ struct Transform; /* Node */ -struct Node -{ - explicit Node(const NodeType *type, ustring name = ustring()); - virtual ~Node(); - - /* set values */ - void set(const SocketType& input, bool value); - void set(const SocketType& input, int value); - void set(const SocketType& input, uint value); - void set(const SocketType& input, float value); - void set(const SocketType& input, float2 value); - void set(const SocketType& input, 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); - - /* set array values. the memory from the input array will taken over - * by the node and the input array will be empty after return */ - 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); - - /* get values */ - bool get_bool(const SocketType& input) const; - int get_int(const SocketType& input) const; - uint get_uint(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; - Node *get_node(const SocketType& input) const; - - /* get array values */ - 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; - - /* generic values operations */ - bool has_default_value(const SocketType& input) const; - void set_default_value(const SocketType& input); - bool equals_value(const Node& other, const SocketType& input) const; - void copy_value(const SocketType& input, const Node& other, const SocketType& other_input); - - /* equals */ - bool equals(const Node& other) const; - - /* compute hash of node and its socket values */ - void hash(MD5Hash& md5); - - /* Get total size of this node. */ - size_t get_total_size_in_bytes() const; - - ustring name; - const NodeType *type; +struct Node { + explicit Node(const NodeType *type, ustring name = ustring()); + virtual ~Node(); + + /* set values */ + void set(const SocketType &input, bool value); + void set(const SocketType &input, int value); + void set(const SocketType &input, uint value); + void set(const SocketType &input, float value); + void set(const SocketType &input, float2 value); + void set(const SocketType &input, 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); + + /* set array values. the memory from the input array will taken over + * by the node and the input array will be empty after return */ + 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); + + /* get values */ + bool get_bool(const SocketType &input) const; + int get_int(const SocketType &input) const; + uint get_uint(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; + Node *get_node(const SocketType &input) const; + + /* get array values */ + 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; + + /* generic values operations */ + bool has_default_value(const SocketType &input) const; + void set_default_value(const SocketType &input); + bool equals_value(const Node &other, const SocketType &input) const; + void copy_value(const SocketType &input, const Node &other, const SocketType &other_input); + + /* equals */ + bool equals(const Node &other) const; + + /* compute hash of node and its socket values */ + void hash(MD5Hash &md5); + + /* Get total size of this node. */ + size_t get_total_size_in_bytes() const; + + ustring name; + const NodeType *type; }; CCL_NAMESPACE_END |