Blender V5.0
blender::ed::sculpt_paint::PuffOperationExecutor Struct Reference

Public Member Functions

 PuffOperationExecutor (const bContext &C)
void execute (PuffOperation &self, const bContext &C, const StrokeExtension &stroke_extension)
void find_curve_weights_projected_with_symmetry (MutableSpan< float > r_curve_weights)
void find_curve_weights_projected (const float4x4 &brush_transform, MutableSpan< float > r_curve_weights)
void find_curves_weights_spherical_with_symmetry (MutableSpan< float > r_curve_weights)
void find_curves_weights_spherical (const float3 &brush_pos_cu, const float brush_radius_cu, MutableSpan< float > r_curve_weights)
void puff (const IndexMask &selection, const Span< float > curve_weights)

Public Attributes

PuffOperationself_ = nullptr
CurvesSculptCommonContext ctx_
Objectobject_ = nullptr
Curvescurves_id_ = nullptr
CurvesGeometrycurves_ = nullptr
VArray< floatpoint_factors_
IndexMaskMemory selected_curve_memory_
IndexMask curve_selection_
CurvesSculptcurves_sculpt_ = nullptr
const Brushbrush_ = nullptr
float brush_radius_base_re_
float brush_radius_factor_
float brush_strength_
float2 brush_pos_re_
CurvesSurfaceTransforms transforms_
const Objectsurface_ob_ = nullptr
const Meshsurface_ = nullptr
Span< float3surface_positions_
Span< int > surface_corner_verts_
Span< int3surface_corner_tris_
Span< float3corner_normals_su_
bke::BVHTreeFromMesh surface_bvh_

Detailed Description

Utility class that actually executes the update when the stroke is updated. That's useful because it avoids passing a very large number of parameters between functions.

Definition at line 51 of file curves_sculpt_puff.cc.

Constructor & Destructor Documentation

◆ PuffOperationExecutor()

blender::ed::sculpt_paint::PuffOperationExecutor::PuffOperationExecutor ( const bContext & C)
inline

Definition at line 80 of file curves_sculpt_puff.cc.

References C, and ctx_.

Member Function Documentation

◆ execute()

void blender::ed::sculpt_paint::PuffOperationExecutor::execute ( PuffOperation & self,
const bContext & C,
const StrokeExtension & stroke_extension )
inline

Definition at line 82 of file curves_sculpt_puff.cc.

References BKE_brush_radius_get(), BKE_paint_brush_for_read(), BLI_assert_unreachable, brush_, brush_pos_re_, brush_radius_base_re_, blender::ed::sculpt_paint::brush_radius_factor(), brush_radius_factor_, brush_strength_, blender::ed::sculpt_paint::brush_strength_get(), C, corner_normals_su_, ctx_, CTX_data_active_object(), curve_selection_, curves_, curves_id_, curves_sculpt_, CV_SCULPT_COLLISION_ENABLED, DEG_id_tag_update(), ED_region_tag_redraw(), find_curve_weights_projected_with_symmetry(), find_curves_weights_spherical_with_symmetry(), blender::IndexMask::from_predicate(), ID_RECALC_GEOMETRY, blender::ed::sculpt_paint::StrokeExtension::is_first, blender::ed::sculpt_paint::StrokeExtension::mouse_position, NC_GEOM, ND_DATA, OB_MESH, object_, PAINT_FALLOFF_SHAPE_SPHERE, PAINT_FALLOFF_SHAPE_TUBE, blender::bke::Point, point_factors_, puff(), blender::ed::sculpt_paint::remember_stroke_position(), blender::ed::sculpt_paint::report_missing_surface(), blender::ed::sculpt_paint::StrokeExtension::reports, blender::ed::curves::retrieve_selected_curves(), blender::ed::sculpt_paint::sample_curves_3d_brush(), selected_curve_memory_, self, self_, surface_, surface_bvh_, surface_corner_tris_, surface_corner_verts_, surface_ob_, surface_positions_, blender::math::transform_point(), transforms_, U, UNUSED_VARS, USER_ORBIT_SELECTION, and WM_main_add_notifier().

Referenced by blender::ed::sculpt_paint::PuffOperation::on_stroke_extended().

◆ find_curve_weights_projected()

◆ find_curve_weights_projected_with_symmetry()

void blender::ed::sculpt_paint::PuffOperationExecutor::find_curve_weights_projected_with_symmetry ( MutableSpan< float > r_curve_weights)
inline

