|
Blender V4.3
|
Public Member Functions | |
| CombOperationExecutor (const bContext &C) | |
| void | execute (CombOperation &self, const bContext &C, const StrokeExtension &stroke_extension) |
| void | comb_projected_with_symmetry (MutableSpan< bool > r_changed_curves) |
| void | comb_projected (MutableSpan< bool > r_changed_curves, const float4x4 &brush_transform) |
| void | comb_spherical_with_symmetry (MutableSpan< bool > r_changed_curves) |
| void | comb_spherical (MutableSpan< bool > r_changed_curves, const float3 &brush_start_cu, const float3 &brush_end_cu, const float brush_radius_cu) |
| void | initialize_spherical_brush_reference_point () |
Public Attributes | |
| CombOperation * | self_ = nullptr |
| CurvesSculptCommonContext | ctx_ |
| const CurvesSculpt * | curves_sculpt_ = nullptr |
| const Brush * | brush_ = nullptr |
| float | brush_radius_base_re_ |
| float | brush_radius_factor_ |
| float | brush_strength_ |
| Object * | curves_ob_orig_ = nullptr |
| Curves * | curves_id_orig_ = nullptr |
| CurvesGeometry * | curves_orig_ = nullptr |
| VArray< float > | point_factors_ |
| IndexMaskMemory | selected_curve_memory_ |
| IndexMask | curve_selection_ |
| float2 | brush_pos_prev_re_ |
| float2 | brush_pos_re_ |
| float2 | brush_pos_diff_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 82 of file curves_sculpt_comb.cc.
|
inline |
Definition at line 106 of file curves_sculpt_comb.cc.
|
inline |
Definition at line 198 of file curves_sculpt_comb.cc.
References BKE_brush_curve_strength(), BKE_curvemapping_evaluateF(), BKE_curvemapping_init(), brush_, brush_pos_diff_re_, brush_pos_prev_re_, brush_pos_re_, brush_radius_base_re_, brush_radius_factor_, brush_strength_, ctx_, BrushCurvesSculptSettings::curve_parameter_falloff, curve_selection_, curves_ob_orig_, curves_orig_, Brush::curves_sculpt_settings, blender::bke::CurvesSurfaceTransforms::curves_to_world, blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, dist_squared_to_line_segment_v2(), ED_view3d_ob_project_mat_get(), ED_view3d_project_float_v2_m4(), ED_view3d_win_to_3d(), blender::index_mask::IndexMask::foreach_segment(), blender::bke::crazyspace::get_evaluated_curves_deformation(), blender::math::invert(), point_factors_, blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::positions_for_write(), pow2f(), blender::ed::sculpt_paint::CurvesSculptCommonContext::region, blender::ed::sculpt_paint::CurvesSculptCommonContext::rv3d, blender::math::safe_rcp(), blender::ed::sculpt_paint::CurvesConstraintSolver::segment_lengths(), self_, blender::math::transform_point(), transforms_, blender::ed::sculpt_paint::CurvesSculptCommonContext::v3d, and blender::bke::CurvesSurfaceTransforms::world_to_curves.
Referenced by comb_projected_with_symmetry().
|
inline |
Do combing in screen space.
Definition at line 189 of file curves_sculpt_comb.cc.
References comb_projected(), curves_id_orig_, blender::ed::sculpt_paint::get_symmetry_brush_transforms(), and Curves::symmetry.
Referenced by execute().
|
inline |
Definition at line 315 of file curves_sculpt_comb.cc.
References BKE_brush_curve_strength(), BKE_curvemapping_evaluateF(), BKE_curvemapping_init(), brush_, brush_strength_, ctx_, BrushCurvesSculptSettings::curve_parameter_falloff, curve_selection_, curves_ob_orig_, curves_orig_, Brush::curves_sculpt_settings, blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, dist_squared_to_line_segment_v3(), blender::index_mask::IndexMask::foreach_segment(), blender::bke::crazyspace::get_evaluated_curves_deformation(), point_factors_, blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::positions_for_write(), pow2f(), blender::math::safe_rcp(), blender::ed::sculpt_paint::CurvesConstraintSolver::segment_lengths(), and self_.
Referenced by comb_spherical_with_symmetry().
|
inline |
Do combing in 3D space.
Definition at line 284 of file curves_sculpt_comb.cc.
References brush_pos_prev_re_, brush_pos_re_, brush_radius_factor_, comb_spherical(), ctx_, curves_id_orig_, blender::bke::CurvesSurfaceTransforms::curves_to_world, ED_view3d_win_to_3d(), 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 108 of file curves_sculpt_comb.cc.
References blender::bke::CurvesGeometry::attributes(), BKE_brush_size_get(), BKE_paint_brush_for_read(), BLI_assert_unreachable, BLI_SCOPED_DEFER, brush_, brush_pos_diff_re_, brush_pos_prev_re_, 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(), comb_projected_with_symmetry(), comb_spherical_with_symmetry(), ctx_, CTX_data_active_object(), curve_selection_, curves_id_orig_, blender::bke::CurvesGeometry::curves_num(), curves_ob_orig_, curves_orig_, ToolSettings::curves_sculpt, curves_sculpt_, CV_SCULPT_COLLISION_ENABLED, Object::data, DEG_id_tag_update(), ED_region_tag_redraw(), Brush::falloff_shape, Curves::flag, blender::index_mask::IndexMask::foreach_segment(), blender::index_mask::IndexMask::from_bools(), Curves::geometry, Curves::id, ID_RECALC_GEOMETRY, blender::ed::sculpt_paint::CurvesConstraintSolver::initialize(), initialize_spherical_brush_reference_point(), blender::ed::sculpt_paint::StrokeExtension::is_first, blender::bke::AttributeAccessor::lookup_or_default(), blender::ed::sculpt_paint::StrokeExtension::mouse_position, NC_GEOM, ND_DATA, OB_MESH, CurvesSculpt::paint, PAINT_FALLOFF_SHAPE_SPHERE, PAINT_FALLOFF_SHAPE_TUBE, blender::bke::Point, point_factors_, blender::bke::CurvesGeometry::points_by_curve(), blender::ed::sculpt_paint::CurvesSculptCommonContext::region, blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::ed::curves::retrieve_selected_curves(), blender::ed::sculpt_paint::CurvesSculptCommonContext::scene, blender::ed::sculpt_paint::CurvesConstraintSolver::segment_lengths(), selected_curve_memory_, self, self_, blender::Span< T >::slice(), blender::ed::sculpt_paint::CurvesConstraintSolver::solve_step(), Curves::surface, blender::bke::CurvesGeometry::tag_positions_changed(), Scene::toolsettings, transforms_, Object::type, and WM_main_add_notifier().
Referenced by blender::ed::sculpt_paint::CombOperation::on_stroke_extended().
|
inline |
Sample depth under mouse by looking at curves and the surface.
Definition at line 384 of file curves_sculpt_comb.cc.
References brush_pos_re_, brush_radius_base_re_, ctx_, curves_ob_orig_, blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, blender::ed::sculpt_paint::CurvesSculptCommonContext::region, blender::ed::sculpt_paint::CurvesSculptCommonContext::rv3d, blender::ed::sculpt_paint::sample_curves_3d_brush(), self_, and blender::ed::sculpt_paint::CurvesSculptCommonContext::v3d.
Referenced by execute().
| const Brush* blender::ed::sculpt_paint::CombOperationExecutor::brush_ = nullptr |
Definition at line 87 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical(), and execute().
| float2 blender::ed::sculpt_paint::CombOperationExecutor::brush_pos_diff_re_ |
Definition at line 102 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), and execute().
| float2 blender::ed::sculpt_paint::CombOperationExecutor::brush_pos_prev_re_ |
Definition at line 100 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical_with_symmetry(), and execute().
| float2 blender::ed::sculpt_paint::CombOperationExecutor::brush_pos_re_ |
Definition at line 101 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical_with_symmetry(), execute(), and initialize_spherical_brush_reference_point().
| float blender::ed::sculpt_paint::CombOperationExecutor::brush_radius_base_re_ |
Definition at line 88 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), execute(), and initialize_spherical_brush_reference_point().
| float blender::ed::sculpt_paint::CombOperationExecutor::brush_radius_factor_ |
Definition at line 89 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical_with_symmetry(), and execute().
| float blender::ed::sculpt_paint::CombOperationExecutor::brush_strength_ |
Definition at line 90 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical(), and execute().
| CurvesSculptCommonContext blender::ed::sculpt_paint::CombOperationExecutor::ctx_ |
Definition at line 84 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical(), comb_spherical_with_symmetry(), execute(), and initialize_spherical_brush_reference_point().
| IndexMask blender::ed::sculpt_paint::CombOperationExecutor::curve_selection_ |
Definition at line 98 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical(), and execute().
| Curves* blender::ed::sculpt_paint::CombOperationExecutor::curves_id_orig_ = nullptr |
Definition at line 93 of file curves_sculpt_comb.cc.
Referenced by comb_projected_with_symmetry(), comb_spherical_with_symmetry(), and execute().
| Object* blender::ed::sculpt_paint::CombOperationExecutor::curves_ob_orig_ = nullptr |
Definition at line 92 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical(), execute(), and initialize_spherical_brush_reference_point().
| CurvesGeometry* blender::ed::sculpt_paint::CombOperationExecutor::curves_orig_ = nullptr |
Definition at line 94 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical(), and execute().
| const CurvesSculpt* blender::ed::sculpt_paint::CombOperationExecutor::curves_sculpt_ = nullptr |
Definition at line 86 of file curves_sculpt_comb.cc.
Referenced by execute().
Definition at line 96 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical(), and execute().
| IndexMaskMemory blender::ed::sculpt_paint::CombOperationExecutor::selected_curve_memory_ |
Definition at line 97 of file curves_sculpt_comb.cc.
Referenced by execute().
| CombOperation* blender::ed::sculpt_paint::CombOperationExecutor::self_ = nullptr |
Definition at line 83 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical(), comb_spherical_with_symmetry(), execute(), and initialize_spherical_brush_reference_point().
| CurvesSurfaceTransforms blender::ed::sculpt_paint::CombOperationExecutor::transforms_ |
Definition at line 104 of file curves_sculpt_comb.cc.
Referenced by comb_projected(), comb_spherical_with_symmetry(), and execute().