Blender V4.3
blender::bke::greasepencil::Drawing Class Reference

#include <BKE_grease_pencil.hh>

Inherits GreasePencilDrawing.

Public Member Functions

 Drawing ()
 
 Drawing (const Drawing &other)
 
 Drawing (Drawing &&other)
 
Drawingoperator= (const Drawing &other)
 
Drawingoperator= (Drawing &&other)
 
 ~Drawing ()
 
const bke::CurvesGeometrystrokes () const
 
bke::CurvesGeometrystrokes_for_write ()
 
Span< uint3triangles () const
 
Span< float3curve_plane_normals () const
 
void tag_texture_matrices_changed ()
 
void tag_positions_changed ()
 
void tag_positions_changed (const IndexMask &changed_curves)
 
void tag_topology_changed ()
 
void tag_topology_changed (const IndexMask &changed_curves)
 
Span< float4x2texture_matrices () const
 
void set_texture_matrices (Span< float4x2 > matrices, const IndexMask &selection)
 
VArray< floatradii () const
 
MutableSpan< floatradii_for_write ()
 
VArray< floatopacities () const
 
MutableSpan< floatopacities_for_write ()
 
VArray< ColorGeometry4fvertex_colors () const
 
MutableSpan< ColorGeometry4fvertex_colors_for_write ()
 
VArray< ColorGeometry4ffill_colors () const
 
MutableSpan< ColorGeometry4ffill_colors_for_write ()
 
void add_user () const
 
void remove_user () const
 
bool is_instanced () const
 
bool has_users () const
 
int user_count () const
 

Additional Inherited Members

- Public Attributes inherited from GreasePencilDrawing
GreasePencilDrawingBase base
 
CurvesGeometry geometry
 
GreasePencilDrawingRuntimeHandleruntime
 

Detailed Description

Constructor & Destructor Documentation

◆ Drawing() [1/3]

◆ Drawing() [2/3]

blender::bke::greasepencil::Drawing::Drawing ( const Drawing & other)

◆ Drawing() [3/3]

◆ ~Drawing()

Member Function Documentation

◆ add_user()

void blender::bke::greasepencil::Drawing::add_user ( ) const
inline

Add a user for this drawing. When a drawing has multiple users, both users are allowed to modify this drawings data.

Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 758 of file BKE_grease_pencil.hh.

References GreasePencilDrawing::runtime.

Referenced by grease_pencil_transdata_add_drawing_users().

◆ curve_plane_normals()

◆ fill_colors()

VArray< ColorGeometry4f > blender::bke::greasepencil::Drawing::fill_colors ( ) const

Fill colors of the curves. Default is black and fully transparent. This is mixed on top of the base material fill color.

Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 758 of file grease_pencil.cc.

References blender::bke::greasepencil::ATTR_FILL_COLOR, and blender::bke::Curve.

Referenced by blender::io::grease_pencil::GreasePencilExporter::foreach_stroke_in_layer(), and blender::draw::grease_pencil_geom_batch_ensure().

◆ fill_colors_for_write()

◆ has_users()

bool blender::bke::greasepencil::Drawing::has_users ( ) const
inline

Return true if this drawing has at least one user.

Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 770 of file BKE_grease_pencil.hh.

References GreasePencilDrawing::runtime.

◆ is_instanced()

bool blender::bke::greasepencil::Drawing::is_instanced ( ) const
inline

Returns true for when this drawing has more than one user.

Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 766 of file BKE_grease_pencil.hh.

References GreasePencilDrawing::runtime.

◆ opacities()

◆ opacities_for_write()

◆ operator=() [1/2]

Drawing & blender::bke::greasepencil::Drawing::operator= ( const Drawing & other)

◆ operator=() [2/2]

Drawing & blender::bke::greasepencil::Drawing::operator= ( Drawing && other)

Definition at line 359 of file grease_pencil.cc.

References Drawing().

◆ radii()

◆ radii_for_write()

◆ remove_user()

void blender::bke::greasepencil::Drawing::remove_user ( ) const
inline

Removes a user from this drawing. Note that this does not handle deleting the drawing if it has not users.

Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 762 of file BKE_grease_pencil.hh.

References GreasePencilDrawing::runtime.

Referenced by grease_pencil_transdata_remove_drawing_users().

