Blender  V3.3
Classes | Enumerations | Functions
blender::modifiers::geometry_nodes Namespace Reference

Classes

struct  SingleInputValue
 
struct  MultiInputValue
 
struct  InputState
 
struct  OutputState
 
struct  NodeState
 
struct  NodeWithState
 
class  LockedNode
 
struct  NodeTaskRunState
 
class  NodeParamsProvider
 
class  GeometryNodesEvaluator
 
struct  GeometryNodesEvaluationParams
 

Enumerations

enum class  ValueUsage : uint8_t { Required , Maybe , Unused }
 
enum class  NodeScheduleState { NotScheduled , Scheduled , Running , RunningAndRescheduled }
 

Functions

static const CPPTypeget_socket_cpp_type (const SocketRef &socket)
 
static const CPPTypeget_socket_cpp_type (const DSocket socket)
 
static bool get_implicit_socket_input (const SocketRef &socket, void *r_value)
 
static void get_socket_value (const SocketRef &socket, void *r_value)
 
static bool node_supports_laziness (const DNode node)
 
void evaluate_geometry_nodes (GeometryNodesEvaluationParams &params)
 

Enumeration Type Documentation

◆ NodeScheduleState

Enumerator
NotScheduled 

Default state of every node.

Scheduled 

The node has been added to the task group and will be executed by it in the future.

Running 

The node is currently running.

RunningAndRescheduled 

The node is running and has been rescheduled while running. In this case the node will run again. However, we don't add it to the task group immediately, because then the node might run twice at the same time, which is not allowed. Instead, once the node is done running, it will reschedule itself.

Definition at line 180 of file MOD_nodes_evaluator.cc.

◆ ValueUsage

Enumerator
Required 
Maybe 
Unused 

Definition at line 36 of file MOD_nodes_evaluator.cc.

Function Documentation

◆ evaluate_geometry_nodes()

void blender::modifiers::geometry_nodes::evaluate_geometry_nodes ( GeometryNodesEvaluationParams params)

Definition at line 1922 of file MOD_nodes_evaluator.cc.

References params.

Referenced by compute_geometry().

◆ get_implicit_socket_input()

static bool blender::modifiers::geometry_nodes::get_implicit_socket_input ( const SocketRef socket,
void r_value 
)
static

◆ get_socket_cpp_type() [1/2]

static const CPPType* blender::modifiers::geometry_nodes::get_socket_cpp_type ( const DSocket  socket)
static

◆ get_socket_cpp_type() [2/2]

static const CPPType* blender::modifiers::geometry_nodes::get_socket_cpp_type ( const SocketRef socket)
static

◆ get_socket_value()

static void blender::modifiers::geometry_nodes::get_socket_value ( const SocketRef socket,
void r_value 
)
static

◆ node_supports_laziness()

static bool blender::modifiers::geometry_nodes::node_supports_laziness ( const DNode  node)
static