Blender  V3.3
Public Member Functions | Public Attributes | List of all members
blender::ed::sculpt_paint::SmoothOperationExecutor Struct Reference

Public Member Functions

 SmoothOperationExecutor (const bContext &C)
 
void execute (SmoothOperation &self, const bContext &C, const StrokeExtension &stroke_extension)
 
void find_projected_smooth_factors_with_symmetry (MutableSpan< float > r_point_smooth_factors)
 
void find_projected_smooth_factors (const float4x4 &brush_transform, MutableSpan< float > r_point_smooth_factors)
 
void find_spherical_smooth_factors_with_symmetry (MutableSpan< float > r_point_smooth_factors)
 
void find_spherical_smooth_factors (const float3 &brush_pos_cu, const float brush_radius_cu, MutableSpan< float > r_point_smooth_factors)
 
void smooth (const Span< float > point_smooth_factors)
 

Public Attributes

SmoothOperationself_ = nullptr
 
CurvesSculptCommonContext ctx_
 
Objectobject_ = nullptr
 
Curvescurves_id_ = nullptr
 
CurvesGeometrycurves_ = nullptr
 
VArray< floatpoint_factors_
 
Vector< int64_tselected_curve_indices_
 
IndexMask curve_selection_
 
const CurvesSculptcurves_sculpt_ = nullptr
 
const Brushbrush_ = nullptr
 
float brush_radius_base_re_
 
float brush_radius_factor_
 
float brush_strength_
 
float2 brush_pos_re_
 
CurvesSurfaceTransforms transforms_
 

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 37 of file curves_sculpt_smooth.cc.

Constructor & Destructor Documentation

◆ SmoothOperationExecutor()

blender::ed::sculpt_paint::SmoothOperationExecutor::SmoothOperationExecutor ( const bContext C)
inline

Definition at line 58 of file curves_sculpt_smooth.cc.

References C.

Member Function Documentation

◆ execute()

void blender::ed::sculpt_paint::SmoothOperationExecutor::execute ( SmoothOperation self,
const bContext C,
const StrokeExtension stroke_extension 
)
inline

Definition at line 62 of file curves_sculpt_smooth.cc.

References BKE_brush_size_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, ctx_, CTX_data_active_object(), curve_selection_, curves_, curves_id_, blender::bke::CurvesGeometry::curves_num(), ToolSettings::curves_sculpt, curves_sculpt_, Object::data, DEG_id_tag_update(), blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, ED_region_tag_redraw(), Brush::falloff_shape, find_projected_smooth_factors_with_symmetry(), find_spherical_smooth_factors_with_symmetry(), Curves::geometry, blender::ed::sculpt_paint::get_point_selection(), Curves::id, ID_RECALC_GEOMETRY, blender::ed::sculpt_paint::StrokeExtension::is_first, blender::ed::sculpt_paint::StrokeExtension::mouse_position, NC_GEOM, ND_DATA, object_, CurvesSculpt::paint, PAINT_FALLOFF_SHAPE_SPHERE, PAINT_FALLOFF_SHAPE_TUBE, point_factors_, blender::bke::CurvesGeometry::points_num(), blender::ed::sculpt_paint::CurvesSculptCommonContext::region, blender::ed::sculpt_paint::retrieve_selected_curves(), blender::ed::sculpt_paint::CurvesSculptCommonContext::rv3d, blender::ed::sculpt_paint::sample_curves_3d_brush(), blender::ed::sculpt_paint::CurvesSculptCommonContext::scene, selected_curve_indices_, self_, smooth(), Curves::surface, blender::bke::CurvesGeometry::tag_positions_changed(), Scene::toolsettings, transforms_, UNUSED_VARS, blender::ed::sculpt_paint::CurvesSculptCommonContext::v3d, WM_main_add_notifier(), and blender::bke::CurvesGeometry::wrap().

◆ find_projected_smooth_factors()

void blender::ed::sculpt_paint::SmoothOperationExecutor::find_projected_smooth_factors ( const float4x4 brush_transform,
MutableSpan< float r_point_smooth_factors 
)
inline

