Blender V4.3
blender::nodes::value_elem Namespace Reference

Classes

struct  BoolElem
 
class  ElemEvalParams
 
struct  ElemVariant
 
struct  FloatElem
 
struct  GroupInputElem
 
struct  IntElem
 
class  InverseElemEvalParams
 
struct  MatrixElem
 
struct  PrimitiveValueElem
 
struct  RotationElem
 
struct  SocketElem
 
struct  ValueNodeElem
 
struct  VectorElem
 

Functions

std::optional< ElemVariantget_elem_variant_for_socket_type (const eNodeSocketDatatype type)
 
std::optional< ElemVariantconvert_socket_elem (const bNodeSocket &old_socket, const bNodeSocket &new_socket, const ElemVariant &old_elem)
 

Detailed Description

A #ValueElem is an abstract element or part of a value. It does not store the actual value of the type but which parts of it are affected. For example, #VectorElem does not store the actual vector values but just a boolean for each component.

Some nodes implement special #node_eval_elem and #node_eval_inverse_elem methods which allow analyzing the potential impact of changing part of a value in one place of a node tree.

The types are generally quite small and trivially copyable and destructible. They just contain some booleans.

Function Documentation

◆ convert_socket_elem()

◆ get_elem_variant_for_socket_type()

std::optional< ElemVariant > blender::nodes::value_elem::get_elem_variant_for_socket_type ( eNodeSocketDatatype type)