21# include "potracelib.h"
29struct GeometryDeformation;
54namespace greasepencil {
67 const float2 &mouse_position,
69 float multi_frame_falloff,
80 float multi_frame_falloff);
92 float multi_frame_falloff);
126 const bool use_masking,
129 const bool use_masking,
132 const bool use_masking,
Contains defines and structs used throughout the imbuf module.
virtual void on_stroke_extended(const bContext &C, const InputSample &extension_sample)=0
virtual void on_stroke_begin(const bContext &C, const InputSample &start_sample)=0
virtual void on_stroke_done(const bContext &C)=0
float2 prev_mouse_position
bool is_inverted(const Brush &brush) const
float2 mouse_delta(const InputSample &input_sample) const
GreasePencilStrokeOperationCommon()
GreasePencilStrokeOperationCommon(const BrushStrokeMode stroke_mode)
void stroke_extended(const InputSample &extension_sample)
void init_stroke(const bContext &C, const InputSample &start_sample)
float2 start_mouse_position
BrushStrokeMode stroke_mode
void foreach_editable_drawing(const bContext &C, FunctionRef< bool(const GreasePencilStrokeParams ¶ms)> fn) const
const Depsgraph * depsgraph
std::unique_ptr< GreasePencilStrokeOperation > new_vertex_replace_operation()
std::unique_ptr< GreasePencilStrokeOperation > new_erase_operation(const bool temp_eraser)
bool is_brush_inverted(const Brush &brush, BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperation > new_weight_paint_average_operation()
float closest_distance_to_surface_2d(const float2 pt, const Span< float2 > verts)
std::unique_ptr< GreasePencilStrokeOperation > new_strength_operation(BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperation > new_grab_operation(BrushStrokeMode stroke_mode)
Array< float > calculate_view_radii(const GreasePencilStrokeParams ¶ms, const IndexMask &selection)
std::unique_ptr< GreasePencilStrokeOperation > new_weight_paint_blur_operation()
bool do_vertex_color_fill(const Brush &brush)
std::unique_ptr< GreasePencilStrokeOperation > new_vertex_paint_operation(BrushStrokeMode stroke_mode)
Vector< ed::greasepencil::MutableDrawingInfo > get_drawings_for_painting(const bContext &C)
void init_brush(Brush &brush)
IndexMask point_selection_mask(const GreasePencilStrokeParams ¶ms, const bool use_masking, IndexMaskMemory &memory)
std::unique_ptr< GreasePencilStrokeOperation > new_clone_operation(BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperation > new_randomize_operation(BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperation > new_paint_operation()
Array< float2 > calculate_view_positions(const GreasePencilStrokeParams ¶ms, const IndexMask &selection)
IndexMask fill_selection_mask(const GreasePencilStrokeParams ¶ms, const bool use_masking, IndexMaskMemory &memory)
std::unique_ptr< GreasePencilStrokeOperation > new_vertex_blur_operation()
std::unique_ptr< GreasePencilStrokeOperation > new_tint_operation()
IndexMask brush_point_influence_mask(const Scene &scene, 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 Scene &scene, const Brush &brush, const float2 &co, const InputSample &sample, float multi_frame_falloff)
IndexMask stroke_selection_mask(const GreasePencilStrokeParams ¶ms, const bool use_masking, IndexMaskMemory &memory)
std::unique_ptr< GreasePencilStrokeOperation > new_thickness_operation(BrushStrokeMode stroke_mode)
std::unique_ptr< GreasePencilStrokeOperation > new_pinch_operation(BrushStrokeMode stroke_mode)
float brush_fill_influence(const Scene &scene, const Brush &brush, Span< float2 > fill_positions, const InputSample &sample, float multi_frame_falloff)
std::unique_ptr< GreasePencilStrokeOperation > new_weight_paint_draw_operation(const BrushStrokeMode &brush_mode)
std::unique_ptr< GreasePencilStrokeOperation > new_push_operation(BrushStrokeMode stroke_mode)
bke::crazyspace::GeometryDeformation get_drawing_deformation(const GreasePencilStrokeParams ¶ms)
std::unique_ptr< GreasePencilStrokeOperation > new_weight_paint_smear_operation()
DeltaProjectionFunc get_screen_projection_fn(const GreasePencilStrokeParams ¶ms, const Object &object, const bke::greasepencil::Layer &layer)
std::unique_ptr< GreasePencilStrokeOperation > new_vertex_average_operation()
std::unique_ptr< GreasePencilStrokeOperation > new_twist_operation(BrushStrokeMode stroke_mode)
bool do_vertex_color_points(const Brush &brush)
std::unique_ptr< GreasePencilStrokeOperation > new_vertex_smear_operation()
float brush_radius(const Scene &scene, const Brush &brush, float pressure)
std::unique_ptr< CurvesSculptStrokeOperation > new_smooth_operation()
std::function< float3(const float3 position, const float2 &screen_delta)> DeltaProjectionFunc
VecBase< float, 3 > float3
float multi_frame_falloff
const RegionView3D & rv3d
const bke::greasepencil::Layer & layer
static GreasePencilStrokeParams from_context(const Scene &scene, Depsgraph &depsgraph, ARegion ®ion, RegionView3D &rv3d, Object &object, int layer_index, int frame_number, float multi_frame_falloff, bke::greasepencil::Drawing &drawing)
bke::greasepencil::Drawing & drawing
const ToolSettings & toolsettings