From bba45555264b36f2de0d275538843ad5f7a029f3 Mon Sep 17 00:00:00 2001 From: Falk David Date: Wed, 8 May 2024 12:27:40 +0200 Subject: [PATCH] Refactor: GPv3: Remove `get_eval_grease_pencil_layer_drawing*` functions As part of #121565. To avoid using drawing indices outside of the internal grease pencil API, this refactor adds the functions `GreasePencil::get_eval_drawing` to replace the `get_eval_grease_pencil_layer_drawing*` functions. Pull Request: https://projects.blender.org/blender/blender/pulls/121567 --- .../blender/blenkernel/BKE_grease_pencil.hh | 15 ++++-- .../intern/geometry_component_edit_data.cc | 4 +- .../blenkernel/intern/geometry_fields.cc | 18 +++---- .../blenkernel/intern/grease_pencil.cc | 52 +++++++++++-------- .../spreadsheet_data_source_geometry.cc | 4 +- .../spreadsheet_dataset_draw.cc | 6 +-- .../geometry/intern/separate_geometry.cc | 3 +- source/blender/geometry/intern/transform.cc | 8 +-- .../makesdna/DNA_grease_pencil_types.h | 13 +++++ .../geometry/nodes/node_geo_convex_hull.cc | 2 +- .../geometry/nodes/node_geo_curve_fill.cc | 2 +- .../geometry/nodes/node_geo_curve_fillet.cc | 2 +- .../geometry/nodes/node_geo_curve_length.cc | 2 +- .../geometry/nodes/node_geo_curve_resample.cc | 10 ++-- .../geometry/nodes/node_geo_curve_reverse.cc | 2 +- .../nodes/node_geo_curve_subdivide.cc | 2 +- .../geometry/nodes/node_geo_curve_to_mesh.cc | 2 +- .../nodes/node_geo_curve_to_points.cc | 2 +- .../geometry/nodes/node_geo_curve_trim.cc | 3 +- .../nodes/node_geo_instance_on_points.cc | 2 +- .../nodes/node_geo_set_curve_normal.cc | 2 +- .../nodes/node_geo_set_curve_radius.cc | 3 +- .../geometry/nodes/node_geo_set_curve_tilt.cc | 2 +- .../geometry/nodes/node_geo_set_material.cc | 3 +- .../nodes/node_geo_set_material_index.cc | 2 +- .../geometry/nodes/node_geo_set_position.cc | 3 +- .../nodes/node_geo_set_spline_cyclic.cc | 2 +- .../nodes/node_geo_set_spline_resolution.cc | 2 +- 28 files changed, 93 insertions(+), 80 deletions(-) diff --git a/source/blender/blenkernel/BKE_grease_pencil.hh b/source/blender/blenkernel/BKE_grease_pencil.hh index 46e48e42699..5c1460b5b46 100644 --- a/source/blender/blenkernel/BKE_grease_pencil.hh +++ b/source/blender/blenkernel/BKE_grease_pencil.hh @@ -150,10 +150,6 @@ class DrawingReference : public ::GreasePencilDrawingReference { ~DrawingReference(); }; -const Drawing *get_eval_grease_pencil_layer_drawing(const GreasePencil &grease_pencil, - int layer_index); -Drawing *get_eval_grease_pencil_layer_drawing_for_write(GreasePencil &grease_pencil, - int layer_index); /** * Copies the drawings from one array to another. Assumes that \a dst_drawings is allocated but not * initialized, e.g. it will allocate new drawings and store the pointers. @@ -916,6 +912,17 @@ inline GreasePencilDrawingBase *GreasePencil::drawing(const int64_t index) return this->drawings()[index]; } +inline const blender::bke::greasepencil::Layer *GreasePencil::layer(const int64_t index) const +{ + BLI_assert(index >= 0 && index < this->layers().size()); + return this->layers()[index]; +} +inline blender::bke::greasepencil::Layer *GreasePencil::layer(const int64_t index) +{ + BLI_assert(index >= 0 && index < this->layers().size()); + return this->layers_for_write()[index]; +} + inline const blender::bke::greasepencil::LayerGroup &GreasePencil::root_group() const { return this->root_group_ptr->wrap(); diff --git a/source/blender/blenkernel/intern/geometry_component_edit_data.cc b/source/blender/blenkernel/intern/geometry_component_edit_data.cc index a6059411067..f3cb3d6025c 100644 --- a/source/blender/blenkernel/intern/geometry_component_edit_data.cc +++ b/source/blender/blenkernel/intern/geometry_component_edit_data.cc @@ -97,8 +97,8 @@ static void remember_deformed_grease_pencil_if_necessary(const GreasePencil *gre MutableSpan all_hints = *edit_component.grease_pencil_edit_hints_->drawing_hints; for (const int layer_index : layers.index_range()) { - const greasepencil::Drawing *drawing = greasepencil::get_eval_grease_pencil_layer_drawing( - *grease_pencil, layer_index); + const greasepencil::Drawing *drawing = grease_pencil->get_eval_drawing( + *grease_pencil->layer(layer_index)); const greasepencil::Layer &orig_layer = *orig_layers[layer_index]; const greasepencil::Drawing *orig_drawing = orig_grease_pencil.get_drawing_at( orig_layer, grease_pencil->runtime->eval_frame); diff --git a/source/blender/blenkernel/intern/geometry_fields.cc b/source/blender/blenkernel/intern/geometry_fields.cc index 1a761980cb4..a43c03f72a8 100644 --- a/source/blender/blenkernel/intern/geometry_fields.cc +++ b/source/blender/blenkernel/intern/geometry_fields.cc @@ -42,9 +42,8 @@ GVArray GreasePencilLayerFieldContext::get_varray_for_input(const fn::FieldInput if (const CurvesFieldInput *curves_field_input = dynamic_cast( &field_input)) { - if (const bke::greasepencil::Drawing *drawing = - bke::greasepencil::get_eval_grease_pencil_layer_drawing(this->grease_pencil(), - this->layer_index())) + if (const bke::greasepencil::Drawing *drawing = this->grease_pencil().get_eval_drawing( + *this->grease_pencil().layer(this->layer_index()))) { if (drawing->strokes().attributes().domain_supported(this->domain())) { const CurvesFieldContext context{drawing->strokes(), this->domain()}; @@ -174,8 +173,8 @@ std::optional GeometryFieldContext::attributes() const if (domain_ == AttrDomain::Layer) { return grease_pencil->attributes(); } - if (const greasepencil::Drawing *drawing = greasepencil::get_eval_grease_pencil_layer_drawing( - *grease_pencil, grease_pencil_layer_index_)) + if (const greasepencil::Drawing *drawing = grease_pencil->get_eval_drawing( + *grease_pencil->layer(grease_pencil_layer_index_))) { return drawing->strokes().attributes(); } @@ -216,8 +215,8 @@ const greasepencil::Drawing *GeometryFieldContext::grease_pencil_layer_drawing() { return nullptr; } - return greasepencil::get_eval_grease_pencil_layer_drawing(*this->grease_pencil(), - this->grease_pencil_layer_index_); + return this->grease_pencil()->get_eval_drawing( + *this->grease_pencil()->layer(this->grease_pencil_layer_index_)); } const CurvesGeometry *GeometryFieldContext::curves_or_strokes() const { @@ -910,9 +909,8 @@ bool try_capture_field_on_geometry(GeometryComponent &component, bool any_success = false; threading::parallel_for(grease_pencil->layers().index_range(), 8, [&](const IndexRange range) { for (const int layer_index : range) { - if (greasepencil::Drawing *drawing = - greasepencil::get_eval_grease_pencil_layer_drawing_for_write(*grease_pencil, - layer_index)) + if (greasepencil::Drawing *drawing = grease_pencil->get_eval_drawing( + *grease_pencil->layer(layer_index))) { const GeometryFieldContext field_context{*grease_pencil, domain, layer_index}; const bool success = try_capture_field_on_geometry( diff --git a/source/blender/blenkernel/intern/grease_pencil.cc b/source/blender/blenkernel/intern/grease_pencil.cc index 5fce0b6553f..22f00e32b94 100644 --- a/source/blender/blenkernel/intern/grease_pencil.cc +++ b/source/blender/blenkernel/intern/grease_pencil.cc @@ -731,29 +731,6 @@ DrawingReference::DrawingReference(const DrawingReference &other) DrawingReference::~DrawingReference() = default; -const Drawing *get_eval_grease_pencil_layer_drawing(const GreasePencil &grease_pencil, - const int layer_index) -{ - BLI_assert(layer_index >= 0 && layer_index < grease_pencil.layers().size()); - const Layer &layer = *grease_pencil.layers()[layer_index]; - const int drawing_index = layer.drawing_index_at(grease_pencil.runtime->eval_frame); - if (drawing_index == -1) { - return nullptr; - } - const GreasePencilDrawingBase *drawing_base = grease_pencil.drawing(drawing_index); - if (drawing_base->type != GP_DRAWING) { - return nullptr; - } - const Drawing &drawing = reinterpret_cast(drawing_base)->wrap(); - return &drawing; -} - -Drawing *get_eval_grease_pencil_layer_drawing_for_write(GreasePencil &grease_pencil, - const int layer) -{ - return const_cast(get_eval_grease_pencil_layer_drawing(grease_pencil, layer)); -} - void copy_drawing_array(Span src_drawings, MutableSpan dst_drawings) { @@ -2431,6 +2408,23 @@ const blender::bke::greasepencil::Drawing *GreasePencil::get_drawing_at( return &drawing->wrap(); } +blender::bke::greasepencil::Drawing *GreasePencil::get_drawing_at( + const blender::bke::greasepencil::Layer &layer, const int frame_number) +{ + const int drawing_index = layer.drawing_index_at(frame_number); + if (drawing_index == -1) { + /* No drawing found. */ + return nullptr; + } + GreasePencilDrawingBase *drawing_base = this->drawing(drawing_index); + if (drawing_base->type != GP_DRAWING) { + /* TODO: Get reference drawing. */ + return nullptr; + } + GreasePencilDrawing *drawing = reinterpret_cast(drawing_base); + return &drawing->wrap(); +} + blender::bke::greasepencil::Drawing *GreasePencil::get_editable_drawing_at( const blender::bke::greasepencil::Layer &layer, const int frame_number) { @@ -2452,6 +2446,18 @@ blender::bke::greasepencil::Drawing *GreasePencil::get_editable_drawing_at( return &drawing->wrap(); } +const blender::bke::greasepencil::Drawing *GreasePencil::get_eval_drawing( + const blender::bke::greasepencil::Layer &layer) const +{ + return this->get_drawing_at(layer, this->runtime->eval_frame); +} + +blender::bke::greasepencil::Drawing *GreasePencil::get_eval_drawing( + const blender::bke::greasepencil::Layer &layer) +{ + return this->get_drawing_at(layer, this->runtime->eval_frame); +} + std::optional> GreasePencil::bounds_min_max(const int frame) const { using namespace blender; diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc b/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc index 04d3598dcf3..cb47f3c888b 100644 --- a/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc +++ b/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc @@ -466,8 +466,8 @@ std::optional GeometryDataSource::get_component_at return grease_pencil->attributes(); } if (layer_index_ >= 0 && layer_index_ < grease_pencil->layers().size()) { - if (const bke::greasepencil::Drawing *drawing = - bke::greasepencil::get_eval_grease_pencil_layer_drawing(*grease_pencil, layer_index_)) + if (const bke::greasepencil::Drawing *drawing = grease_pencil->get_eval_drawing( + *grease_pencil->layer(layer_index_))) { return drawing->strokes().attributes(); } diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc b/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc index 3dce9fde89b..c1ba82eb128 100644 --- a/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc +++ b/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc @@ -285,9 +285,9 @@ std::optional GeometryDataSetTreeViewItem::count() const } if (component_type_ == bke::GeometryComponent::Type::GreasePencil && layer_index_) { - if (const bke::greasepencil::Drawing *drawing = - bke::greasepencil::get_eval_grease_pencil_layer_drawing(*geometry.get_grease_pencil(), - *layer_index_)) + const GreasePencil *grease_pencil = geometry.get_grease_pencil(); + if (const bke::greasepencil::Drawing *drawing = grease_pencil->get_eval_drawing( + *grease_pencil->layer(*layer_index_))) { return drawing->strokes().attributes().domain_size(*domain_); } diff --git a/source/blender/geometry/intern/separate_geometry.cc b/source/blender/geometry/intern/separate_geometry.cc index db1294613a4..d62e548a6d0 100644 --- a/source/blender/geometry/intern/separate_geometry.cc +++ b/source/blender/geometry/intern/separate_geometry.cc @@ -243,8 +243,7 @@ void separate_geometry(bke::GeometrySet &geometry_set, else if (ELEM(domain, AttrDomain::Point, AttrDomain::Curve)) { GreasePencil &grease_pencil = *geometry_set.get_grease_pencil_for_write(); for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, - layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/geometry/intern/transform.cc b/source/blender/geometry/intern/transform.cc index 60921219779..ee89fd6023e 100644 --- a/source/blender/geometry/intern/transform.cc +++ b/source/blender/geometry/intern/transform.cc @@ -89,9 +89,7 @@ static void translate_greasepencil(GreasePencil &grease_pencil, const float3 tra { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - if (Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, - layer_index)) - { + if (Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index))) { drawing->strokes_for_write().translate(translation); } } @@ -101,9 +99,7 @@ static void transform_greasepencil(GreasePencil &grease_pencil, const float4x4 & { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - if (Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, - layer_index)) - { + if (Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index))) { drawing->strokes_for_write().transform(transform); } } diff --git a/source/blender/makesdna/DNA_grease_pencil_types.h b/source/blender/makesdna/DNA_grease_pencil_types.h index b170599a3f1..50648abca1c 100644 --- a/source/blender/makesdna/DNA_grease_pencil_types.h +++ b/source/blender/makesdna/DNA_grease_pencil_types.h @@ -492,6 +492,8 @@ typedef struct GreasePencil { /* Layers, layer groups and nodes read/write access. */ blender::Span layers() const; blender::Span layers_for_write(); + const blender::bke::greasepencil::Layer *layer(int64_t index) const; + blender::bke::greasepencil::Layer *layer(int64_t index); blender::Span layer_groups() const; blender::Span layer_groups_for_write(); @@ -618,6 +620,8 @@ typedef struct GreasePencil { */ const blender::bke::greasepencil::Drawing *get_drawing_at( const blender::bke::greasepencil::Layer &layer, int frame_number) const; + blender::bke::greasepencil::Drawing *get_drawing_at( + const blender::bke::greasepencil::Layer &layer, int frame_number); /** * Returns an editable drawing on \a layer at frame \a frame_number or `nullptr` if no such * drawing exists. @@ -625,6 +629,15 @@ typedef struct GreasePencil { blender::bke::greasepencil::Drawing *get_editable_drawing_at( const blender::bke::greasepencil::Layer &layer, int frame_number); + /** + * Returns a drawing on \a layer at the frame this grease pencil was evaluated at or `nullptr` if + * no such drawing exists. + */ + const blender::bke::greasepencil::Drawing *get_eval_drawing( + const blender::bke::greasepencil::Layer &layer) const; + blender::bke::greasepencil::Drawing *get_eval_drawing( + const blender::bke::greasepencil::Layer &layer); + std::optional> bounds_min_max(int frame) const; std::optional> bounds_min_max_eval() const; diff --git a/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc b/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc index e3ff9421cf6..01939c59e3a 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc @@ -215,7 +215,7 @@ static void convex_hull_grease_pencil(GeometrySet &geometry_set) Array mesh_by_layer(grease_pencil.layers().size(), nullptr); for (const int layer_index : grease_pencil.layers().index_range()) { - const Drawing *drawing = get_eval_grease_pencil_layer_drawing(grease_pencil, layer_index); + const Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } 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 870367b10c1..8f9ca2bd1b1 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc @@ -266,7 +266,7 @@ static void curve_fill_calculate(GeometrySet &geometry_set, const GreasePencil &grease_pencil = *geometry_set.get_grease_pencil(); Vector mesh_by_layer(grease_pencil.layers().size(), nullptr); for (const int layer_index : grease_pencil.layers().index_range()) { - const Drawing *drawing = get_eval_grease_pencil_layer_drawing(grease_pencil, layer_index); + const Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } 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 6585d229640..1ebaf284890 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_fillet.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_fillet.cc @@ -99,7 +99,7 @@ static void fillet_grease_pencil(GreasePencil &grease_pencil, { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_length.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_length.cc index 130a1e3c922..326adc1e557 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_length.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_length.cc @@ -41,7 +41,7 @@ static void node_geo_exec(GeoNodeExecParams params) using namespace bke::greasepencil; const GreasePencil &grease_pencil = *geometry_set.get_grease_pencil(); for (const int layer_index : grease_pencil.layers().index_range()) { - const Drawing *drawing = get_eval_grease_pencil_layer_drawing(grease_pencil, layer_index); + const Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } 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 82f58f4e8c3..103bf20709d 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc @@ -84,8 +84,8 @@ static void node_geo_exec(GeoNodeExecParams params) if (GreasePencil *grease_pencil = geometry_set.get_grease_pencil_for_write()) { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil->layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(*grease_pencil, - layer_index); + Drawing *drawing = grease_pencil->get_eval_drawing(*grease_pencil->layer(layer_index)); + if (drawing == nullptr) { continue; } @@ -116,8 +116,7 @@ static void node_geo_exec(GeoNodeExecParams params) if (GreasePencil *grease_pencil = geometry_set.get_grease_pencil_for_write()) { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil->layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(*grease_pencil, - layer_index); + Drawing *drawing = grease_pencil->get_eval_drawing(*grease_pencil->layer(layer_index)); if (drawing == nullptr) { continue; } @@ -147,8 +146,7 @@ static void node_geo_exec(GeoNodeExecParams params) if (GreasePencil *grease_pencil = geometry_set.get_grease_pencil_for_write()) { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil->layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(*grease_pencil, - layer_index); + Drawing *drawing = grease_pencil->get_eval_drawing(*grease_pencil->layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_reverse.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_reverse.cc index b91c1823a26..2a3cad14928 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_reverse.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_reverse.cc @@ -37,7 +37,7 @@ static void reverse_grease_pencil(GreasePencil &grease_pencil, const Field { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_subdivide.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_subdivide.cc index 24c16affb5e..b2829f2e272 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_subdivide.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_subdivide.cc @@ -53,7 +53,7 @@ static void subdivide_grease_pencil_curves( { using namespace bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc index a6ec69e35df..5763f0c6cf1 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc @@ -58,7 +58,7 @@ static void grease_pencil_to_mesh(GeometrySet &geometry_set, Array mesh_by_layer(grease_pencil.layers().size(), nullptr); for (const int layer_index : grease_pencil.layers().index_range()) { - const Drawing *drawing = get_eval_grease_pencil_layer_drawing(grease_pencil, layer_index); + const Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_to_points.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_to_points.cc index 3e858bcd117..f3cd957d69c 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_to_points.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_to_points.cc @@ -236,7 +236,7 @@ static void grease_pencil_to_points(GeometrySet &geometry_set, const GreasePencil &grease_pencil = *geometry.get_grease_pencil(); Vector pointcloud_by_layer(grease_pencil.layers().size(), nullptr); for (const int layer_index : grease_pencil.layers().index_range()) { - const Drawing *drawing = get_eval_grease_pencil_layer_drawing(grease_pencil, layer_index); + const Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } 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 929bad2fa4c..11755052bc1 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_curve_trim.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_curve_trim.cc @@ -175,8 +175,7 @@ static void geometry_set_curve_trim(GeometrySet &geometry_set, using namespace bke::greasepencil; GreasePencil &grease_pencil = *geometry_set.get_grease_pencil_for_write(); for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, - layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } 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 f2fa71068de..3f07e6cf468 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 @@ -227,7 +227,7 @@ static void node_geo_exec(GeoNodeExecParams params) using namespace bke::greasepencil; const GreasePencil &grease_pencil = *geometry_set.get_grease_pencil(); for (const int layer_index : grease_pencil.layers().index_range()) { - const Drawing *drawing = get_eval_grease_pencil_layer_drawing(grease_pencil, layer_index); + const Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_curve_normal.cc b/source/blender/nodes/geometry/nodes/node_geo_set_curve_normal.cc index ded077ee86f..e105c296fcd 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_curve_normal.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_curve_normal.cc @@ -79,7 +79,7 @@ static void set_grease_pencil_normal(GreasePencil &grease_pencil, { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_curve_radius.cc b/source/blender/nodes/geometry/nodes/node_geo_set_curve_radius.cc index ed0cc07b698..41b8c2bd534 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_curve_radius.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_curve_radius.cc @@ -50,8 +50,7 @@ static void node_geo_exec(GeoNodeExecParams params) if (GreasePencil *grease_pencil = geometry_set.get_grease_pencil_for_write()) { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil->layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(*grease_pencil, - layer_index); + Drawing *drawing = grease_pencil->get_eval_drawing(*grease_pencil->layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_curve_tilt.cc b/source/blender/nodes/geometry/nodes/node_geo_set_curve_tilt.cc index 01402ae04cb..25f5b04fdce 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_curve_tilt.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_curve_tilt.cc @@ -37,7 +37,7 @@ static void set_grease_pencil_tilt(GreasePencil &grease_pencil, { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } 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 2ba91107df4..11623096d75 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_material.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_material.cc @@ -116,8 +116,7 @@ static void node_geo_exec(GeoNodeExecParams params) using namespace blender::bke::greasepencil; Vector mesh_by_layer(grease_pencil->layers().size(), nullptr); for (const int layer_index : grease_pencil->layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(*grease_pencil, - layer_index); + Drawing *drawing = grease_pencil->get_eval_drawing(*grease_pencil->layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_material_index.cc b/source/blender/nodes/geometry/nodes/node_geo_set_material_index.cc index 0d691837f85..95bdb1c3180 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_material_index.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_material_index.cc @@ -27,7 +27,7 @@ static void set_material_index_in_grease_pencil(GreasePencil &grease_pencil, { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { 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 7675728afbd..f4be78630d6 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_position.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_position.cc @@ -82,8 +82,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 = bke::greasepencil::get_eval_grease_pencil_layer_drawing_for_write( - grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr || drawing->strokes().points_num() == 0) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_spline_cyclic.cc b/source/blender/nodes/geometry/nodes/node_geo_set_spline_cyclic.cc index 37e5d118f0a..21330e539aa 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_spline_cyclic.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_spline_cyclic.cc @@ -37,7 +37,7 @@ static void set_grease_pencil_cyclic(GreasePencil &grease_pencil, { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; } diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_spline_resolution.cc b/source/blender/nodes/geometry/nodes/node_geo_set_spline_resolution.cc index 031ac039bca..7c33c49f718 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_set_spline_resolution.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_set_spline_resolution.cc @@ -37,7 +37,7 @@ static void set_grease_pencil_resolution(GreasePencil &grease_pencil, { using namespace blender::bke::greasepencil; for (const int layer_index : grease_pencil.layers().index_range()) { - Drawing *drawing = get_eval_grease_pencil_layer_drawing_for_write(grease_pencil, layer_index); + Drawing *drawing = grease_pencil.get_eval_drawing(*grease_pencil.layer(layer_index)); if (drawing == nullptr) { continue; }