Blender
V3.3
source
blender
modifiers
intern
MOD_nodes_evaluator.hh
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3
#pragma once
4
5
#include "
BLI_generic_pointer.hh
"
6
#include "
BLI_map.hh
"
7
8
#include "
NOD_derived_node_tree.hh
"
9
#include "
NOD_geometry_nodes_eval_log.hh
"
10
#include "
NOD_multi_function.hh
"
11
12
#include "
DNA_modifier_types.h
"
13
14
#include "
FN_multi_function.hh
"
15
16
namespace
geo_log
=
blender::nodes::geometry_nodes_eval_log
;
17
18
namespace
blender::modifiers::geometry_nodes
{
19
20
using namespace
nodes::derived_node_tree_types;
21
22
struct
GeometryNodesEvaluationParams
{
23
blender::LinearAllocator<>
allocator
;
24
25
Map<DOutputSocket, GMutablePointer>
input_values
;
26
Vector<DInputSocket>
output_sockets
;
27
/* These sockets will be computed but are not part of the output. Their value can be retrieved in
28
* `log_socket_value_fn`. These sockets are not part of `output_sockets` because then the
29
* evaluator would have to keep the socket values in memory until the end, which might not be
30
* necessary in all cases. Sometimes `log_socket_value_fn` might just want to look at the value
31
* and then it can be freed. */
32
Vector<DSocket>
force_compute_sockets
;
33
nodes::NodeMultiFunctions
*
mf_by_node
;
34
const
NodesModifierData
*
modifier_
;
35
Depsgraph
*
depsgraph
;
36
Object
*
self_object
;
37
geo_log::GeoLogger
*
geo_logger
;
38
39
Vector<GMutablePointer>
r_output_values
;
40
};
41
42
void
evaluate_geometry_nodes
(
GeometryNodesEvaluationParams
&
params
);
43
44
}
// namespace blender::modifiers::geometry_nodes
BLI_generic_pointer.hh
BLI_map.hh
Depsgraph
struct Depsgraph Depsgraph
Definition:
DEG_depsgraph.h:35
DNA_modifier_types.h
FN_multi_function.hh
NOD_derived_node_tree.hh
NOD_geometry_nodes_eval_log.hh
NOD_multi_function.hh
blender::LinearAllocator
Definition:
BLI_linear_allocator.hh:19
blender::Map
Definition:
BLI_map.hh:108
blender::Vector< DInputSocket >
blender::nodes::NodeMultiFunctions
Definition:
NOD_multi_function.hh:52
blender::nodes::geometry_nodes_eval_log::GeoLogger
Definition:
NOD_geometry_nodes_eval_log.hh:236
params
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]
Definition:
interface_widgets.c:1132
blender::modifiers::geometry_nodes
Definition:
MOD_nodes_evaluator.cc:27
blender::modifiers::geometry_nodes::evaluate_geometry_nodes
void evaluate_geometry_nodes(GeometryNodesEvaluationParams ¶ms)
Definition:
MOD_nodes_evaluator.cc:1922
blender::nodes::geometry_nodes_eval_log
Definition:
UI_interface.hh:16
NodesModifierData
Definition:
DNA_modifier_types.h:2284
Object
Definition:
DNA_object_types.h:242
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams
Definition:
MOD_nodes_evaluator.hh:22
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::output_sockets
Vector< DInputSocket > output_sockets
Definition:
MOD_nodes_evaluator.hh:26
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::self_object
Object * self_object
Definition:
MOD_nodes_evaluator.hh:36
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::depsgraph
Depsgraph * depsgraph
Definition:
MOD_nodes_evaluator.hh:35
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::input_values
Map< DOutputSocket, GMutablePointer > input_values
Definition:
MOD_nodes_evaluator.hh:25
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::r_output_values
Vector< GMutablePointer > r_output_values
Definition:
MOD_nodes_evaluator.hh:39
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::modifier_
const NodesModifierData * modifier_
Definition:
MOD_nodes_evaluator.hh:34
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::mf_by_node
nodes::NodeMultiFunctions * mf_by_node
Definition:
MOD_nodes_evaluator.hh:33
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::force_compute_sockets
Vector< DSocket > force_compute_sockets
Definition:
MOD_nodes_evaluator.hh:32
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::allocator
blender::LinearAllocator allocator
Definition:
MOD_nodes_evaluator.hh:23
blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::geo_logger
geo_log::GeoLogger * geo_logger
Definition:
MOD_nodes_evaluator.hh:37
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1