|
Blender V4.3
|
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 | |
| SmoothOperation * | self_ = nullptr |
| CurvesSculptCommonContext | ctx_ |
| Object * | object_ = nullptr |
| Curves * | curves_id_ = nullptr |
| CurvesGeometry * | curves_ = nullptr |
| VArray< float > | point_factors_ |
| IndexMaskMemory | selected_curve_memory_ |
| IndexMask | curve_selection_ |
| const CurvesSculpt * | curves_sculpt_ = nullptr |
| const Brush * | brush_ = nullptr |
| float | brush_radius_base_re_ |
| float | brush_radius_factor_ |
| float | brush_strength_ |
| float2 | brush_pos_re_ |
| CurvesSurfaceTransforms | transforms_ |
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 41 of file curves_sculpt_smooth.cc.
|
inline |
Definition at line 62 of file curves_sculpt_smooth.cc.
|
inline |
Definition at line 64 of file curves_sculpt_smooth.cc.
References blender::bke::CurvesGeometry::attributes(), 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(), 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, Curves::id, ID_RECALC_GEOMETRY, blender::ed::sculpt_paint::StrokeExtension::is_first, blender::bke::AttributeAccessor::lookup_or_default(), blender::ed::sculpt_paint::StrokeExtension::mouse_position, NC_GEOM, ND_DATA, object_, CurvesSculpt::paint, PAINT_FALLOFF_SHAPE_SPHERE, PAINT_FALLOFF_SHAPE_TUBE, blender::bke::Point, point_factors_, blender::bke::CurvesGeometry::points_num(), blender::ed::sculpt_paint::CurvesSculptCommonContext::region, blender::ed::curves::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_memory_, self, self_, Curves::surface, blender::bke::CurvesGeometry::tag_positions_changed(), Scene::toolsettings, transforms_, UNUSED_VARS, blender::ed::sculpt_paint::CurvesSculptCommonContext::v3d, and WM_main_add_notifier().
Referenced by blender::ed::sculpt_paint::SmoothOperation::on_stroke_extended().
|
inline |
Definition at line 129 of file curves_sculpt_smooth.cc.
References BKE_brush_curve_strength(), brush_, brush_pos_re_, brush_radius_base_re_, brush_radius_factor_, brush_strength_, ctx_, curve_selection_, curves_, blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, blender::math::distance_squared(), ED_view3d_ob_project_mat_get(), ED_view3d_project_float_v2_m4(), blender::index_mask::IndexMask::foreach_index(), blender::bke::crazyspace::get_evaluated_curves_deformation(), blender::math::invert(), blender::math::max_inplace(), object_, point_factors_, blender::bke::CurvesGeometry::points_by_curve(), pow2f(), blender::ed::sculpt_paint::CurvesSculptCommonContext::region, blender::ed::sculpt_paint::CurvesSculptCommonContext::rv3d, and blender::math::transform_point().
Referenced by find_projected_smooth_factors_with_symmetry().
|
inline |
Definition at line 120 of file curves_sculpt_smooth.cc.
References curves_id_, find_projected_smooth_factors(), blender::ed::sculpt_paint::get_symmetry_brush_transforms(), and Curves::symmetry.
Referenced by execute().
|
inline |
Definition at line 188 of file curves_sculpt_smooth.cc.
References BKE_brush_curve_strength(), brush_, brush_strength_, ctx_, curve_selection_, curves_, blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, blender::math::distance_squared(), blender::index_mask::IndexMask::foreach_index(), blender::bke::crazyspace::get_evaluated_curves_deformation(), blender::math::max_inplace(), object_, point_factors_, blender::bke::CurvesGeometry::points_by_curve(), and pow2f().
Referenced by find_spherical_smooth_factors_with_symmetry().
|
inline |
Definition at line 167 of file curves_sculpt_smooth.cc.
References brush_pos_re_, brush_radius_factor_, ctx_, curves_id_, blender::bke::CurvesSurfaceTransforms::curves_to_world, ED_view3d_win_to_3d(), find_spherical_smooth_factors(), blender::ed::sculpt_paint::get_symmetry_brush_transforms(), blender::ed::sculpt_paint::CurvesBrush3D::position_cu, blender::ed::sculpt_paint::CurvesBrush3D::radius_cu, blender::ed::sculpt_paint::CurvesSculptCommonContext::region, self_, Curves::symmetry, blender::math::transform_point(), transforms_, blender::ed::sculpt_paint::CurvesSculptCommonContext::v3d, and blender::bke::CurvesSurfaceTransforms::world_to_curves.
Referenced by execute().
|
inline |
Definition at line 219 of file curves_sculpt_smooth.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), curve_selection_, curves_, blender::IndexRange::drop_back(), blender::IndexRange::drop_front(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::index_mask::IndexMask::foreach_segment(), blender::math::interpolate(), blender::math::midpoint(), blender::bke::CurvesGeometry::points_by_curve(), and blender::bke::CurvesGeometry::positions_for_write().
| const Brush* blender::ed::sculpt_paint::SmoothOperationExecutor::brush_ = nullptr |
Definition at line 54 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), and find_spherical_smooth_factors().
| float2 blender::ed::sculpt_paint::SmoothOperationExecutor::brush_pos_re_ |
Definition at line 58 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), and find_spherical_smooth_factors_with_symmetry().
| float blender::ed::sculpt_paint::SmoothOperationExecutor::brush_radius_base_re_ |
Definition at line 55 of file curves_sculpt_smooth.cc.
Referenced by execute(), and find_projected_smooth_factors().
| float blender::ed::sculpt_paint::SmoothOperationExecutor::brush_radius_factor_ |
Definition at line 56 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), and find_spherical_smooth_factors_with_symmetry().
| float blender::ed::sculpt_paint::SmoothOperationExecutor::brush_strength_ |
Definition at line 57 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), and find_spherical_smooth_factors().
| CurvesSculptCommonContext blender::ed::sculpt_paint::SmoothOperationExecutor::ctx_ |
Definition at line 43 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), find_spherical_smooth_factors(), and find_spherical_smooth_factors_with_symmetry().
| IndexMask blender::ed::sculpt_paint::SmoothOperationExecutor::curve_selection_ |
Definition at line 51 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), find_spherical_smooth_factors(), and smooth().
| CurvesGeometry* blender::ed::sculpt_paint::SmoothOperationExecutor::curves_ = nullptr |
Definition at line 47 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), find_spherical_smooth_factors(), and smooth().
| Curves* blender::ed::sculpt_paint::SmoothOperationExecutor::curves_id_ = nullptr |
Definition at line 46 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors_with_symmetry(), and find_spherical_smooth_factors_with_symmetry().
| const CurvesSculpt* blender::ed::sculpt_paint::SmoothOperationExecutor::curves_sculpt_ = nullptr |
Definition at line 53 of file curves_sculpt_smooth.cc.
Referenced by execute().
| Object* blender::ed::sculpt_paint::SmoothOperationExecutor::object_ = nullptr |
Definition at line 45 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), and find_spherical_smooth_factors().
Definition at line 49 of file curves_sculpt_smooth.cc.
Referenced by execute(), find_projected_smooth_factors(), and find_spherical_smooth_factors().
| IndexMaskMemory blender::ed::sculpt_paint::SmoothOperationExecutor::selected_curve_memory_ |
Definition at line 50 of file curves_sculpt_smooth.cc.
Referenced by execute().
| SmoothOperation* blender::ed::sculpt_paint::SmoothOperationExecutor::self_ = nullptr |
Definition at line 42 of file curves_sculpt_smooth.cc.
Referenced by execute(), and find_spherical_smooth_factors_with_symmetry().
| CurvesSurfaceTransforms blender::ed::sculpt_paint::SmoothOperationExecutor::transforms_ |
Definition at line 60 of file curves_sculpt_smooth.cc.
Referenced by execute(), and find_spherical_smooth_factors_with_symmetry().