Blender
V4.3
source
blender
nodes
NOD_inverse_eval_run.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
7
#include "
NOD_inverse_eval_params.hh
"
8
9
#include "
BKE_node_socket_value.hh
"
10
11
#include "
BLI_compute_context.hh
"
12
13
#include "
NOD_geometry_nodes_log.hh
"
14
15
struct
NodesModifierData
;
16
17
namespace
blender::nodes::inverse_eval
{
18
19
using
bke::SocketValueVariant;
20
25
struct
SocketToUpdate
{
26
const
ComputeContext
*context =
nullptr
;
27
const
bNodeSocket
*
socket
=
nullptr
;
29
const
bNodeLink
*
multi_input_link
=
nullptr
;
31
SocketValueVariant
new_value
;
32
};
33
37
bool
backpropagate_socket_values
(
bContext
&C,
38
Object
&
object
,
39
NodesModifierData
&nmd,
40
geo_eval_log::GeoModifierLog
&eval_log,
41
Span<SocketToUpdate>
sockets_to_update);
42
46
std::optional<SocketValueVariant>
get_logged_socket_value
(
geo_eval_log::GeoTreeLog
&tree_log,
47
const
bNodeSocket
&socket);
48
52
std::optional<bke::SocketValueVariant>
convert_single_socket_value
(
53
const
bNodeSocket
&old_socket,
54
const
bNodeSocket
&new_socket,
55
const
bke::SocketValueVariant
&old_value);
56
57
}
// namespace blender::nodes::inverse_eval
BKE_node_socket_value.hh
BLI_compute_context.hh
NOD_geometry_nodes_log.hh
NOD_inverse_eval_params.hh
blender::ComputeContext
Definition
BLI_compute_context.hh:73
blender::Span
Definition
BLI_span.hh:75
blender::bke::SocketValueVariant
Definition
BKE_node_socket_value.hh:33
blender::nodes::geo_eval_log::GeoModifierLog
Definition
NOD_geometry_nodes_log.hh:352
blender::nodes::geo_eval_log::GeoTreeLog
Definition
NOD_geometry_nodes_log.hh:292
blender::nodes::inverse_eval
Definition
BKE_node.hh:76
blender::nodes::inverse_eval::backpropagate_socket_values
bool backpropagate_socket_values(bContext &C, Object &object, NodesModifierData &nmd, geo_eval_log::GeoModifierLog &eval_log, const Span< SocketToUpdate > sockets_to_update)
Definition
inverse_eval.cc:685
blender::nodes::inverse_eval::get_logged_socket_value
std::optional< SocketValueVariant > get_logged_socket_value(geo_eval_log::GeoTreeLog &tree_log, const bNodeSocket &socket)
Definition
inverse_eval.cc:577
blender::nodes::inverse_eval::convert_single_socket_value
std::optional< SocketValueVariant > convert_single_socket_value(const bNodeSocket &old_socket, const bNodeSocket &new_socket, const SocketValueVariant &old_value)
Definition
inverse_eval.cc:43
NodesModifierData
Definition
DNA_modifier_types.h:2508
Object
Definition
DNA_object_types.h:193
bContext
Definition
blenkernel/intern/context.cc:61
bNodeLink
Definition
DNA_node_types.h:605
bNodeSocket
Definition
DNA_node_types.h:121
blender::nodes::inverse_eval::SocketToUpdate
Definition
NOD_inverse_eval_run.hh:25
blender::nodes::inverse_eval::SocketToUpdate::socket
const bNodeSocket * socket
Definition
NOD_inverse_eval_run.hh:27
blender::nodes::inverse_eval::SocketToUpdate::multi_input_link
const bNodeLink * multi_input_link
Definition
NOD_inverse_eval_run.hh:29
blender::nodes::inverse_eval::SocketToUpdate::new_value
SocketValueVariant new_value
Definition
NOD_inverse_eval_run.hh:31
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0