diff options
author | Jacques Lucke <jacques@blender.org> | 2021-12-07 17:21:59 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-12-07 17:22:08 +0300 |
commit | a8e0fe6a542318a31dff94e9fcfdc420a4808af2 (patch) | |
tree | ca94f6cf889e35b86e4e7173ada714a08d63bfcf /source/blender | |
parent | 2309fa20af416d479fc220d0841483eb3bcf55b0 (diff) |
Geometry Nodes: move type conversions to blenkernel
The type conversions do not depend on other files in the nodes
module. Furthermore we want to use the conversions in the
geometry module without creating a dependency to the
nodes module there.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/BKE_type_conversions.hh (renamed from source/blender/nodes/NOD_type_conversions.hh) | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/CMakeLists.txt | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/attribute_access.cc | 17 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/type_conversions.cc (renamed from source/blender/nodes/intern/type_conversions.cc) | 6 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_nodes_evaluator.cc | 7 | ||||
-rw-r--r-- | source/blender/nodes/CMakeLists.txt | 2 | ||||
-rw-r--r-- | source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc | 3 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_geometry_exec.cc | 5 |
8 files changed, 23 insertions, 23 deletions
diff --git a/source/blender/nodes/NOD_type_conversions.hh b/source/blender/blenkernel/BKE_type_conversions.hh index c8b24fd1260..27419b32de6 100644 --- a/source/blender/nodes/NOD_type_conversions.hh +++ b/source/blender/blenkernel/BKE_type_conversions.hh @@ -18,7 +18,7 @@ #include "FN_multi_function.hh" -namespace blender::nodes { +namespace blender::bke { using fn::CPPType; @@ -79,4 +79,4 @@ class DataTypeConversions { const DataTypeConversions &get_implicit_type_conversions(); -} // namespace blender::nodes +} // namespace blender::bke diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index a2179a42520..5a9b5735838 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -226,6 +226,7 @@ set(SRC intern/multires_versioning.c intern/nla.c intern/node.cc + intern/type_conversions.cc intern/object.cc intern/object_deform.c intern/object_dupli.cc @@ -456,6 +457,7 @@ set(SRC BKE_text_suggestions.h BKE_texture.h BKE_tracking.h + BKE_type_conversions.hh BKE_undo_system.h BKE_unit.h BKE_vfont.h diff --git a/source/blender/blenkernel/intern/attribute_access.cc b/source/blender/blenkernel/intern/attribute_access.cc index d510a405b46..c1a83e65362 100644 --- a/source/blender/blenkernel/intern/attribute_access.cc +++ b/source/blender/blenkernel/intern/attribute_access.cc @@ -23,6 +23,7 @@ #include "BKE_geometry_set.hh" #include "BKE_mesh.h" #include "BKE_pointcloud.h" +#include "BKE_type_conversions.hh" #include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" @@ -36,8 +37,6 @@ #include "CLG_log.h" -#include "NOD_type_conversions.hh" - #include "attribute_access_intern.hh" static CLG_LogRef LOG = {"bke.attribute_access"}; @@ -766,8 +765,8 @@ GVArray CustomDataAttributes::get_for_read(const AttributeIDRef &attribute_id, if (attribute->type() == *type) { return GVArray::ForSpan(*attribute); } - const blender::nodes::DataTypeConversions &conversions = - blender::nodes::get_implicit_type_conversions(); + const blender::bke::DataTypeConversions &conversions = + blender::bke::get_implicit_type_conversions(); return conversions.try_convert(GVArray::ForSpan(*attribute), *type); } @@ -1112,8 +1111,8 @@ std::optional<AttributeMetaData> GeometryComponent::attribute_get_meta_data( static blender::fn::GVArray try_adapt_data_type(blender::fn::GVArray varray, const blender::fn::CPPType &to_type) { - const blender::nodes::DataTypeConversions &conversions = - blender::nodes::get_implicit_type_conversions(); + const blender::bke::DataTypeConversions &conversions = + blender::bke::get_implicit_type_conversions(); return conversions.try_convert(std::move(varray), to_type); } @@ -1178,8 +1177,8 @@ blender::bke::ReadAttributeLookup GeometryComponent::attribute_try_get_for_read( if (attribute.varray.type() == *type) { return attribute; } - const blender::nodes::DataTypeConversions &conversions = - blender::nodes::get_implicit_type_conversions(); + const blender::bke::DataTypeConversions &conversions = + blender::bke::get_implicit_type_conversions(); return {conversions.try_convert(std::move(attribute.varray), *type), attribute.domain}; } @@ -1299,7 +1298,7 @@ static OutputAttribute create_output_attribute(GeometryComponent &component, const CPPType *cpp_type = custom_data_type_to_cpp_type(data_type); BLI_assert(cpp_type != nullptr); - const nodes::DataTypeConversions &conversions = nodes::get_implicit_type_conversions(); + const DataTypeConversions &conversions = get_implicit_type_conversions(); if (component.attribute_is_builtin(attribute_id)) { const StringRef attribute_name = attribute_id.name(); diff --git a/source/blender/nodes/intern/type_conversions.cc b/source/blender/blenkernel/intern/type_conversions.cc index d4cd7dc6bfe..ab42d508538 100644 --- a/source/blender/nodes/intern/type_conversions.cc +++ b/source/blender/blenkernel/intern/type_conversions.cc @@ -14,7 +14,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#include "NOD_type_conversions.hh" +#include "BKE_type_conversions.hh" #include "FN_multi_function_builder.hh" @@ -22,7 +22,7 @@ #include "BLI_float2.hh" #include "BLI_float3.hh" -namespace blender::nodes { +namespace blender::bke { using fn::MFDataType; @@ -344,4 +344,4 @@ fn::GVMutableArray DataTypeConversions::try_convert(fn::GVMutableArray varray, std::move(varray), to_type, *this); } -} // namespace blender::nodes +} // namespace blender::bke diff --git a/source/blender/modifiers/intern/MOD_nodes_evaluator.cc b/source/blender/modifiers/intern/MOD_nodes_evaluator.cc index dee9329e21b..4e808120f4a 100644 --- a/source/blender/modifiers/intern/MOD_nodes_evaluator.cc +++ b/source/blender/modifiers/intern/MOD_nodes_evaluator.cc @@ -16,9 +16,10 @@ #include "MOD_nodes_evaluator.hh" +#include "BKE_type_conversions.hh" + #include "NOD_geometry_exec.hh" #include "NOD_socket_declarations.hh" -#include "NOD_type_conversions.hh" #include "DEG_depsgraph_query.h" @@ -449,7 +450,7 @@ class GeometryNodesEvaluator { TaskPool *task_pool_ = nullptr; GeometryNodesEvaluationParams ¶ms_; - const blender::nodes::DataTypeConversions &conversions_; + const blender::bke::DataTypeConversions &conversions_; friend NodeParamsProvider; @@ -457,7 +458,7 @@ class GeometryNodesEvaluator { GeometryNodesEvaluator(GeometryNodesEvaluationParams ¶ms) : outer_allocator_(params.allocator), params_(params), - conversions_(blender::nodes::get_implicit_type_conversions()) + conversions_(blender::bke::get_implicit_type_conversions()) { } diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index c8a14f25f21..da7b7712267 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -288,7 +288,6 @@ set(SRC intern/node_socket_declarations.cc intern/node_tree_ref.cc intern/node_util.c - intern/type_conversions.cc composite/node_composite_util.hh function/node_function_util.hh @@ -312,7 +311,6 @@ set(SRC NOD_socket_declarations_geometry.hh NOD_static_types.h NOD_texture.h - NOD_type_conversions.hh intern/node_common.h intern/node_exec.h intern/node_util.h diff --git a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc index 82dd6e294e9..48bec4cf9da 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc @@ -19,12 +19,11 @@ #include "BKE_mesh_runtime.h" #include "BKE_pointcloud.h" #include "BKE_spline.hh" +#include "BKE_type_conversions.hh" #include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" -#include "NOD_type_conversions.hh" - #include "node_geometry_util.hh" namespace blender::nodes::node_geo_join_geometry_cc { diff --git a/source/blender/nodes/intern/node_geometry_exec.cc b/source/blender/nodes/intern/node_geometry_exec.cc index ce87b40fec7..ca89e4f67c3 100644 --- a/source/blender/nodes/intern/node_geometry_exec.cc +++ b/source/blender/nodes/intern/node_geometry_exec.cc @@ -18,8 +18,9 @@ #include "DEG_depsgraph_query.h" +#include "BKE_type_conversions.hh" + #include "NOD_geometry_exec.hh" -#include "NOD_type_conversions.hh" #include "node_geometry_util.hh" @@ -149,7 +150,7 @@ GVArray GeoNodeExecParams::get_input_attribute(const StringRef name, } return GVArray::ForSingle(*cpp_type, domain_size, default_value); } - const DataTypeConversions &conversions = get_implicit_type_conversions(); + const bke::DataTypeConversions &conversions = bke::get_implicit_type_conversions(); if (found_socket->type == SOCK_FLOAT) { const float value = this->get_input<float>(found_socket->identifier); BUFFER_FOR_CPP_TYPE_VALUE(*cpp_type, buffer); |