Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2021-10-23 00:39:39 +0300
committerHans Goudey <h.goudey@me.com>2021-10-23 00:39:39 +0300
commit3e1fd2682807c31b62168737c953a6b4ea33ce77 (patch)
tree49d31038fcb99de61a724228993d5f48b7649d7c /source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc
parent8cd4cee0d551d9d960154ff0a9e59ccd21e63ce9 (diff)
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.
Diffstat (limited to 'source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc')
-rw-r--r--source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc4
1 files changed, 2 insertions, 2 deletions
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);