diff --git a/source/blender/blenkernel/BKE_curves.hh b/source/blender/blenkernel/BKE_curves.hh index f0cfa85b891..0f8c00dbe66 100644 --- a/source/blender/blenkernel/BKE_curves.hh +++ b/source/blender/blenkernel/BKE_curves.hh @@ -158,6 +158,11 @@ class CurvesGeometry : public ::CurvesGeometry { * The number of curves in the data-block. */ int curves_num() const; + /** + * Return true if there are no curves in the geometry. + */ + bool is_empty() const; + IndexRange points_range() const; IndexRange curves_range() const; @@ -880,6 +885,12 @@ inline int CurvesGeometry::curves_num() const { return this->curve_num; } +inline bool CurvesGeometry::is_empty() const +{ + /* Each curve must have at least one point. */ + BLI_assert((this->curve_num == 0) == (this->point_num == 0)); + return this->curve_num == 0; +} inline IndexRange CurvesGeometry::points_range() const { return IndexRange(this->points_num()); diff --git a/source/blender/blenkernel/intern/curves_geometry.cc b/source/blender/blenkernel/intern/curves_geometry.cc index d1be84dbdf9..e05029b02bd 100644 --- a/source/blender/blenkernel/intern/curves_geometry.cc +++ b/source/blender/blenkernel/intern/curves_geometry.cc @@ -1189,7 +1189,7 @@ void CurvesGeometry::transform(const float4x4 &matrix) std::optional> CurvesGeometry::bounds_min_max() const { - if (this->points_num() == 0) { + if (this->is_empty()) { return std::nullopt; } this->runtime->bounds_cache.ensure( diff --git a/source/blender/blenkernel/intern/curves_geometry_test.cc b/source/blender/blenkernel/intern/curves_geometry_test.cc index 571f20542a6..63df57f0975 100644 --- a/source/blender/blenkernel/intern/curves_geometry_test.cc +++ b/source/blender/blenkernel/intern/curves_geometry_test.cc @@ -33,6 +33,7 @@ TEST(curves_geometry, Empty) { CurvesGeometry empty(0, 0); empty.cyclic(); + EXPECT_TRUE(empty.is_empty()); EXPECT_FALSE(empty.bounds_min_max()); } @@ -46,7 +47,7 @@ TEST(curves_geometry, Move) CurvesGeometry other = std::move(curves); /* The old curves should be empty, and the offsets are expected to be null. */ - EXPECT_EQ(curves.points_num(), 0); /* NOLINT: bugprone-use-after-move */ + EXPECT_TRUE(curves.is_empty()); /* NOLINT: bugprone-use-after-move */ EXPECT_EQ(curves.curve_offsets, nullptr); /* NOLINT: bugprone-use-after-move */ /* Just a basic check that the new curves work okay. */ diff --git a/source/blender/blenkernel/intern/curves_utils.cc b/source/blender/blenkernel/intern/curves_utils.cc index 8214fda1278..5fd3ad069a1 100644 --- a/source/blender/blenkernel/intern/curves_utils.cc +++ b/source/blender/blenkernel/intern/curves_utils.cc @@ -88,7 +88,7 @@ namespace bezier { Array retrieve_all_positions(const bke::CurvesGeometry &curves, const IndexMask &curves_selection) { - if (curves.curves_num() == 0 || !curves.has_curve_with_type(CURVE_TYPE_BEZIER)) { + if (curves.is_empty() || !curves.has_curve_with_type(CURVE_TYPE_BEZIER)) { return {}; } const OffsetIndices points_by_curve = curves.points_by_curve(); @@ -114,7 +114,7 @@ void write_all_positions(bke::CurvesGeometry &curves, const IndexMask &curves_selection, const Span all_positions) { - if (curves_selection.is_empty() || curves.curves_num() == 0 || + if (curves_selection.is_empty() || curves.is_empty() || !curves.has_curve_with_type(CURVE_TYPE_BEZIER)) { return; diff --git a/source/blender/editors/curves/intern/curves_ops.cc b/source/blender/editors/curves/intern/curves_ops.cc index 679baca3987..bb711b5439d 100644 --- a/source/blender/editors/curves/intern/curves_ops.cc +++ b/source/blender/editors/curves/intern/curves_ops.cc @@ -800,7 +800,7 @@ static int curves_set_selection_domain_exec(bContext *C, wmOperator *op) CurvesGeometry &curves = curves_id->geometry.wrap(); bke::MutableAttributeAccessor attributes = curves.attributes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { continue; } diff --git a/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc b/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc index 2a7c1a3bb9c..704976f700e 100644 --- a/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc +++ b/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc @@ -103,7 +103,7 @@ static int grease_pencil_stroke_smooth_exec(bContext *C, wmOperator *op) const Vector drawings = retrieve_editable_drawings(*scene, grease_pencil); threading::parallel_for_each(drawings, [&](const MutableDrawingInfo &info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } @@ -262,7 +262,7 @@ static int grease_pencil_stroke_simplify_exec(bContext *C, wmOperator *op) const Vector drawings = retrieve_editable_drawings(*scene, grease_pencil); threading::parallel_for_each(drawings, [&](const MutableDrawingInfo &info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } @@ -618,7 +618,7 @@ static int grease_pencil_dissolve_exec(bContext *C, wmOperator *op) const Vector drawings = retrieve_editable_drawings(*scene, grease_pencil); threading::parallel_for_each(drawings, [&](const MutableDrawingInfo &info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } @@ -2314,7 +2314,7 @@ static int grease_pencil_copy_strokes_exec(bContext *C, wmOperator *op) const Layer &layer = grease_pencil.layer(drawing_info.layer_index); const float4x4 layer_to_object = layer.to_object_space(*object); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { continue; } if (!ed::curves::has_anything_selected(curves)) { @@ -2975,7 +2975,7 @@ static int grease_pencil_snap_to_grid_exec(bContext *C, wmOperator * /*op*/) const Vector drawings = retrieve_editable_drawings(scene, grease_pencil); for (const MutableDrawingInfo &drawing_info : drawings) { bke::CurvesGeometry &curves = drawing_info.drawing.strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { continue; } if (!ed::curves::has_anything_selected(curves)) { @@ -3037,7 +3037,7 @@ static int grease_pencil_snap_to_cursor_exec(bContext *C, wmOperator *op) const Vector drawings = retrieve_editable_drawings(scene, grease_pencil); for (const MutableDrawingInfo &drawing_info : drawings) { bke::CurvesGeometry &curves = drawing_info.drawing.strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { continue; } if (!ed::curves::has_anything_selected(curves)) { @@ -3133,7 +3133,7 @@ static bool grease_pencil_snap_compute_centroid(const Scene &scene, continue; } const bke::CurvesGeometry &curves = drawing_info.drawing.strokes(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { continue; } if (!ed::curves::has_anything_selected(curves)) { diff --git a/source/blender/editors/grease_pencil/intern/grease_pencil_frames.cc b/source/blender/editors/grease_pencil/intern/grease_pencil_frames.cc index 087d46b0a3b..45480da421c 100644 --- a/source/blender/editors/grease_pencil/intern/grease_pencil_frames.cc +++ b/source/blender/editors/grease_pencil/intern/grease_pencil_frames.cc @@ -453,7 +453,7 @@ static bool curves_geometry_is_equal(const bke::CurvesGeometry &curves_a, { using namespace blender::bke; - if (curves_a.points_num() == 0 && curves_b.points_num() == 0) { + if (curves_a.is_empty() && curves_b.is_empty()) { return true; } diff --git a/source/blender/editors/grease_pencil/intern/grease_pencil_merge.cc b/source/blender/editors/grease_pencil/intern/grease_pencil_merge.cc index 2231e2a00a7..795c1c9f9db 100644 --- a/source/blender/editors/grease_pencil/intern/grease_pencil_merge.cc +++ b/source/blender/editors/grease_pencil/intern/grease_pencil_merge.cc @@ -92,7 +92,7 @@ static bke::CurvesGeometry join_curves(const GreasePencil &src_grease_pencil, Vector src_geometries(all_src_curves.size()); for (const int src_curves_i : all_src_curves.index_range()) { bke::CurvesGeometry src_curves = *all_src_curves[src_curves_i]; - if (src_curves.curves_num() == 0) { + if (src_curves.is_empty()) { continue; } const float4x4 &transform = transforms_to_apply[src_curves_i]; diff --git a/source/blender/editors/grease_pencil/intern/grease_pencil_select.cc b/source/blender/editors/grease_pencil/intern/grease_pencil_select.cc index 6d9fc58b057..9913e9ff8e9 100644 --- a/source/blender/editors/grease_pencil/intern/grease_pencil_select.cc +++ b/source/blender/editors/grease_pencil/intern/grease_pencil_select.cc @@ -874,7 +874,7 @@ static int select_set_mode_exec(bContext *C, wmOperator *op) GreasePencilDrawing *drawing = reinterpret_cast(drawing_base); bke::CurvesGeometry &curves = drawing->wrap().strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { continue; } diff --git a/source/blender/editors/grease_pencil/intern/grease_pencil_vertex_paint.cc b/source/blender/editors/grease_pencil/intern/grease_pencil_vertex_paint.cc index 0a61ba0725f..335af92cb6b 100644 --- a/source/blender/editors/grease_pencil/intern/grease_pencil_vertex_paint.cc +++ b/source/blender/editors/grease_pencil/intern/grease_pencil_vertex_paint.cc @@ -109,7 +109,7 @@ static int grease_pencil_vertex_paint_brightness_contrast_exec(bContext *C, wmOp Vector drawings = retrieve_editable_drawings(scene, grease_pencil); threading::parallel_for_each(drawings, [&](MutableDrawingInfo info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { return; } const bool changed = apply_color_operation_for_mode( @@ -163,7 +163,7 @@ static int grease_pencil_vertex_paint_hsv_exec(bContext *C, wmOperator *op) Vector drawings = retrieve_editable_drawings(scene, grease_pencil); threading::parallel_for_each(drawings, [&](MutableDrawingInfo info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { return; } const bool changed = apply_color_operation_for_mode( @@ -228,7 +228,7 @@ static int grease_pencil_vertex_paint_invert_exec(bContext *C, wmOperator *op) Vector drawings = retrieve_editable_drawings(scene, grease_pencil); threading::parallel_for_each(drawings, [&](MutableDrawingInfo info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { return; } const bool changed = apply_color_operation_for_mode( @@ -278,7 +278,7 @@ static int grease_pencil_vertex_paint_levels_exec(bContext *C, wmOperator *op) Vector drawings = retrieve_editable_drawings(scene, grease_pencil); threading::parallel_for_each(drawings, [&](MutableDrawingInfo info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { return; } const bool changed = apply_color_operation_for_mode( @@ -338,7 +338,7 @@ static int grease_pencil_vertex_paint_set_exec(bContext *C, wmOperator *op) Vector drawings = retrieve_editable_drawings(scene, grease_pencil); threading::parallel_for_each(drawings, [&](MutableDrawingInfo info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { return; } /* Create the color attributes if they don't exist. */ @@ -396,7 +396,7 @@ static int grease_pencil_vertex_paint_reset_exec(bContext *C, wmOperator *op) Vector drawings = retrieve_editable_drawings(scene, grease_pencil); threading::parallel_for_each(drawings, [&](MutableDrawingInfo info) { bke::CurvesGeometry &curves = info.drawing.strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { return; } /* Remove the color attributes. */ diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_comb.cc b/source/blender/editors/sculpt_paint/curves_sculpt_comb.cc index 614a8be6156..b10096e2b5f 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_comb.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_comb.cc @@ -114,7 +114,7 @@ struct CombOperationExecutor { curves_ob_orig_ = CTX_data_active_object(&C); curves_id_orig_ = static_cast(curves_ob_orig_->data); curves_orig_ = &curves_id_orig_->geometry.wrap(); - if (curves_orig_->curves_num() == 0) { + if (curves_orig_->is_empty()) { return; } diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_density.cc b/source/blender/editors/sculpt_paint/curves_sculpt_density.cc index d5557c8395a..1b958fa3b89 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_density.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_density.cc @@ -534,7 +534,7 @@ struct DensitySubtractOperationExecutor { curves_id_ = static_cast(object_->data); curves_ = &curves_id_->geometry.wrap(); - if (curves_->curves_num() == 0) { + if (curves_->is_empty()) { return; } 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 f6381b58a10..4b4eca6afca 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc @@ -268,7 +268,7 @@ struct CurvesEffectOperationExecutor { curves_id_ = static_cast(object_->data); curves_ = &curves_id_->geometry.wrap(); - if (curves_->curves_num() == 0) { + if (curves_->is_empty()) { return; } diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_pinch.cc b/source/blender/editors/sculpt_paint/curves_sculpt_pinch.cc index cd2f3142fcd..2328dcd01a1 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_pinch.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_pinch.cc @@ -90,7 +90,7 @@ struct PinchOperationExecutor { object_ = CTX_data_active_object(&C); curves_id_ = static_cast(object_->data); curves_ = &curves_id_->geometry.wrap(); - if (curves_->curves_num() == 0) { + if (curves_->is_empty()) { return; } diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_puff.cc b/source/blender/editors/sculpt_paint/curves_sculpt_puff.cc index 34bcc2fbb4f..1e95a983b2f 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_puff.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_puff.cc @@ -88,7 +88,7 @@ struct PuffOperationExecutor { object_ = CTX_data_active_object(&C); curves_id_ = static_cast(object_->data); curves_ = &curves_id_->geometry.wrap(); - if (curves_->curves_num() == 0) { + if (curves_->is_empty()) { return; } if (curves_id_->surface == nullptr || curves_id_->surface->type != OB_MESH) { diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_selection_paint.cc b/source/blender/editors/sculpt_paint/curves_sculpt_selection_paint.cc index 291aeeac785..8590cd34489 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_selection_paint.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_selection_paint.cc @@ -87,7 +87,7 @@ struct SelectionPaintOperationExecutor { curves_id_ = static_cast(object_->data); curves_ = &curves_id_->geometry.wrap(); - if (curves_->curves_num() == 0) { + if (curves_->is_empty()) { return; } selection_ = float_selection_ensure(*curves_id_); diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_slide.cc b/source/blender/editors/sculpt_paint/curves_sculpt_slide.cc index 74a784603b0..64814141e91 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_slide.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_slide.cc @@ -133,7 +133,7 @@ struct SlideOperationExecutor { report_missing_surface(stroke_extension.reports); return; } - if (curves_orig_->curves_num() == 0) { + if (curves_orig_->is_empty()) { return; } if (curves_id_orig_->surface_uv_map == nullptr) { diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_smooth.cc b/source/blender/editors/sculpt_paint/curves_sculpt_smooth.cc index 860f1db33c5..711c155311d 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_smooth.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_smooth.cc @@ -69,7 +69,7 @@ struct SmoothOperationExecutor { object_ = CTX_data_active_object(&C); curves_id_ = static_cast(object_->data); curves_ = &curves_id_->geometry.wrap(); - if (curves_->curves_num() == 0) { + if (curves_->is_empty()) { return; } diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc b/source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc index 119b56270ca..54dbe60f064 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc @@ -114,7 +114,7 @@ struct SnakeHookOperatorExecutor { curves_id_ = static_cast(object_->data); curves_ = &curves_id_->geometry.wrap(); - if (curves_->curves_num() == 0) { + if (curves_->is_empty()) { return; } diff --git a/source/blender/editors/sculpt_paint/grease_pencil_draw_ops.cc b/source/blender/editors/sculpt_paint/grease_pencil_draw_ops.cc index e409c4172fc..d8ec6f39177 100644 --- a/source/blender/editors/sculpt_paint/grease_pencil_draw_ops.cc +++ b/source/blender/editors/sculpt_paint/grease_pencil_draw_ops.cc @@ -1283,7 +1283,7 @@ static Vector ensure_editable_drawings(const Scene &scene, static void smooth_fill_strokes(bke::CurvesGeometry &curves, const IndexMask &stroke_mask) { const int iterations = 20; - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } if (stroke_mask.is_empty()) { diff --git a/source/blender/editors/sculpt_paint/grease_pencil_paint.cc b/source/blender/editors/sculpt_paint/grease_pencil_paint.cc index 30aa1d54b56..2151286deee 100644 --- a/source/blender/editors/sculpt_paint/grease_pencil_paint.cc +++ b/source/blender/editors/sculpt_paint/grease_pencil_paint.cc @@ -1200,7 +1200,7 @@ static void trim_stroke_ends(bke::greasepencil::Drawing &drawing, true); /* No intersection found. */ - if (stroke_trimmed.points_num() == 0) { + if (stroke_trimmed.is_empty()) { return; } diff --git a/source/blender/editors/space_view3d/view3d_snap.cc b/source/blender/editors/space_view3d/view3d_snap.cc index 9142a270e3f..4885dd2c17d 100644 --- a/source/blender/editors/space_view3d/view3d_snap.cc +++ b/source/blender/editors/space_view3d/view3d_snap.cc @@ -1073,7 +1073,7 @@ bool ED_view3d_minmax_verts(const Scene *scene, Object *obedit, float r_min[3], greasepencil::retrieve_editable_drawings(*scene, grease_pencil); for (const greasepencil::MutableDrawingInfo info : drawings) { const bke::CurvesGeometry &curves = info.drawing.strokes(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { continue; } diff --git a/source/blender/geometry/intern/interpolate_curves.cc b/source/blender/geometry/intern/interpolate_curves.cc index bcbcef3823e..ffcee822dcf 100644 --- a/source/blender/geometry/intern/interpolate_curves.cc +++ b/source/blender/geometry/intern/interpolate_curves.cc @@ -286,7 +286,7 @@ void interpolate_curves(const CurvesGeometry &from_curves, BLI_assert(from_curve_indices.size() == dst_curve_mask.size()); BLI_assert(to_curve_indices.size() == dst_curve_mask.size()); - if (from_curves.curves_num() == 0 || to_curves.curves_num() == 0) { + if (from_curves.is_empty() || to_curves.is_empty()) { return; } diff --git a/source/blender/geometry/intern/merge_layers.cc b/source/blender/geometry/intern/merge_layers.cc index ec80ece990d..0d6839c1d0f 100644 --- a/source/blender/geometry/intern/merge_layers.cc +++ b/source/blender/geometry/intern/merge_layers.cc @@ -22,7 +22,7 @@ static bke::CurvesGeometry join_curves(const GreasePencil &src_grease_pencil, Vector src_geometries(all_src_curves.size()); for (const int src_curves_i : all_src_curves.index_range()) { bke::CurvesGeometry src_curves = *all_src_curves[src_curves_i]; - if (src_curves.curves_num() == 0) { + if (src_curves.is_empty()) { continue; } const float4x4 &transform = transforms_to_apply[src_curves_i]; diff --git a/source/blender/geometry/intern/separate_geometry.cc b/source/blender/geometry/intern/separate_geometry.cc index c787b9a6946..c607257bb64 100644 --- a/source/blender/geometry/intern/separate_geometry.cc +++ b/source/blender/geometry/intern/separate_geometry.cc @@ -216,7 +216,7 @@ void separate_geometry(bke::GeometrySet &geometry_set, std::optional dst_curves = separate_curves_selection( src_curves, field_context, selection, domain, attribute_filter); if (dst_curves) { - if (dst_curves->points_num() == 0) { + if (dst_curves->is_empty()) { geometry_set.remove(); } else { diff --git a/source/blender/geometry/intern/subdivide_curves.cc b/source/blender/geometry/intern/subdivide_curves.cc index 5ff869190f5..66de0dcdbb9 100644 --- a/source/blender/geometry/intern/subdivide_curves.cc +++ b/source/blender/geometry/intern/subdivide_curves.cc @@ -273,7 +273,7 @@ bke::CurvesGeometry subdivide_curves(const bke::CurvesGeometry &src_curves, const VArray &cuts, const bke::AttributeFilter &attribute_filter) { - if (src_curves.points_num() == 0) { + if (src_curves.is_empty()) { return src_curves; } diff --git a/source/blender/io/alembic/exporter/abc_writer_curves.cc b/source/blender/io/alembic/exporter/abc_writer_curves.cc index 2d904003685..fd20f1dd698 100644 --- a/source/blender/io/alembic/exporter/abc_writer_curves.cc +++ b/source/blender/io/alembic/exporter/abc_writer_curves.cc @@ -110,7 +110,7 @@ void ABCCurveWriter::do_write(HierarchyContext &context) } const bke::CurvesGeometry &curves = curves_id->geometry.wrap(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } diff --git a/source/blender/io/usd/intern/usd_writer_curves.cc b/source/blender/io/usd/intern/usd_writer_curves.cc index bf8f0c652c9..442d6bb56e9 100644 --- a/source/blender/io/usd/intern/usd_writer_curves.cc +++ b/source/blender/io/usd/intern/usd_writer_curves.cc @@ -490,7 +490,7 @@ void USDCurvesWriter::do_write(HierarchyContext &context) } const bke::CurvesGeometry &curves = curves_id->geometry.wrap(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_build.cc b/source/blender/modifiers/intern/MOD_grease_pencil_build.cc index 5d1d81c80e7..59b46e7b300 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_build.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_build.cc @@ -561,7 +561,7 @@ static void build_drawing(const GreasePencilBuildModifierData &mmd, modifier::greasepencil::ensure_no_bezier_curves(drawing); bke::CurvesGeometry &curves = drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_hook.cc b/source/blender/modifiers/intern/MOD_grease_pencil_hook.cc index ebcdb674924..329385a2c37 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_hook.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_hook.cc @@ -157,7 +157,7 @@ static void deform_drawing(const ModifierData &md, modifier::greasepencil::ensure_no_bezier_curves(drawing); bke::CurvesGeometry &curves = drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } IndexMaskMemory memory; diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_length.cc b/source/blender/modifiers/intern/MOD_grease_pencil_length.cc index 4c4e458fcdf..bba46dbef50 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_length.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_length.cc @@ -113,7 +113,7 @@ static void deform_drawing(const ModifierData &md, modifier::greasepencil::ensure_no_bezier_curves(drawing); bke::CurvesGeometry &curves = drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_noise.cc b/source/blender/modifiers/intern/MOD_grease_pencil_noise.cc index 845b2f43ead..dbf2a34eb09 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_noise.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_noise.cc @@ -101,7 +101,7 @@ static void deform_drawing(const GreasePencilNoiseModifierData &mmd, modifier::greasepencil::ensure_no_bezier_curves(drawing); bke::CurvesGeometry &strokes = drawing.strokes_for_write(); bke::MutableAttributeAccessor attributes = strokes.attributes_for_write(); - if (strokes.points_num() == 0) { + if (strokes.is_empty()) { return; } diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_smooth.cc b/source/blender/modifiers/intern/MOD_grease_pencil_smooth.cc index 28672ce80cb..5ed96903e1b 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_smooth.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_smooth.cc @@ -111,7 +111,7 @@ static void deform_drawing(const ModifierData &md, modifier::greasepencil::ensure_no_bezier_curves(drawing); bke::CurvesGeometry &curves = drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc b/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc index 48a852e3aaf..ad3db9889eb 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc @@ -90,7 +90,7 @@ static void deform_drawing(const ModifierData &md, const auto &mmd = reinterpret_cast(md); bke::CurvesGeometry &curves = drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_weight_angle.cc b/source/blender/modifiers/intern/MOD_grease_pencil_weight_angle.cc index e687fcbead2..fe38aef7724 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_weight_angle.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_weight_angle.cc @@ -128,7 +128,7 @@ static void write_weights_for_drawing(const ModifierData &md, { const auto &mmd = reinterpret_cast(md); bke::CurvesGeometry &curves = drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } IndexMaskMemory memory; diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_weight_proximity.cc b/source/blender/modifiers/intern/MOD_grease_pencil_weight_proximity.cc index d8d372379e0..a86445272ba 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_weight_proximity.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_weight_proximity.cc @@ -155,7 +155,7 @@ static void write_weights_for_drawing(const ModifierData &md, { const auto &mmd = reinterpret_cast(md); bke::CurvesGeometry &curves = drawing.strokes_for_write(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } IndexMaskMemory memory; diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_endpoint_selection.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_endpoint_selection.cc index 0b1ee83cf04..2f38285ed97 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_endpoint_selection.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_endpoint_selection.cc @@ -53,7 +53,7 @@ class EndpointFieldInput final : public bke::GeometryFieldInput { return {}; } const bke::CurvesGeometry &curves = *curves_ptr; - if (curves.points_num() == 0) { + if (curves.is_empty()) { return {}; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc index 37b08c38af5..9efbc94d97c 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc @@ -271,7 +271,7 @@ static void curve_fill_calculate(GeometrySet &geometry_set, continue; } const bke::CurvesGeometry &src_curves = drawing->strokes(); - if (src_curves.curves_num() == 0) { + if (src_curves.is_empty()) { continue; } const Array> results = do_group_aware_cdt( diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_fillet.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_fillet.cc index df2bee4ed8a..04791ab21f2 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_fillet.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_fillet.cc @@ -108,7 +108,7 @@ static void fillet_grease_pencil(GreasePencil &grease_pencil, continue; } const bke::CurvesGeometry &src_curves = drawing->strokes(); - if (src_curves.points_num() == 0) { + if (src_curves.is_empty()) { continue; } const bke::GreasePencilLayerFieldContext field_context( diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_sample.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_sample.cc index 468e85d3937..2171cd92f1a 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_sample.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_sample.cc @@ -267,7 +267,7 @@ class SampleCurveFunction : public mf::MultiFunction { const Curves &curves_id = *geometry_set_.get_curves(); const bke::CurvesGeometry &curves = curves_id.geometry.wrap(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return return_default(); } curves.ensure_can_interpolate_to_evaluated(); @@ -441,7 +441,7 @@ static void node_geo_exec(GeoNodeExecParams params) const Curves &curves_id = *geometry_set.get_curves(); const bke::CurvesGeometry &curves = curves_id.geometry.wrap(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { params.set_default_remaining_outputs(); return; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_trim.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_trim.cc index bfd6a7e5c75..e80fe50b597 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_trim.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_trim.cc @@ -127,7 +127,7 @@ static bool trim_curves(const bke::CurvesGeometry &src_curves, const AttributeFilter &attribute_filter, bke::CurvesGeometry &dst_curves) { - if (src_curves.curves_num() == 0) { + if (src_curves.is_empty()) { return false; } fn::FieldEvaluator evaluator{field_context, src_curves.curves_num()}; diff --git a/source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc b/source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc index 5446e4c4c88..49faa7e7e7c 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc @@ -731,7 +731,7 @@ static bke::CurvesGeometry duplicate_points_CurvesGeometry( const IndexAttributes &attribute_outputs, const AttributeFilter &attribute_filter) { - if (src_curves.points_num() == 0) { + if (src_curves.is_empty()) { return {}; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc b/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc index 20a18b9da6a..be14bc8acd3 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc @@ -234,7 +234,7 @@ static void node_geo_exec(GeoNodeExecParams params) continue; } const bke::CurvesGeometry &src_curves = drawing->strokes(); - if (src_curves.curves_num() == 0) { + if (src_curves.is_empty()) { /* Add an empty reference so the number of layers and instances match. * This makes it easy to reconstruct the layers afterwards and keep their attributes. * Although in this particular case we don't propagate the attributes. */ diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc b/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc index b1b412c63f2..fb7a602b69e 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc @@ -89,7 +89,7 @@ static void set_position_in_component(Curves &curves_id, const Field &offset_field) { bke::CurvesGeometry &curves = curves_id.geometry.wrap(); - if (curves.points_num() == 0) { + if (curves.is_empty()) { return; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_material.cc b/source/blender/nodes/geometry/nodes/node_geo_set_material.cc index 41124ba87d1..4ae5e2b1580 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_material.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_material.cc @@ -120,7 +120,7 @@ static void node_geo_exec(GeoNodeExecParams params) continue; } bke::CurvesGeometry &curves = drawing->strokes_for_write(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_position.cc b/source/blender/nodes/geometry/nodes/node_geo_set_position.cc index c388c307a10..a62b0adcc64 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_position.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_position.cc @@ -83,7 +83,7 @@ static void set_position_in_grease_pencil(GreasePencil &grease_pencil, using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { Drawing *drawing = grease_pencil.get_eval_drawing(grease_pencil.layer(layer_index)); - if (drawing == nullptr || drawing->strokes().points_num() == 0) { + if (drawing == nullptr || drawing->strokes().is_empty()) { continue; } set_curves_position( diff --git a/source/blender/nodes/intern/geometry_nodes_foreach_geometry_element_zone.cc b/source/blender/nodes/intern/geometry_nodes_foreach_geometry_element_zone.cc index c5bce90e21f..e82892ed09b 100644 --- a/source/blender/nodes/intern/geometry_nodes_foreach_geometry_element_zone.cc +++ b/source/blender/nodes/intern/geometry_nodes_foreach_geometry_element_zone.cc @@ -442,7 +442,7 @@ class LazyFunctionForForeachGeometryElementZone : public LazyFunction { continue; } const bke::CurvesGeometry &curves = drawing->strokes(); - if (curves.curves_num() == 0) { + if (curves.is_empty()) { continue; } component_ids.append({component_type, iteration_domain, layer_i});