◆ set_texture_matrices()

◆ strokes()

const bke::CurvesGeometry & blender::bke::greasepencil::Drawing::strokes ( ) const
Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 710 of file grease_pencil.cc.

Referenced by blender::ed::greasepencil::apply_color_operation_for_mode(), blender::ed::object::apply_eval_grease_pencil_data(), blender::ed::greasepencil::bake_grease_pencil_animation_exec(), BKE_grease_pencil_material_index_used(), BKE_grease_pencil_point_coords_get(), BKE_grease_pencil_stroke_point_count(), blender::ed::greasepencil::build_curves_2d_bvh_from_visible(), blender::build_drawing(), blender::ed::spreadsheet::GreasePencilLayerCurvesDomainViewItem::build_row(), blender::ed::greasepencil::clipboard_paste_strokes(), blender::io::grease_pencil::compute_drawing_bounds(), blender::ed::greasepencil::create_curves_outline(), blender::create_envelope_strokes(), blender::nodes::node_geo_curve_fill_cc::curve_fill_calculate(), curve_plane_normals(), blender::ed::sculpt_paint::greasepencil::deselect_stroke(), blender::ed::greasepencil::image_render::draw_grease_pencil_strokes(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_layers(), ed_grease_pencil_select_pick(), blender::modifier::greasepencil::ensure_no_bezier_curves(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::execute(), blender::geometry::execute_realize_grease_pencil_task(), blender::ed::greasepencil::execute_trim_on_drawing(), blender::geometry::extract_greasepencil_layer_curves(), blender::geometry::extract_greasepencil_layer_points(), blender::geometry::extract_greasepencil_layers(), blender::nodes::node_geo_curve_fillet_cc::fillet_grease_pencil(), blender::ed::sculpt_paint::greasepencil::find_curve_mapping_from_index(), blender::io::grease_pencil::GreasePencilExporter::foreach_stroke_in_layer(), blender::nodes::node_geo_curve_trim_cc::geometry_set_curve_trim(), blender::bke::crazyspace::get_evaluated_grease_pencil_drawing_deformation(), blender::bke::AttributeExistsFieldInput::get_varray_for_context(), blender::ed::greasepencil::get_visible_boundary_strokes(), blender::io::grease_pencil::get_visible_strokes(), gizmo_3d_foreach_selected(), blender::draw::grease_pencil_cache_add_nurbs(), blender::ed::greasepencil::grease_pencil_extrude_exec(), blender::ed::sculpt_paint::grease_pencil_fill_extension_cut(), blender::ed::sculpt_paint::grease_pencil_fill_get_extension_data(), blender::draw::grease_pencil_geom_batch_ensure(), blender::draw::grease_pencil_get_visible_non_nurbs_curves(), blender::draw::grease_pencil_get_visible_nurbs_curves(), blender::draw::grease_pencil_get_visible_nurbs_points(), blender::ed::greasepencil::grease_pencil_stroke_merge_by_distance_exec(), blender::ed::greasepencil::grease_pencil_texture_gradient_exec(), blender::nodes::node_geo_curve_to_mesh_cc::grease_pencil_to_mesh(), blender::nodes::node_geo_curve_to_points_cc::grease_pencil_to_points(), blender::draw::index_buf_add_line_points(), blender::draw::index_buf_add_nurbs_lines(), blender::draw::index_buf_add_points(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), MOD_lineart_gpencil_generate_v3(), blender::modify_curves(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_fill_color(), blender::modify_fill_color(), blender::nodes::node_geo_curve_length_cc::node_geo_exec(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_geo_exec(), blender::nodes::node_geo_instance_on_points_cc::node_geo_exec(), blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_done(), OVERLAY_grease_pencil_material_names(), blender::nodes::LazyFunctionForForeachGeometryElementZone::prepare_components(), blender::bke::remember_deformed_grease_pencil_if_necessary(), blender::ed::greasepencil::retrieve_editable_and_selected_fill_strokes(), blender::ed::greasepencil::retrieve_editable_and_selected_points(), blender::ed::greasepencil::retrieve_editable_and_selected_strokes(), blender::ed::greasepencil::retrieve_editable_fill_strokes(), blender::ed::greasepencil::retrieve_editable_points(), blender::ed::greasepencil::retrieve_editable_strokes(), blender::ed::greasepencil::retrieve_editable_strokes_by_material(), blender::ed::greasepencil::retrieve_visible_bezier_handle_points(), blender::ed::greasepencil::retrieve_visible_points(), blender::ed::greasepencil::retrieve_visible_strokes(), blender::ed::greasepencil::select_all_exec(), blender::ed::greasepencil::select_ends_exec(), blender::ed::greasepencil::select_less_exec(), blender::ed::greasepencil::select_more_exec(), blender::ed::greasepencil::select_random_exec(), blender::geometry::separate_geometry(), blender::bke::bake::serialize_geometry_set(), blender::nodes::node_geo_set_position_cc::set_position_in_grease_pencil(), blender::io::grease_pencil::shift_to_bounds_center(), blender::simplify_drawing(), blender::ed::sculpt_paint::greasepencil::simplify_stroke(), blender::ed::sculpt_paint::greasepencil::smooth_stroke(), blender::subdivide_drawing(), blender::nodes::node_geo_curve_subdivide_cc::subdivide_grease_pencil_curves(), texture_matrices(), triangles(), blender::ed::sculpt_paint::greasepencil::trim_end_points(), blender::ed::sculpt_paint::greasepencil::trim_stroke_ends(), blender::ed::greasepencil::weight_sample_invoke(), and ~Drawing().

◆ strokes_for_write()

bke::CurvesGeometry & blender::bke::greasepencil::Drawing::strokes_for_write ( )
Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 715 of file grease_pencil.cc.

Referenced by blender::ed::greasepencil::add_armature_automatic_weights(), blender::ed::greasepencil::add_armature_envelope_weights(), blender::ed::object::apply_eval_grease_pencil_data(), blender::ed::object::apply_objects_internal(), blender::bke::greasepencil::assign_to_vertex_group(), blender::nodes::ForeachElementComponent::attributes_for_write(), blender::ed::greasepencil::bake_grease_pencil_animation_exec(), BKE_grease_pencil_material_index_remove(), BKE_grease_pencil_material_remap(), BKE_grease_pencil_point_coords_apply(), BKE_grease_pencil_point_coords_apply_with_mat4(), BKE_grease_pencil_vgroup_name_update(), blender::build_drawing(), clear_strokes(), blender::bke::greasepencil::clear_vertex_groups(), blender::ed::greasepencil::clipboard_paste_strokes(), blender::create_envelope_strokes(), blender::ed::greasepencil::create_stroke(), blender::ed::greasepencil::create_suzanne(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curves_to_grease_pencil_with_one_layer(), blender::deform_drawing(), blender::deform_drawing(), blender::deform_drawing(), blender::deform_drawing_as_envelope(), blender::ed::sculpt_paint::greasepencil::deselect_stroke(), do_grease_pencil_box_select(), do_lasso_select_grease_pencil(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_layers(), blender::modifier::greasepencil::ensure_no_bezier_curves(), blender::geometry::execute_realize_grease_pencil_task(), blender::geometry::extract_greasepencil_layer_curves(), blender::geometry::extract_greasepencil_layer_points(), blender::geometry::extract_greasepencil_layers(), blender::nodes::node_geo_curve_fillet_cc::fillet_grease_pencil(), blender::ed::greasepencil::frame_clean_duplicate_exec(), blender::generate_curves(), blender::nodes::node_geo_curve_trim_cc::geometry_set_curve_trim(), blender::bke::get_attribute_accessor_for_write(), blender::ed::greasepencil::gpencil_stroke_subdivide_exec(), blender::ed::greasepencil::grease_pencil_caps_set_exec(), grease_pencil_circle_select(), blender::ed::greasepencil::grease_pencil_clean_loose_exec(), blender::ed::greasepencil::grease_pencil_cyclical_set_exec(), blender::ed::greasepencil::grease_pencil_delete_exec(), blender::ed::greasepencil::grease_pencil_dissolve_exec(), blender::ed::greasepencil::grease_pencil_duplicate_exec(), blender::ed::greasepencil::grease_pencil_extrude_exec(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_restore(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_exec(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_update(), blender::ed::greasepencil::grease_pencil_material_select_exec(), blender::ed::greasepencil::grease_pencil_move_to_layer_exec(), blender::ed::greasepencil::grease_pencil_paste_strokes_exec(), blender::ed::greasepencil::grease_pencil_primitive_init_curves(), blender::ed::greasepencil::grease_pencil_primitive_undo_curves(), blender::ed::greasepencil::grease_pencil_primitive_update_curves(), blender::ed::greasepencil::grease_pencil_reproject_exec(), blender::ed::greasepencil::grease_pencil_reset_uvs_exec(), blender::ed::greasepencil::grease_pencil_separate_layer(), blender::ed::greasepencil::grease_pencil_separate_material(), blender::ed::greasepencil::grease_pencil_separate_selected(), blender::ed::greasepencil::grease_pencil_set_curve_resolution_exec(), blender::ed::greasepencil::grease_pencil_set_curve_type_exec(), blender::ed::greasepencil::grease_pencil_set_handle_type_exec(), blender::ed::greasepencil::grease_pencil_set_uniform_opacity_exec(), blender::ed::greasepencil::grease_pencil_set_uniform_thickness_exec(), blender::ed::greasepencil::grease_pencil_stroke_material_set_exec(), blender::ed::greasepencil::grease_pencil_stroke_merge_by_distance_exec(), blender::ed::greasepencil::grease_pencil_stroke_reorder_exec(), blender::ed::greasepencil::grease_pencil_stroke_simplify_exec(), blender::ed::greasepencil::grease_pencil_stroke_smooth_exec(), blender::ed::greasepencil::grease_pencil_stroke_switch_direction_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_brightness_contrast_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_hsv_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_invert_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_levels_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_reset_exec(), blender::ed::greasepencil::grease_pencil_vertex_paint_set_exec(), blender::ed::greasepencil::grease_pencil_weight_invert_exec(), blender::ed::greasepencil::join_object_with_active(), blender::bke::greasepencil::convert::legacy_gpencil_frame_to_grease_pencil_drawing(), blender::geometry::merge_layers(), MOD_lineart_gpencil_generate_v3(), blender::modify_curves(), blender::modify_curves(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing_by_layer(), blender::modify_fill_color(), blender::modify_geometry_set(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::nodes::node_geo_set_curve_radius_cc::node_geo_exec(), blender::nodes::node_geo_set_material_cc::node_geo_exec(), blender::ed::object::object_convert_exec(), blender::ed::object::object_origin_set_exec(), blender::ed::sculpt_paint::greasepencil::TintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_done(), blender::ed::sculpt_paint::greasepencil::outline_stroke(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_extension_sample(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_start_sample(), blender::ed::sculpt_paint::greasepencil::process_stroke_weights(), blender::io::grease_pencil::SVGImporter::read(), blender::ed::transform::greasepencil::recalcData_grease_pencil(), blender::ed::greasepencil::remap_material_indices(), blender::ed::greasepencil::remap_vertex_groups(), blender::bke::greasepencil::remove_from_vertex_group(), blender::nodes::node_geo_curve_reverse_cc::reverse_grease_pencil(), blender::ed::greasepencil::select_all_exec(), blender::ed::greasepencil::select_alternate_exec(), blender::bke::greasepencil::select_from_group(), blender::ed::greasepencil::select_linked_exec(), blender::ed::greasepencil::select_similar_by_layer(), blender::ed::greasepencil::select_similar_by_value(), blender::ed::greasepencil::selection_update(), blender::geometry::separate_geometry(), blender::nodes::node_geo_set_spline_cyclic_cc::set_grease_pencil_cyclic(), blender::nodes::node_geo_set_curve_normal_cc::set_grease_pencil_normal(), blender::nodes::node_geo_set_spline_resolution_cc::set_grease_pencil_resolution(), blender::nodes::node_geo_set_curve_tilt_cc::set_grease_pencil_tilt(), blender::nodes::node_geo_set_material_index_cc::set_material_index_in_grease_pencil(), blender::nodes::node_geo_set_position_cc::set_position_in_grease_pencil(), blender::io::grease_pencil::shift_to_bounds_center(), blender::simplify_drawing(), blender::ed::sculpt_paint::greasepencil::simplify_stroke(), blender::ed::sculpt_paint::greasepencil::smooth_stroke(), blender::subdivide_drawing(), blender::nodes::node_geo_curve_subdivide_cc::subdivide_grease_pencil_curves(), blender::ed::greasepencil::tests::TEST(), blender::ed::sculpt_paint::greasepencil::trim_end_points(), blender::ed::sculpt_paint::greasepencil::trim_stroke_ends(), blender::bke::bake::try_load_grease_pencil(), blender::bke::greasepencil::validate_drawing_vertex_groups(), blender::write_fill_transforms(), blender::write_stroke_transforms(), and blender::write_weights_for_drawing().

◆ tag_positions_changed() [1/2]

◆ tag_positions_changed() [2/2]

void blender::bke::greasepencil::Drawing::tag_positions_changed ( const IndexMask & changed_curves)

◆ tag_texture_matrices_changed()

void blender::bke::greasepencil::Drawing::tag_texture_matrices_changed ( )

◆ tag_topology_changed() [1/2]

void blender::bke::greasepencil::Drawing::tag_topology_changed ( )
Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 825 of file grease_pencil.cc.

Referenced by blender::ed::object::apply_eval_grease_pencil_data(), blender::build_drawing(), blender::ed::greasepencil::clipboard_paste_strokes(), blender::create_envelope_strokes(), blender::ed::greasepencil::create_stroke(), blender::ed::greasepencil::create_suzanne(), blender::modifier::greasepencil::ensure_no_bezier_curves(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::execute(), blender::nodes::node_geo_curve_fillet_cc::fillet_grease_pencil(), blender::nodes::node_geo_curve_trim_cc::geometry_set_curve_trim(), blender::ed::greasepencil::gpencil_stroke_subdivide_exec(), blender::ed::greasepencil::grease_pencil_cyclical_set_exec(), blender::ed::greasepencil::grease_pencil_delete_exec(), blender::ed::greasepencil::grease_pencil_dissolve_exec(), blender::ed::greasepencil::grease_pencil_duplicate_exec(), blender::ed::greasepencil::grease_pencil_extrude_exec(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_restore(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_exec(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_update(), blender::ed::greasepencil::grease_pencil_move_to_layer_exec(), blender::ed::greasepencil::grease_pencil_primitive_undo_curves(), blender::ed::greasepencil::grease_pencil_primitive_update_curves(), blender::ed::greasepencil::grease_pencil_reproject_exec(), blender::ed::greasepencil::grease_pencil_separate_layer(), blender::ed::greasepencil::grease_pencil_separate_material(), blender::ed::greasepencil::grease_pencil_separate_selected(), blender::ed::greasepencil::grease_pencil_set_curve_resolution_exec(), blender::ed::greasepencil::grease_pencil_set_curve_type_exec(), blender::ed::greasepencil::grease_pencil_set_handle_type_exec(), blender::ed::greasepencil::grease_pencil_stroke_merge_by_distance_exec(), blender::ed::greasepencil::grease_pencil_stroke_reorder_exec(), blender::ed::greasepencil::grease_pencil_stroke_simplify_exec(), MOD_lineart_gpencil_generate_v3(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_done(), blender::ed::sculpt_paint::greasepencil::outline_stroke(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_start_sample(), blender::nodes::node_geo_curve_reverse_cc::reverse_grease_pencil(), blender::geometry::separate_geometry(), blender::simplify_drawing(), blender::ed::sculpt_paint::greasepencil::simplify_stroke(), blender::nodes::node_geo_curve_subdivide_cc::subdivide_grease_pencil_curves(), and blender::ed::sculpt_paint::greasepencil::trim_stroke_ends().

◆ tag_topology_changed() [2/2]

◆ texture_matrices()

Span< float4x2 > blender::bke::greasepencil::Drawing::texture_matrices ( ) const

◆ triangles()

◆ user_count()

int blender::bke::greasepencil::Drawing::user_count ( ) const
inline

Return the number of users (keyframes) of this drawing.

Examples
/usr/src/RPM/BUILD/blender-4.3.0/source/blender/blenkernel/BKE_grease_pencil.hh.

Definition at line 774 of file BKE_grease_pencil.hh.

References GreasePencilDrawing::runtime.

◆ vertex_colors()

VArray< ColorGeometry4f > blender::bke::greasepencil::Drawing::vertex_colors ( ) const

◆ vertex_colors_for_write()


The documentation for this class was generated from the following files: