diff options
author | Hans Goudey <h.goudey@me.com> | 2022-05-20 17:00:26 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-05-20 17:00:26 +0300 |
commit | b215fe82e8d422bb537797146a5d5e7be1eefb91 (patch) | |
tree | a471e1504594bccb6c61709bf38ff9033263f804 /source/blender/editors/sculpt_paint | |
parent | f8239cc9a0ec2592f4431faf47fcfbd35eb525c8 (diff) |
Cleanup: Further simplification of loop syntax for curve segments
The same changes as 019681b9841d7e34bac56211d645cf0497f8e9cf.
Diffstat (limited to 'source/blender/editors/sculpt_paint')
3 files changed, 14 insertions, 17 deletions
diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_add.cc b/source/blender/editors/sculpt_paint/curves_sculpt_add.cc index db9afe878cc..d7f4b71d2d0 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_add.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_add.cc @@ -700,10 +700,9 @@ struct AddOperationExecutor { for (const NeighborInfo &neighbor : neighbors) { const IndexRange neighbor_points = curves_->points_for_curve(neighbor.index); float neighbor_length = 0.0f; - const int tot_segments = neighbor_points.size() - 1; - for (const int segment_i : IndexRange(tot_segments)) { - const float3 &p1 = positions_cu[neighbor_points[segment_i]]; - const float3 &p2 = positions_cu[neighbor_points[segment_i] + 1]; + for (const int segment_i : neighbor_points.drop_back(1)) { + const float3 &p1 = positions_cu[segment_i]; + const float3 &p2 = positions_cu[segment_i + 1]; neighbor_length += math::distance(p1, p2); } length_sum += neighbor.weight * neighbor_length; diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_brush.cc b/source/blender/editors/sculpt_paint/curves_sculpt_brush.cc index 9ebbf72806e..83e0d493d00 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_brush.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_brush.cc @@ -94,11 +94,10 @@ static std::optional<float3> find_curves_brush_position(const CurvesGeometry &cu for (const int curve_i : curves_range) { const IndexRange points = curves.points_for_curve(curve_i); - const int tot_segments = points.size() - 1; - for (const int segment_i : IndexRange(tot_segments)) { - const float3 &p1_cu = positions[points[segment_i]]; - const float3 &p2_cu = positions[points[segment_i] + 1]; + for (const int segment_i : points.drop_back(1)) { + const float3 &p1_cu = positions[segment_i]; + const float3 &p2_cu = positions[segment_i + 1]; float2 p1_re, p2_re; ED_view3d_project_float_v2_m4(®ion, p1_cu, p1_re, projection.values); diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc b/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc index 16df721a853..c864fb0c59f 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc @@ -390,13 +390,12 @@ struct CurvesEffectOperationExecutor { for (const int curve_i : curves_range) { const IndexRange points = curves_->points_for_curve(curve_i); - const int tot_segments = points.size() - 1; - float max_move_distance_cu = 0.0f; + float max_move_distance_cu = 0.0f; for (const float4x4 &brush_transform_inv : symmetry_brush_transforms_inv) { - for (const int segment_i : IndexRange(tot_segments)) { - const float3 &p1_cu = brush_transform_inv * positions_cu[points[segment_i]]; - const float3 &p2_cu = brush_transform_inv * positions_cu[points[segment_i] + 1]; + for (const int segment_i : points.drop_back(1)) { + const float3 p1_cu = brush_transform_inv * positions_cu[segment_i]; + const float3 p2_cu = brush_transform_inv * positions_cu[segment_i + 1]; float2 p1_re, p2_re; ED_view3d_project_float_v2_m4(region_, p1_cu, p1_re, projection.values); @@ -485,15 +484,15 @@ struct CurvesEffectOperationExecutor { for (const int curve_i : curves_range) { const IndexRange points = curves_->points_for_curve(curve_i); - const int tot_segments = points.size() - 1; + float max_move_distance_cu = 0.0f; for (const float4x4 &brush_transform : symmetry_brush_transforms) { const float3 brush_pos_start_transformed_cu = brush_transform * brush_pos_start_cu; const float3 brush_pos_end_transformed_cu = brush_transform * brush_pos_end_cu; - for (const int segment_i : IndexRange(tot_segments)) { - const float3 &p1_cu = positions_cu[points[segment_i]]; - const float3 &p2_cu = positions_cu[points[segment_i] + 1]; + for (const int segment_i : points.drop_back(1)) { + const float3 &p1_cu = positions_cu[segment_i]; + const float3 &p2_cu = positions_cu[segment_i + 1]; float3 closest_on_segment_cu; float3 closest_on_brush_cu; |