◆ find_curves_weights_spherical()

◆ find_curves_weights_spherical_with_symmetry()

void blender::ed::sculpt_paint::PuffOperationExecutor::find_curves_weights_spherical_with_symmetry ( MutableSpan< float > r_curve_weights)
inline

◆ puff()

Member Data Documentation

◆ brush_

const Brush* blender::ed::sculpt_paint::PuffOperationExecutor::brush_ = nullptr

◆ brush_pos_re_

float2 blender::ed::sculpt_paint::PuffOperationExecutor::brush_pos_re_

◆ brush_radius_base_re_

float blender::ed::sculpt_paint::PuffOperationExecutor::brush_radius_base_re_

Definition at line 65 of file curves_sculpt_puff.cc.

Referenced by execute(), and find_curve_weights_projected().

◆ brush_radius_factor_

float blender::ed::sculpt_paint::PuffOperationExecutor::brush_radius_factor_

◆ brush_strength_

float blender::ed::sculpt_paint::PuffOperationExecutor::brush_strength_

Definition at line 67 of file curves_sculpt_puff.cc.

Referenced by execute(), and puff().

◆ corner_normals_su_

Span<float3> blender::ed::sculpt_paint::PuffOperationExecutor::corner_normals_su_

Definition at line 77 of file curves_sculpt_puff.cc.

Referenced by execute(), and puff().

◆ ctx_

◆ curve_selection_

IndexMask blender::ed::sculpt_paint::PuffOperationExecutor::curve_selection_

◆ curves_

CurvesGeometry* blender::ed::sculpt_paint::PuffOperationExecutor::curves_ = nullptr

◆ curves_id_

Curves* blender::ed::sculpt_paint::PuffOperationExecutor::curves_id_ = nullptr

◆ curves_sculpt_

CurvesSculpt* blender::ed::sculpt_paint::PuffOperationExecutor::curves_sculpt_ = nullptr

Definition at line 63 of file curves_sculpt_puff.cc.

Referenced by execute().

◆ object_

Object* blender::ed::sculpt_paint::PuffOperationExecutor::object_ = nullptr

◆ point_factors_

VArray<float> blender::ed::sculpt_paint::PuffOperationExecutor::point_factors_

Definition at line 59 of file curves_sculpt_puff.cc.

Referenced by execute(), and puff().

◆ selected_curve_memory_

IndexMaskMemory blender::ed::sculpt_paint::PuffOperationExecutor::selected_curve_memory_

Definition at line 60 of file curves_sculpt_puff.cc.

Referenced by execute().

◆ self_

PuffOperation* blender::ed::sculpt_paint::PuffOperationExecutor::self_ = nullptr

Definition at line 52 of file curves_sculpt_puff.cc.

Referenced by execute(), and find_curves_weights_spherical_with_symmetry().

◆ surface_

const Mesh* blender::ed::sculpt_paint::PuffOperationExecutor::surface_ = nullptr

Definition at line 73 of file curves_sculpt_puff.cc.

Referenced by execute().

◆ surface_bvh_

bke::BVHTreeFromMesh blender::ed::sculpt_paint::PuffOperationExecutor::surface_bvh_

Definition at line 78 of file curves_sculpt_puff.cc.

Referenced by execute(), and puff().

◆ surface_corner_tris_

Span<int3> blender::ed::sculpt_paint::PuffOperationExecutor::surface_corner_tris_

Definition at line 76 of file curves_sculpt_puff.cc.

Referenced by execute(), and puff().

◆ surface_corner_verts_

Span<int> blender::ed::sculpt_paint::PuffOperationExecutor::surface_corner_verts_

Definition at line 75 of file curves_sculpt_puff.cc.

Referenced by execute(), and puff().

◆ surface_ob_

const Object* blender::ed::sculpt_paint::PuffOperationExecutor::surface_ob_ = nullptr

Definition at line 72 of file curves_sculpt_puff.cc.

Referenced by execute().

◆ surface_positions_

Span<float3> blender::ed::sculpt_paint::PuffOperationExecutor::surface_positions_

Definition at line 74 of file curves_sculpt_puff.cc.

Referenced by execute(), and puff().

◆ transforms_

CurvesSurfaceTransforms blender::ed::sculpt_paint::PuffOperationExecutor::transforms_

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