Blender V5.0
NOD_partial_eval.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
8
9#include "BLI_function_ref.hh"
10#include "BLI_set.hh"
11
13
14#include "DNA_node_types.h"
15
27
47 const Span<SocketInContext> initial_sockets,
48 bke::ComputeContextCache &compute_context_cache,
49 FunctionRef<void(const NodeInContext &ctx_node,
50 Vector<const bNodeSocket *> &r_outputs_to_propagate)> evaluate_node_fn,
51 FunctionRef<bool(const SocketInContext &ctx_from, const SocketInContext &ctx_to)>
52 propagate_value_fn);
53
59
84 const Span<SocketInContext> initial_sockets,
85 bke::ComputeContextCache &compute_context_cache,
86 FunctionRef<void(const NodeInContext &ctx_node,
87 Vector<const bNodeSocket *> &r_modified_inputs)> evaluate_node_fn,
88 FunctionRef<bool(const SocketInContext &ctx_from, const SocketInContext &ctx_to)>
89 propagate_value_fn,
90 FunctionRef<void(const NodeInContext &ctx_node, Vector<const bNodeSocket *> &r_sockets)>
91 get_inputs_to_propagate_fn);
92
93bool is_supported_value_node(const bNode &node);
94
95} // namespace blender::nodes::partial_eval
UpstreamEvalTargets eval_upstream(const Span< SocketInContext > initial_sockets, bke::ComputeContextCache &compute_context_cache, FunctionRef< void(const NodeInContext &ctx_node, Vector< const bNodeSocket * > &r_modified_inputs)> evaluate_node_fn, FunctionRef< bool(const SocketInContext &ctx_from, const SocketInContext &ctx_to)> propagate_value_fn, FunctionRef< void(const NodeInContext &ctx_node, Vector< const bNodeSocket * > &r_sockets)> get_inputs_to_propagate_fn)
void eval_downstream(const Span< SocketInContext > initial_sockets, bke::ComputeContextCache &compute_context_cache, FunctionRef< void(const NodeInContext &ctx_node, Vector< const bNodeSocket * > &r_outputs_to_propagate)> evaluate_node_fn, FunctionRef< bool(const SocketInContext &ctx_from, const SocketInContext &ctx_to)> propagate_value_fn)
bool is_supported_value_node(const bNode &node)