Cleanup: Further simplification of loop syntax for curve segments

The same changes as 019681b984.
This commit is contained in:
Hans Goudey 2022-05-20 16:00:26 +02:00
parent f8239cc9a0
commit b215fe82e8
3 changed files with 14 additions and 17 deletions

View File

@ -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;

View File

@ -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(&region, p1_cu, p1_re, projection.values);

View File

@ -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;