Blender
V3.3
|
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 Span< float > curve_weights) |
void | initialize_segment_lengths () |
void | restore_segment_lengths () |
Public Attributes | |
PuffOperation * | self_ = nullptr |
CurvesSculptCommonContext | ctx_ |
Object * | object_ = nullptr |
Curves * | curves_id_ = nullptr |
CurvesGeometry * | curves_ = nullptr |
VArray< float > | point_factors_ |
Vector< int64_t > | selected_curve_indices_ |
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_ |
eBrushFalloffShape | falloff_shape_ |
CurvesSurfaceTransforms | transforms_ |
Object * | surface_ob_ = nullptr |
Mesh * | surface_ = nullptr |
Span< MLoopTri > | surface_looptris_ |
Span< float3 > | corner_normals_su_ |
BVHTreeFromMesh | surface_bvh_ |
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 48 of file curves_sculpt_puff.cc.
|
inline |
Definition at line 77 of file curves_sculpt_puff.cc.
References C.
|
inline |
Definition at line 81 of file curves_sculpt_puff.cc.
References BKE_brush_size_get(), BKE_bvhtree_from_mesh_get(), BKE_mesh_calc_normals_split(), BKE_mesh_runtime_looptri_ensure(), BKE_mesh_runtime_looptri_len(), BKE_paint_brush_for_read(), BLI_assert_unreachable, BLI_SCOPED_DEFER, 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(), BVHTREE_FROM_LOOPTRI, C, CD_NORMAL, corner_normals_su_, ctx_, CTX_data_active_object(), curve_selection_, curves_, curves_id_, blender::bke::CurvesGeometry::curves_num(), ToolSettings::curves_sculpt, curves_sculpt_, CustomData_get_layer(), CustomData_has_layer(), Object::data, DEG_id_tag_update(), blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, ED_region_tag_redraw(), Brush::falloff_shape, falloff_shape_, find_curve_weights_projected_with_symmetry(), find_curves_weights_spherical_with_symmetry(), free_bvhtree_from_mesh(), Curves::geometry, blender::ed::sculpt_paint::get_point_selection(), Curves::id, ID_RECALC_GEOMETRY, initialize_segment_lengths(), blender::ed::sculpt_paint::StrokeExtension::is_first, Mesh::ldata, blender::ed::sculpt_paint::StrokeExtension::mouse_position, NC_GEOM, ND_DATA, OB_MESH, object_, CurvesSculpt::paint, PAINT_FALLOFF_SHAPE_SPHERE, PAINT_FALLOFF_SHAPE_TUBE, point_factors_, puff(), blender::ed::sculpt_paint::CurvesSculptCommonContext::region, restore_segment_lengths(), 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_, blender::IndexMask::size(), Curves::surface, surface_, surface_bvh_, surface_looptris_, surface_ob_, blender::bke::CurvesGeometry::tag_positions_changed(), Scene::toolsettings, Mesh::totloop, transforms_, Object::type, UNUSED_VARS, blender::ed::sculpt_paint::CurvesSculptCommonContext::v3d, WM_main_add_notifier(), and blender::bke::CurvesGeometry::wrap().
|
inline |
Definition at line 169 of file curves_sculpt_puff.cc.
References brush_radius_base_re_, brush_radius_factor_, ctx_, curve_selection_, blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, ED_view3d_ob_project_mat_get(), blender::bke::crazyspace::get_evaluated_curves_deformation(), blender::IndexMask::index_range(), blender::float4x4::inverted(), object_, blender::threading::parallel_for(), pow2f(), blender::ed::sculpt_paint::CurvesSculptCommonContext::rv3d, and blender::float4x4::values.
Referenced by find_curve_weights_projected_with_symmetry().
|
inline |
Definition at line 160 of file curves_sculpt_puff.cc.
References curves_id_, find_curve_weights_projected(), blender::ed::sculpt_paint::get_symmetry_brush_transforms(), and Curves::symmetry.
Referenced by execute().
|
inline |
Definition at line 234 of file curves_sculpt_puff.cc.
References blender::bke::crazyspace::get_evaluated_curves_deformation(), blender::threading::parallel_for(), and pow2f().
|
inline |
Definition at line 212 of file curves_sculpt_puff.cc.
References ED_view3d_ob_project_mat_get(), ED_view3d_win_to_3d(), blender::ed::sculpt_paint::get_symmetry_brush_transforms(), and blender::float4x4::values.
Referenced by execute().
|
inline |
Definition at line 334 of file curves_sculpt_puff.cc.
References blender::threading::parallel_for().
Referenced by execute().
|
inline |
Definition at line 266 of file curves_sculpt_puff.cc.
References BLI_assert, blender::threading::parallel_for(), and blender::Span< T >::size().
Referenced by execute().
|
inline |
Definition at line 351 of file curves_sculpt_puff.cc.
References blender::threading::parallel_for().
Referenced by execute().
const Brush* blender::ed::sculpt_paint::PuffOperationExecutor::brush_ = nullptr |
Definition at line 61 of file curves_sculpt_puff.cc.
Referenced by execute().
float2 blender::ed::sculpt_paint::PuffOperationExecutor::brush_pos_re_ |
Definition at line 65 of file curves_sculpt_puff.cc.
Referenced by execute().
float blender::ed::sculpt_paint::PuffOperationExecutor::brush_radius_base_re_ |
Definition at line 62 of file curves_sculpt_puff.cc.
Referenced by execute(), and find_curve_weights_projected().
float blender::ed::sculpt_paint::PuffOperationExecutor::brush_radius_factor_ |
Definition at line 63 of file curves_sculpt_puff.cc.
Referenced by execute(), and find_curve_weights_projected().
float blender::ed::sculpt_paint::PuffOperationExecutor::brush_strength_ |
Definition at line 64 of file curves_sculpt_puff.cc.
Referenced by execute().
Definition at line 74 of file curves_sculpt_puff.cc.
Referenced by execute().
CurvesSculptCommonContext blender::ed::sculpt_paint::PuffOperationExecutor::ctx_ |
Definition at line 50 of file curves_sculpt_puff.cc.
Referenced by execute(), and find_curve_weights_projected().
IndexMask blender::ed::sculpt_paint::PuffOperationExecutor::curve_selection_ |
Definition at line 58 of file curves_sculpt_puff.cc.
Referenced by execute(), and find_curve_weights_projected().
CurvesGeometry* blender::ed::sculpt_paint::PuffOperationExecutor::curves_ = nullptr |
Definition at line 54 of file curves_sculpt_puff.cc.
Referenced by execute().
Curves* blender::ed::sculpt_paint::PuffOperationExecutor::curves_id_ = nullptr |
Definition at line 53 of file curves_sculpt_puff.cc.
Referenced by execute(), and find_curve_weights_projected_with_symmetry().
const CurvesSculpt* blender::ed::sculpt_paint::PuffOperationExecutor::curves_sculpt_ = nullptr |
Definition at line 60 of file curves_sculpt_puff.cc.
Referenced by execute().
eBrushFalloffShape blender::ed::sculpt_paint::PuffOperationExecutor::falloff_shape_ |
Definition at line 67 of file curves_sculpt_puff.cc.
Referenced by execute().
Object* blender::ed::sculpt_paint::PuffOperationExecutor::object_ = nullptr |
Definition at line 52 of file curves_sculpt_puff.cc.
Referenced by execute(), and find_curve_weights_projected().
Definition at line 56 of file curves_sculpt_puff.cc.
Referenced by execute().
Definition at line 57 of file curves_sculpt_puff.cc.
Referenced by execute().
PuffOperation* blender::ed::sculpt_paint::PuffOperationExecutor::self_ = nullptr |
Definition at line 49 of file curves_sculpt_puff.cc.
Referenced by execute().
Mesh* blender::ed::sculpt_paint::PuffOperationExecutor::surface_ = nullptr |
Definition at line 72 of file curves_sculpt_puff.cc.
Referenced by execute().
BVHTreeFromMesh blender::ed::sculpt_paint::PuffOperationExecutor::surface_bvh_ |
Definition at line 75 of file curves_sculpt_puff.cc.
Referenced by execute().
Definition at line 73 of file curves_sculpt_puff.cc.
Referenced by execute().
Object* blender::ed::sculpt_paint::PuffOperationExecutor::surface_ob_ = nullptr |
Definition at line 71 of file curves_sculpt_puff.cc.
Referenced by execute().
CurvesSurfaceTransforms blender::ed::sculpt_paint::PuffOperationExecutor::transforms_ |
Definition at line 69 of file curves_sculpt_puff.cc.
Referenced by execute().