◆ find_projected_smooth_factors_with_symmetry()

void blender::ed::sculpt_paint::SmoothOperationExecutor::find_projected_smooth_factors_with_symmetry ( MutableSpan< float r_point_smooth_factors)
inline

◆ find_spherical_smooth_factors()

void blender::ed::sculpt_paint::SmoothOperationExecutor::find_spherical_smooth_factors ( const float3 brush_pos_cu,
const float  brush_radius_cu,
MutableSpan< float r_point_smooth_factors 
)
inline

◆ find_spherical_smooth_factors_with_symmetry()

void blender::ed::sculpt_paint::SmoothOperationExecutor::find_spherical_smooth_factors_with_symmetry ( MutableSpan< float r_point_smooth_factors)
inline

◆ smooth()

void blender::ed::sculpt_paint::SmoothOperationExecutor::smooth ( const Span< float point_smooth_factors)
inline

Definition at line 221 of file curves_sculpt_smooth.cc.

References blender::threading::parallel_for(), and positions.

Referenced by execute().

Member Data Documentation

◆ brush_

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

Definition at line 50 of file curves_sculpt_smooth.cc.

Referenced by execute().

◆ brush_pos_re_

float2 blender::ed::sculpt_paint::SmoothOperationExecutor::brush_pos_re_

Definition at line 54 of file curves_sculpt_smooth.cc.

Referenced by execute().

◆ brush_radius_base_re_

float blender::ed::sculpt_paint::SmoothOperationExecutor::brush_radius_base_re_

Definition at line 51 of file curves_sculpt_smooth.cc.

Referenced by execute(), and find_projected_smooth_factors().

◆ brush_radius_factor_

float blender::ed::sculpt_paint::SmoothOperationExecutor::brush_radius_factor_

Definition at line 52 of file curves_sculpt_smooth.cc.

Referenced by execute(), and find_projected_smooth_factors().

◆ brush_strength_

float blender::ed::sculpt_paint::SmoothOperationExecutor::brush_strength_

Definition at line 53 of file curves_sculpt_smooth.cc.

Referenced by execute().

◆ ctx_

CurvesSculptCommonContext blender::ed::sculpt_paint::SmoothOperationExecutor::ctx_

Definition at line 39 of file curves_sculpt_smooth.cc.

Referenced by execute(), and find_projected_smooth_factors().

◆ curve_selection_

IndexMask blender::ed::sculpt_paint::SmoothOperationExecutor::curve_selection_

Definition at line 47 of file curves_sculpt_smooth.cc.

Referenced by execute(), and find_projected_smooth_factors().

◆ curves_

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

Definition at line 43 of file curves_sculpt_smooth.cc.

Referenced by execute().

◆ curves_id_

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

Definition at line 42 of file curves_sculpt_smooth.cc.

Referenced by execute(), and find_projected_smooth_factors_with_symmetry().

◆ curves_sculpt_

const CurvesSculpt* blender::ed::sculpt_paint::SmoothOperationExecutor::curves_sculpt_ = nullptr

Definition at line 49 of file curves_sculpt_smooth.cc.

Referenced by execute().

◆ object_

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

Definition at line 41 of file curves_sculpt_smooth.cc.

Referenced by execute(), and find_projected_smooth_factors().

◆ point_factors_

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

Definition at line 45 of file curves_sculpt_smooth.cc.

Referenced by execute().

◆ selected_curve_indices_

Vector<int64_t> blender::ed::sculpt_paint::SmoothOperationExecutor::selected_curve_indices_

Definition at line 46 of file curves_sculpt_smooth.cc.

Referenced by execute().

◆ self_

SmoothOperation* blender::ed::sculpt_paint::SmoothOperationExecutor::self_ = nullptr

Definition at line 38 of file curves_sculpt_smooth.cc.

Referenced by execute().

◆ transforms_

CurvesSurfaceTransforms blender::ed::sculpt_paint::SmoothOperationExecutor::transforms_

Definition at line 56 of file curves_sculpt_smooth.cc.

Referenced by execute().


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