Blender V5.0
blender::ed::sculpt_paint::greasepencil::PaintOperation Class Reference

Inherits blender::ed::sculpt_paint::GreasePencilStrokeOperation.

Public Member Functions

void on_stroke_begin (const bContext &C, const InputSample &start_sample) override
void on_stroke_extended (const bContext &C, const InputSample &extension_sample) override
void on_stroke_done (const bContext &C) override
 PaintOperation (const bool do_fill_guides=false)
bool update_stroke_depth_placement (const bContext &C, const InputSample &sample)
IndexRange interpolate_stroke_depth (const bContext &C, std::optional< int > start_point, float from_depth, float to_depth)
void toggle_fill_guides_brush_on (const bContext &C)
void toggle_fill_guides_brush_off (const bContext &C)
Public Member Functions inherited from blender::ed::sculpt_paint::PaintModeData
virtual ~PaintModeData ()=default

Friends

struct PaintOperationExecutor

Detailed Description

Definition at line 182 of file grease_pencil_paint.cc.

Constructor & Destructor Documentation

◆ PaintOperation()

blender::ed::sculpt_paint::greasepencil::PaintOperation::PaintOperation ( const bool do_fill_guides = false)
inline

Definition at line 251 of file grease_pencil_paint.cc.

Member Function Documentation

◆ interpolate_stroke_depth()

◆ on_stroke_begin()

void blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_begin ( const bContext & C,
const InputSample & start_sample )
overridevirtual

Implements blender::ed::sculpt_paint::GreasePencilStrokeOperation.

Definition at line 1153 of file grease_pencil_paint.cc.

References BKE_brush_init_gpencil_settings(), BKE_curvemapping_init(), BKE_grease_pencil_object_material_ensure_from_brush(), BKE_object_material_index_get(), BKE_paint_brush(), BLI_assert, BLI_time_now_seconds(), C, blender::ed::greasepencil::calculate_texture_space(), RenderData::cfra, CTX_data_active_object(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_wm_region(), CTX_wm_view3d(), BrushGpencilSettings::curve_jitter, BrushGpencilSettings::curve_rand_pressure, BrushGpencilSettings::curve_rand_strength, BrushGpencilSettings::curve_rand_uv, BrushGpencilSettings::curve_sensitivity, BrushGpencilSettings::curve_strength, DEG_get_evaluated(), DEG_id_tag_update(), depsgraph, BrushGpencilSettings::flag, MaterialGPencilStyle::flag, blender::RandomNumberGenerator::from_random_seed(), GP_BRUSH_GROUP_RANDOM, GP_LOCKAXIS_VIEW, GP_MATERIAL_FILL_SHOW, ToolSettings::gp_paint, ToolSettings::gp_sculpt, Material::gp_style, GreasePencil::id, ID_RECALC_GEOMETRY, GP_Sculpt_Settings::lock_axis, blender::ed::sculpt_paint::InputSample::mouse_position, NC_GEOM, ND_DATA, GpPaint::paint, PaintOperationExecutor, blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_start_sample(), Scene::r, blender::ed::greasepencil::retrieve_editable_drawings(), GreasePencil::runtime, blender::bke::greasepencil::Layer::to_object_space(), toggle_fill_guides_brush_on(), Scene::toolsettings, and WM_event_add_notifier().

◆ on_stroke_done()

void blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_done ( const bContext & C)
overridevirtual

Implements blender::ed::sculpt_paint::GreasePencilStrokeOperation.

Definition at line 1651 of file grease_pencil_paint.cc.

References blender::ed::sculpt_paint::greasepencil::append_stroke_to_multiframe_drawings(), blender::bke::CurvesGeometry::attributes_for_write(), BKE_grease_pencil_object_material_alt_ensure_from_brush(), BKE_object_material_index_get(), BKE_paint_brush(), BLI_assert, C, CTX_data_active_object(), CTX_data_main(), CTX_data_scene(), CTX_wm_region(), CTX_wm_region_view3d(), blender::ed::greasepencil::curves_merge_endpoints_by_distance(), blender::bke::CurvesGeometry::curves_range(), DEG_id_tag_update(), blender::ed::sculpt_paint::greasepencil::deselect_stroke(), BrushGpencilSettings::draw_smoothfac, BrushGpencilSettings::draw_smoothlvl, blender::bke::SpanAttributeWriter< T >::finish(), blender::IndexRange::first(), BrushGpencilSettings::flag, blender::IndexRange::from_single(), GP_BRUSH_GROUP_SETTINGS, GP_BRUSH_OUTLINE_STROKE, GP_BRUSH_TRIM_STROKE, ToolSettings::gp_paint, GP_TOOL_FLAG_AUTOMERGE_STROKE, GP_TOOL_FLAG_CREATE_WEIGHTS, GP_TOOL_FLAG_PAINT_ONBACK, GP_USE_MULTI_FRAME_EDITING, ToolSettings::gpencil_flags, GreasePencil::id, ID_RECALC_GEOMETRY, blender::IndexRange::last(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), NC_GEOM, ND_DATA, on_stroke_done(), BrushGpencilSettings::outline_fac, blender::ed::sculpt_paint::greasepencil::outline_stroke(), GpPaint::paint, blender::bke::Point, blender::bke::CurvesGeometry::points_by_curve(), blender::ed::sculpt_paint::greasepencil::process_stroke_weights(), blender::bke::MutableAttributeAccessor::remove(), GreasePencil::runtime, blender::bke::greasepencil::Drawing::set_texture_matrices(), BrushGpencilSettings::simplify_px, blender::ed::sculpt_paint::greasepencil::simplify_stroke(), blender::ed::sculpt_paint::greasepencil::smooth_stroke(), blender::bke::SpanAttributeWriter< T >::span, blender::bke::greasepencil::Drawing::strokes(), blender::bke::greasepencil::Drawing::strokes_for_write(), blender::bke::greasepencil::Drawing::tag_topology_changed(), blender::bke::greasepencil::Layer::to_world_space(), toggle_fill_guides_brush_off(), Scene::toolsettings, blender::ed::sculpt_paint::greasepencil::trim_end_points(), blender::ed::sculpt_paint::greasepencil::trim_stroke_ends(), RegionView3D::viewmat, and WM_event_add_notifier().

Referenced by on_stroke_done().

◆ on_stroke_extended()

void blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_extended ( const bContext & C,
const InputSample & extension_sample )
overridevirtual

◆ toggle_fill_guides_brush_off()

void blender::ed::sculpt_paint::greasepencil::PaintOperation::toggle_fill_guides_brush_off ( const bContext & C)

◆ toggle_fill_guides_brush_on()

void blender::ed::sculpt_paint::greasepencil::PaintOperation::toggle_fill_guides_brush_on ( const bContext & C)

◆ update_stroke_depth_placement()

◆ PaintOperationExecutor

friend struct PaintOperationExecutor
friend

Definition at line 241 of file grease_pencil_paint.cc.

References C, and PaintOperationExecutor.

Referenced by on_stroke_begin(), on_stroke_extended(), and PaintOperationExecutor.


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