[Bf-blender-cvs] [3e1fd268280] master: Fix: Assert for unused field evaluator in resample curve node
Hans Goudey
noreply at git.blender.org
Fri Oct 22 23:39:46 CEST 2021
Commit: 3e1fd2682807c31b62168737c953a6b4ea33ce77
Author: Hans Goudey
Date: Fri Oct 22 16:39:39 2021 -0500
Branches: master
https://developer.blender.org/rB3e1fd2682807c31b62168737c953a6b4ea33ce77
Fix: Assert for unused field evaluator in resample curve node
Declare it at a lower scope so it doesn't go unused in evaluated mode.
===================================================================
M source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc
===================================================================
diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc
index 3db18992c93..2617b2f6646 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc
@@ -171,8 +171,6 @@ static std::unique_ptr<CurveEval> resample_curve(const CurveComponent *component
GeometryComponentFieldContext field_context{*component, ATTR_DOMAIN_CURVE};
const int domain_size = component->attribute_domain_size(ATTR_DOMAIN_CURVE);
- fn::FieldEvaluator evaluator{field_context, domain_size};
-
Span<SplinePtr> input_splines = input_curve->splines();
std::unique_ptr<CurveEval> output_curve = std::make_unique<CurveEval>();
@@ -180,6 +178,7 @@ static std::unique_ptr<CurveEval> resample_curve(const CurveComponent *component
MutableSpan<SplinePtr> output_splines = output_curve->splines();
if (mode_param.mode == GEO_NODE_CURVE_RESAMPLE_COUNT) {
+ fn::FieldEvaluator evaluator{field_context, domain_size};
evaluator.add(*mode_param.count);
evaluator.evaluate();
const VArray<int> &cuts = evaluator.get_evaluated<int>(0);
@@ -192,6 +191,7 @@ static std::unique_ptr<CurveEval> resample_curve(const CurveComponent *component
});
}
else if (mode_param.mode == GEO_NODE_CURVE_RESAMPLE_LENGTH) {
+ fn::FieldEvaluator evaluator{field_context, domain_size};
evaluator.add(*mode_param.length);
evaluator.evaluate();
const VArray<float> &lengths = evaluator.get_evaluated<float>(0);
More information about the Bf-blender-cvs
mailing list