Blender V5.0
blender::ed::sculpt_paint::greasepencil Namespace Reference

Classes

class  EraseOperation
struct  SegmentCircleIntersection
struct  EraseOperationExecutor
struct  GreasePencilStrokeParams
class  GreasePencilStrokeOperationCommon
struct  InterpolationPairs
struct  InterpolateOpData
class  PaintOperation
struct  PaintOperationExecutor
class  CloneOperation
class  GrabOperation
class  PinchOperation
class  PushOperation
class  RandomizeOperation
class  SmoothOperation
class  StrengthOperation
class  ThicknessOperation
class  TwistOperation
class  TintOperation
class  VertexAverageOperation
class  VertexBlurOperation
class  VertexPaintOperation
class  VertexReplaceOperation
struct  ColorGrid
class  VertexSmearOperation
class  AverageWeightPaintOperation
class  BlurWeightPaintOperation
class  DrawWeightPaintOperation
class  WeightPaintOperation
class  SmearWeightPaintOperation
struct  MutableDrawingInfo

Enumerations

enum class  PointCircleSide { Outside , OutsideInsideBoundary , InsideOutsideBoundary , Inside }
enum class  StrokeSnapMode { AllPoints , EndPoints , FirstPoint }
enum class  InterpolateFlipMode
enum class  InterpolateLayerMode
Trace Image Operator
enum class  TargetObjectMode : int8_t { New = 0 , Selected = 1 }
enum class  TraceMode : int8_t { Single = 0 , Sequence = 1 }
enum class  TurnPolicy

Functions

static void simplify_opacities (blender::bke::CurvesGeometry &curves, const VArray< float > &opacities, const float epsilon)
static void remove_points_with_low_opacity (blender::bke::CurvesGeometry &curves, const VArray< float > &opacities, const float epsilon)
std::unique_ptr< GreasePencilStrokeOperationnew_erase_operation (const bool temp_eraser)
Vector< ed::greasepencil::MutableDrawingInfoget_drawings_for_stroke_operation (const bContext &C)
Vector< ed::greasepencil::MutableDrawingInfoget_drawings_with_masking_for_stroke_operation (const bContext &C)
float brush_radius (const Paint &paint, const Brush &brush, float pressure)
void init_brush (Brush &brush)
IndexMask brush_point_influence_mask (const Paint &paint, const Brush &brush, const float2 &mouse_position, float pressure, float multi_frame_falloff, const IndexMask &selection, Span< float2 > view_positions, Vector< float > &influences, IndexMaskMemory &memory)
float brush_point_influence (const Paint &paint, const Brush &brush, const float2 &co, const InputSample &sample, float multi_frame_falloff)
float closest_distance_to_surface_2d (const float2 pt, const Span< float2 > verts)
float brush_fill_influence (const Paint &paint, const Brush &brush, Span< float2 > fill_positions, const InputSample &sample, float multi_frame_falloff)
bool brush_using_vertex_color (const GpPaint *gp_paint, const Brush *brush)
bool is_brush_inverted (const Brush &brush, BrushStrokeMode stroke_mode)
IndexMask point_mask_for_stroke_operation (const GreasePencilStrokeParams &params, bool use_selection_masking, IndexMaskMemory &memory)
IndexMask curve_mask_for_stroke_operation (const GreasePencilStrokeParams &params, bool use_selection_masking, IndexMaskMemory &memory)
IndexMask fill_mask_for_stroke_operation (const GreasePencilStrokeParams &params, bool use_selection_masking, IndexMaskMemory &memory)
bke::crazyspace::GeometryDeformation get_drawing_deformation (const GreasePencilStrokeParams &params)
Array< float2calculate_view_positions (const GreasePencilStrokeParams &params, const IndexMask &selection)
Array< floatcalculate_view_radii (const GreasePencilStrokeParams &params, const IndexMask &selection)
DeltaProjectionFunc get_screen_projection_fn (const GreasePencilStrokeParams &params, const Object &object, const bke::greasepencil::Layer &layer)
float3 compute_orig_delta (const DeltaProjectionFunc &projection_fn, const bke::crazyspace::GeometryDeformation &deformation, int index, const float2 &screen_delta)
bool do_vertex_color_points (const Brush &brush)
bool do_vertex_color_fill (const Brush &brush)
std::unique_ptr< GreasePencilStrokeOperationnew_paint_operation (bool do_fill_guides=false)
std::unique_ptr< GreasePencilStrokeOperationnew_tint_operation (bool temp_eraser=false)
std::unique_ptr< GreasePencilStrokeOperationnew_weight_paint_draw_operation (const BrushStrokeMode &stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_weight_paint_blur_operation ()
std::unique_ptr< GreasePencilStrokeOperationnew_weight_paint_average_operation ()
std::unique_ptr< GreasePencilStrokeOperationnew_weight_paint_smear_operation ()
std::unique_ptr< GreasePencilStrokeOperationnew_smooth_operation (BrushStrokeMode stroke_mode, bool temp_smooth=false)
std::unique_ptr< GreasePencilStrokeOperationnew_thickness_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_strength_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_randomize_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_grab_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_push_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_pinch_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_twist_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_clone_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_vertex_average_operation ()
std::unique_ptr< GreasePencilStrokeOperationnew_vertex_blur_operation ()
std::unique_ptr< GreasePencilStrokeOperationnew_vertex_paint_operation (BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperationnew_vertex_replace_operation ()
std::unique_ptr< GreasePencilStrokeOperationnew_vertex_smear_operation ()
static float brush_radius_to_pixel_radius (const RegionView3D *rv3d, const Brush *brush, const float3 pos)
template<typename T>
static void linear_interpolation (const T &a, const T &b, MutableSpan< T > dst, const bool include_first_point)
static float2 arithmetic_mean (Span< float2 > values)
static Array< float2sample_curve_2d (Span< float2 > positions, const int64_t resolution)
static void morph_points_to_curve (Span< float2 > src, Span< float2 > target, MutableSpan< float2 > dst)
static Brushcreate_fill_guide_brush ()
static StrokeSnapMode get_snap_mode (const bContext &C)
static void smooth_stroke (bke::greasepencil::Drawing &drawing, const float influence, const int iterations, const int active_curve)
static void simplify_stroke (bke::greasepencil::Drawing &drawing, const float epsilon, const int active_curve)
static void add_strokes_to_drawing (const bool on_back, Curves *strokes, bke::greasepencil::Drawing &drawing)
static void trim_stroke_ends (bke::greasepencil::Drawing &drawing, const int active_curve, const bool on_back)
static void outline_stroke (bke::greasepencil::Drawing &drawing, const int active_curve, const float4x4 &viewmat, const ed::greasepencil::DrawingPlacement &placement, const float outline_radius, const int material_index, const bool on_back)
static int trim_end_points (bke::greasepencil::Drawing &drawing, const float epsilon, const bool on_back, const int active_curve)
static void deselect_stroke (const bContext &C, bke::greasepencil::Drawing &drawing, const int active_curve)
static void process_stroke_weights (const Scene &scene, const Object &object, bke::greasepencil::Drawing &drawing, const int active_curve)
static bke::CurvesGeometry get_single_stroke (const bke::CurvesGeometry &src, const int curve)
static void append_stroke_to_multiframe_drawings (const bke::CurvesGeometry &src_strokes, const int curve, const int current_frame, const bool on_back, Span< ed::greasepencil::MutableDrawingInfo > drawings)
static float hash_rng (uint32_t seed1, uint32_t seed2, int index)
static float2 rotate_by_angle (const float2 &vec, const float angle)
Interpolate Sequence Operator
static float grease_pencil_interpolate_sequence_easing_calc (const eBezTriple_Easing easing, const InterpolationType type, const float back_easing, const float amplitude, const float period, const CurveMapping &custom_ipo, const float time)
static wmOperatorStatus grease_pencil_interpolate_sequence_exec (bContext *C, wmOperator *op)
static void grease_pencil_interpolate_sequence_ui (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_interpolate_sequence (wmOperatorType *ot)

Variables

static constexpr float FIND_NEAREST_POINT_EPSILON = 1e-6f
static constexpr int BLUR_NEIGHBOUR_NUM = 5
static constexpr int SMEAR_NEIGHBOUR_NUM = 8

Common Utilities for Interpolation Operators

enum class  InterpolationType {
  Linear , CurveMap , Back , Bounce ,
  Circular , Cubic , Elastic , Exponential ,
  Quadratic , Quartic , Quintic , Sine
}
using FramesMapKeyIntervalT = std::pair<int, int>
static const EnumPropertyItem grease_pencil_interpolation_type_items []
static const EnumPropertyItem grease_pencil_interpolate_flip_mode_items []
static const EnumPropertyItem grease_pencil_interpolate_layer_items []
constexpr float interpolate_factor_min = -1.0f
constexpr float interpolate_factor_max = 2.0f
static std::optional< FramesMapKeyIntervalTfind_frames_interval (const bke::greasepencil::Layer &layer, const int frame_number, const bool exclude_breakdowns)
static bool find_curve_mapping_from_index (const GreasePencil &grease_pencil, const bke::greasepencil::Layer &layer, const int current_frame, const bool exclude_breakdowns, const bool only_selected, InterpolationPairs &pairs)
static Vector< int > find_curve_pair_offsets (const InterpolationPairs &curve_pairs, const Span< int > order)
static bool compute_auto_flip (const Span< float3 > from_positions, const Span< float3 > to_positions)
static bke::CurvesGeometry interpolate_between_curves (const GreasePencil &grease_pencil, const bke::greasepencil::Layer &layer, const InterpolationPairs &curve_pairs, const float mix_factor, const InterpolateFlipMode flip_mode)

Interpolate Operator

enum class  InterpolateToolModalEvent : int8_t { Cancel = 1 , Confirm , Increase , Decrease }
static void grease_pencil_interpolate_status_indicators (bContext &C, const InterpolateOpData &opdata)
static bke::greasepencil::Drawingget_drawing_at_exact_frame (GreasePencil &grease_pencil, bke::greasepencil::Layer &layer, const int frame_number)
static bke::greasepencil::Drawingensure_drawing_at_exact_frame (GreasePencil &grease_pencil, bke::greasepencil::Layer &layer, InterpolateOpData::LayerData &layer_data, const int frame_number)
static void grease_pencil_interpolate_update (bContext &C, const wmOperator &op)
static void grease_pencil_interpolate_restore (bContext &C, wmOperator &op)
static bool grease_pencil_interpolate_init (const bContext &C, wmOperator &op)
static void grease_pencil_interpolate_exit (bContext &C, wmOperator &op)
static bool grease_pencil_interpolate_poll (bContext *C)
static wmOperatorStatus grease_pencil_interpolate_invoke (bContext *C, wmOperator *op, const wmEvent *)
static wmOperatorStatus grease_pencil_interpolate_modal (bContext *C, wmOperator *op, const wmEvent *event)
static void grease_pencil_interpolate_cancel (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_interpolate (wmOperatorType *ot)

Typedef Documentation

◆ FramesMapKeyIntervalT

Enumeration Type Documentation

◆ InterpolateFlipMode

Definition at line 758 of file ED_grease_pencil.hh.

◆ InterpolateLayerMode

Definition at line 767 of file ED_grease_pencil.hh.

◆ InterpolateToolModalEvent

Enumerator
Cancel 
Confirm 
Increase 
Decrease 

Definition at line 914 of file grease_pencil_interpolate.cc.

◆ InterpolationType

Enumerator
Linear 

Traditional Linear Interpolation.

CurveMap 

CurveMap Defined Interpolation.

Back 
Bounce 
Circular 
Cubic 
Elastic 
Exponential 
Quadratic 
Quartic 
Quintic 
Sine 

Definition at line 60 of file grease_pencil_interpolate.cc.

◆ PointCircleSide

Enumerator
Outside 
OutsideInsideBoundary 
InsideOutsideBoundary 
Inside 

Definition at line 84 of file grease_pencil_erase.cc.

◆ StrokeSnapMode

Enumerator
AllPoints 
EndPoints 
FirstPoint 

Definition at line 1001 of file grease_pencil_paint.cc.

◆ TargetObjectMode

Enumerator
New 
Selected 

Definition at line 59 of file grease_pencil_trace.cc.

◆ TraceMode

Enumerator
Single 
Sequence 

Definition at line 64 of file grease_pencil_trace.cc.

◆ TurnPolicy

enum class blender::ed::image_trace::TurnPolicy : int8_t
strong

Definition at line 47 of file grease_pencil_trace_util.hh.

Function Documentation

◆ add_strokes_to_drawing()

◆ append_stroke_to_multiframe_drawings()

void blender::ed::sculpt_paint::greasepencil::append_stroke_to_multiframe_drawings ( const bke::CurvesGeometry & src_strokes,
const int curve,
const int current_frame,
const bool on_back,
Span< ed::greasepencil::MutableDrawingInfo > drawings )
static

◆ arithmetic_mean()

float2 blender::ed::sculpt_paint::greasepencil::arithmetic_mean ( Span< float2 > values)
static

◆ brush_fill_influence()

◆ brush_point_influence()

◆ brush_point_influence_mask()

◆ brush_radius()

◆ brush_radius_to_pixel_radius()

float blender::ed::sculpt_paint::greasepencil::brush_radius_to_pixel_radius ( const RegionView3D * rv3d,
const Brush * brush,
const float3 pos )
static

◆ brush_using_vertex_color()

◆ calculate_view_positions()

Array< float2 > blender::ed::sculpt_paint::greasepencil::calculate_view_positions ( const GreasePencilStrokeParams & params,
const IndexMask & selection )

Definition at line 344 of file grease_pencil_paint_common.cc.

References ED_view3d_project_float_global(), blender::index_mask::IndexMask::foreach_index(), get_drawing_deformation(), params, blender::bke::crazyspace::GeometryDeformation::positions, result, blender::math::transform_point(), V3D_PROJ_RET_OK, and V3D_PROJ_TEST_NOP.

Referenced by blender::ed::sculpt_paint::greasepencil::GreasePencilStrokeOperationCommon::init_auto_masking(), blender::ed::sculpt_paint::greasepencil::GrabOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::PinchOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::PushOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::RandomizeOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::SmoothOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::StrengthOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::ThicknessOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::TwistOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::VertexAverageOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::VertexBlurOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::VertexPaintOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::VertexReplaceOperation::on_stroke_extended(), and blender::ed::sculpt_paint::greasepencil::VertexSmearOperation::on_stroke_extended().

◆ calculate_view_radii()

◆ closest_distance_to_surface_2d()

float blender::ed::sculpt_paint::greasepencil::closest_distance_to_surface_2d ( const float2 pt,
const Span< float2 > verts )

Compute the closest distance to the "surface". When the point is outside the polygon, compute the closest distance to the polygon points. When the point is inside the polygon return 0.

Definition at line 117 of file grease_pencil_paint_common.cc.

References blender::math::distance(), distance(), FLT_MAX, i, blender::math::min(), verts, and y.

Referenced by brush_fill_influence(), and blender::ed::sculpt_paint::greasepencil::VertexAverageOperation::on_stroke_extended().

◆ compute_auto_flip()

◆ compute_orig_delta()

float3 blender::ed::sculpt_paint::greasepencil::compute_orig_delta ( const DeltaProjectionFunc & projection_fn,
const bke::crazyspace::GeometryDeformation & deformation,
int index,
const float2 & screen_delta )

◆ create_fill_guide_brush()

◆ curve_mask_for_stroke_operation()

◆ deselect_stroke()

◆ do_vertex_color_fill()

◆ do_vertex_color_points()

◆ ensure_drawing_at_exact_frame()

bke::greasepencil::Drawing * blender::ed::sculpt_paint::greasepencil::ensure_drawing_at_exact_frame ( GreasePencil & grease_pencil,
bke::greasepencil::Layer & layer,
InterpolateOpData::LayerData & layer_data,
const int frame_number )
static

◆ fill_mask_for_stroke_operation()

◆ find_curve_mapping_from_index()

bool blender::ed::sculpt_paint::greasepencil::find_curve_mapping_from_index ( const GreasePencil & grease_pencil,
const bke::greasepencil::Layer & layer,
const int current_frame,
const bool exclude_breakdowns,
const bool only_selected,
InterpolationPairs & pairs )
static

◆ find_curve_pair_offsets()

◆ find_frames_interval()

◆ get_drawing_at_exact_frame()

bke::greasepencil::Drawing * blender::ed::sculpt_paint::greasepencil::get_drawing_at_exact_frame ( GreasePencil & grease_pencil,
bke::greasepencil::Layer & layer,
const int frame_number )
static

◆ get_drawing_deformation()

◆ get_drawings_for_stroke_operation()

◆ get_drawings_with_masking_for_stroke_operation()

◆ get_screen_projection_fn()

◆ get_single_stroke()

◆ get_snap_mode()

◆ grease_pencil_interpolate_cancel()

void blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_cancel ( bContext * C,
wmOperator * op )
static

◆ grease_pencil_interpolate_exit()

void blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_exit ( bContext & C,
wmOperator & op )
static

◆ grease_pencil_interpolate_init()

bool blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_init ( const bContext & C,
wmOperator & op )
static

◆ grease_pencil_interpolate_invoke()

◆ grease_pencil_interpolate_modal()

◆ grease_pencil_interpolate_poll()

bool blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_poll ( bContext * C)
static

◆ grease_pencil_interpolate_restore()

◆ grease_pencil_interpolate_sequence_easing_calc()

float blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_easing_calc ( const eBezTriple_Easing easing,
const InterpolationType type,
const float back_easing,
const float amplitude,
const float period,
const CurveMapping & custom_ipo,
const float time )
static

◆ grease_pencil_interpolate_sequence_exec()

wmOperatorStatus blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_exec ( bContext * C,
wmOperator * op )
static

Definition at line 1250 of file grease_pencil_interpolate.cc.

References BKE_curvemapping_add(), BKE_curvemapping_init(), C, RenderData::cfra, CTX_data_active_object(), CTX_data_scene(), CTX_data_tool_settings(), blender::ed::sculpt_paint::greasepencil::InterpolateOpData::LayerData::curve_pairs, blender::bke::CurvesGeometry::curves_range(), GP_Interpolate_Settings::custom_ipo, wmOperator::customdata, blender::bke::CurvesGeometry::cyclic(), DEG_id_tag_update(), ensure_drawing_at_exact_frame(), blender::ed::sculpt_paint::greasepencil::InterpolateOpData::exclude_breakdowns, find_frames_interval(), blender::ed::sculpt_paint::greasepencil::InterpolateOpData::flipmode, float, blender::index_mask::IndexMask::foreach_index(), blender::ed::sculpt_paint::greasepencil::InterpolateOpData::from_operator(), blender::VArray< T >::from_single(), get_drawing_at_exact_frame(), ToolSettings::gp_interpolate, grease_pencil_interpolate_sequence_easing_calc(), GreasePencil::id, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, interpolate_between_curves(), blender::ed::sculpt_paint::greasepencil::InterpolateOpData::layer_data, blender::ed::sculpt_paint::greasepencil::InterpolateOpData::layer_mask, NA_EDITED, NC_GPENCIL, ND_DATA, OPERATOR_FINISHED, blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::points_num(), blender::bke::CurvesGeometry::positions_for_write(), wmOperator::ptr, Scene::r, RNA_enum_get(), RNA_float_get(), RNA_int_get(), blender::geometry::smooth_curve_attribute(), blender::ed::sculpt_paint::greasepencil::InterpolateOpData::smooth_factor, blender::ed::sculpt_paint::greasepencil::InterpolateOpData::smooth_steps, step, blender::bke::greasepencil::Drawing::strokes_for_write(), blender::bke::CurvesGeometry::tag_positions_changed(), blender::bke::greasepencil::Drawing::tag_topology_changed(), and WM_event_add_notifier().

Referenced by GREASE_PENCIL_OT_interpolate_sequence().

◆ grease_pencil_interpolate_sequence_ui()

◆ grease_pencil_interpolate_status_indicators()

◆ grease_pencil_interpolate_update()

◆ GREASE_PENCIL_OT_interpolate()

◆ GREASE_PENCIL_OT_interpolate_sequence()

◆ hash_rng()

float blender::ed::sculpt_paint::greasepencil::hash_rng ( uint32_t seed1,
uint32_t seed2,
int index )
static

◆ init_brush()

◆ interpolate_between_curves()

bke::CurvesGeometry blender::ed::sculpt_paint::greasepencil::interpolate_between_curves ( const GreasePencil & grease_pencil,
const bke::greasepencil::Layer & layer,
const InterpolationPairs & curve_pairs,
const float mix_factor,
const InterpolateFlipMode flip_mode )
static

Definition at line 462 of file grease_pencil_interpolate.cc.

References blender::offset_indices::accumulate_counts_to_offsets(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), b, blender::Array< T, InlineBufferCapacity, Allocator >::begin(), BKE_defgroup_copy_list(), BLI_assert, compute_auto_flip(), MutableSpan< T >::copy_from(), blender::bke::CurvesGeometry::cyclic(), blender::Array< T, InlineBufferCapacity, Allocator >::end(), blender::Array< T, InlineBufferCapacity, Allocator >::fill(), blender::array_utils::fill_index_range(), find_curve_pair_offsets(), blender::IndexRange::first(), blender::ed::sculpt_paint::greasepencil::InterpolationPairs::from_curves, blender::ed::sculpt_paint::greasepencil::InterpolationPairs::from_frames, blender::IndexMask::from_indices(), i, blender::IndexRange::index_range(), blender::offset_indices::OffsetIndices< T >::index_range(), blender::geometry::interpolate_curves_with_samples(), blender::IndexRange::is_empty(), blender::offset_indices::OffsetIndices< T >::is_empty(), blender::bke::CurvesGeometry::offsets_for_write(), blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::positions(), blender::geometry::sample_curve_padded(), blender::IndexRange::size(), blender::offset_indices::OffsetIndices< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::Span< T >::slice(), blender::bke::greasepencil::Drawing::strokes(), blender::ed::sculpt_paint::greasepencil::InterpolationPairs::to_curves, blender::ed::sculpt_paint::greasepencil::InterpolationPairs::to_frames, blender::offset_indices::OffsetIndices< T >::total_size(), CurvesGeometry::vertex_group_names, and GreasePencil::vertex_group_names.

Referenced by grease_pencil_interpolate_sequence_exec(), and grease_pencil_interpolate_update().

◆ is_brush_inverted()

bool blender::ed::sculpt_paint::greasepencil::is_brush_inverted ( const Brush & brush,
BrushStrokeMode stroke_mode )

◆ linear_interpolation()

template<typename T>
void blender::ed::sculpt_paint::greasepencil::linear_interpolation ( const T & a,
const T & b,
MutableSpan< T > dst,
const bool include_first_point )
inlinestatic

◆ morph_points_to_curve()

◆ new_clone_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_clone_operation ( BrushStrokeMode stroke_mode)

◆ new_erase_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_erase_operation ( const bool temp_eraser)

◆ new_grab_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_grab_operation ( BrushStrokeMode stroke_mode)

◆ new_paint_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_paint_operation ( bool do_fill_guides = false)

◆ new_pinch_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_pinch_operation ( BrushStrokeMode stroke_mode)

◆ new_push_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_push_operation ( BrushStrokeMode stroke_mode)

◆ new_randomize_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_randomize_operation ( BrushStrokeMode stroke_mode)

◆ new_smooth_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_smooth_operation ( BrushStrokeMode stroke_mode,
bool temp_smooth = false )

◆ new_strength_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_strength_operation ( BrushStrokeMode stroke_mode)

◆ new_thickness_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_thickness_operation ( BrushStrokeMode stroke_mode)

◆ new_tint_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_tint_operation ( bool temp_eraser = false)

◆ new_twist_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_twist_operation ( BrushStrokeMode stroke_mode)

◆ new_vertex_average_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_vertex_average_operation ( )

◆ new_vertex_blur_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_vertex_blur_operation ( )

◆ new_vertex_paint_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_vertex_paint_operation ( BrushStrokeMode stroke_mode)

◆ new_vertex_replace_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_vertex_replace_operation ( )

◆ new_vertex_smear_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_vertex_smear_operation ( )

◆ new_weight_paint_average_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_weight_paint_average_operation ( )

◆ new_weight_paint_blur_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_weight_paint_blur_operation ( )

◆ new_weight_paint_draw_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_weight_paint_draw_operation ( const BrushStrokeMode & stroke_mode)

◆ new_weight_paint_smear_operation()

std::unique_ptr< GreasePencilStrokeOperation > blender::ed::sculpt_paint::greasepencil::new_weight_paint_smear_operation ( )

◆ outline_stroke()

◆ point_mask_for_stroke_operation()

◆ process_stroke_weights()

◆ remove_points_with_low_opacity()

void blender::ed::sculpt_paint::greasepencil::remove_points_with_low_opacity ( blender::bke::CurvesGeometry & curves,
const VArray< float > & opacities,
const float epsilon )
static

◆ rotate_by_angle()

float2 blender::ed::sculpt_paint::greasepencil::rotate_by_angle ( const float2 & vec,
const float angle )
static

◆ sample_curve_2d()

Array< float2 > blender::ed::sculpt_paint::greasepencil::sample_curve_2d ( Span< float2 > positions,
const int64_t resolution )
static

◆ simplify_opacities()

◆ simplify_stroke()

◆ smooth_stroke()

◆ trim_end_points()

◆ trim_stroke_ends()

Variable Documentation

◆ BLUR_NEIGHBOUR_NUM

int blender::ed::sculpt_paint::greasepencil::BLUR_NEIGHBOUR_NUM = 5
staticconstexpr

Definition at line 36 of file grease_pencil_weight_paint.hh.

◆ FIND_NEAREST_POINT_EPSILON

float blender::ed::sculpt_paint::greasepencil::FIND_NEAREST_POINT_EPSILON = 1e-6f
staticconstexpr

Definition at line 35 of file grease_pencil_weight_paint.hh.

◆ grease_pencil_interpolate_flip_mode_items

const EnumPropertyItem blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_flip_mode_items[]
static
Initial value:
= {
{int(InterpolateFlipMode::None), "NONE", 0, "No Flip", ""},
{int(InterpolateFlipMode::Flip), "FLIP", 0, "Flip", ""},
{int(InterpolateFlipMode::FlipAuto), "AUTO", 0, "Automatic", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 142 of file grease_pencil_interpolate.cc.

Referenced by GREASE_PENCIL_OT_interpolate(), and GREASE_PENCIL_OT_interpolate_sequence().

◆ grease_pencil_interpolate_layer_items

const EnumPropertyItem blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_layer_items[]
static
Initial value:
= {
{int(InterpolateLayerMode::Active), "ACTIVE", 0, "Active", ""},
{int(InterpolateLayerMode::All), "ALL", 0, "All Layers", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 149 of file grease_pencil_interpolate.cc.

Referenced by GREASE_PENCIL_OT_interpolate(), and GREASE_PENCIL_OT_interpolate_sequence().

◆ grease_pencil_interpolation_type_items

const EnumPropertyItem blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolation_type_items[]
static
Note
This is a near exact duplicate of rna_enum_beztriple_interpolation_mode_items, Changes here will likely apply there too.

Definition at line 82 of file grease_pencil_interpolate.cc.

Referenced by GREASE_PENCIL_OT_interpolate_sequence().

◆ interpolate_factor_max

float blender::ed::sculpt_paint::greasepencil::interpolate_factor_max = 2.0f
constexpr

Definition at line 156 of file grease_pencil_interpolate.cc.

Referenced by grease_pencil_interpolate_modal().

◆ interpolate_factor_min

float blender::ed::sculpt_paint::greasepencil::interpolate_factor_min = -1.0f
constexpr

Definition at line 155 of file grease_pencil_interpolate.cc.

Referenced by grease_pencil_interpolate_modal().

◆ SMEAR_NEIGHBOUR_NUM

int blender::ed::sculpt_paint::greasepencil::SMEAR_NEIGHBOUR_NUM = 8
staticconstexpr

Definition at line 37 of file grease_pencil_weight_paint.hh.