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

Public Member Functions

 DensitySubtractOperationExecutor (const bContext &C)
 
void execute (DensitySubtractOperation &self, const bContext &C, const StrokeExtension &stroke_extension)
 
void reduce_density_projected_with_symmetry (MutableSpan< bool > curves_to_delete)
 
void reduce_density_projected (const float4x4 &brush_transform, MutableSpan< bool > curves_to_delete)
 
void reduce_density_spherical_with_symmetry (MutableSpan< bool > curves_to_delete)
 
void reduce_density_spherical (const float3 &brush_pos_cu, const float brush_radius_cu, MutableSpan< bool > curves_to_delete)
 

Public Attributes

DensitySubtractOperationself_ = nullptr
 
CurvesSculptCommonContext ctx_
 
Objectobject_ = nullptr
 
Curvescurves_id_ = nullptr
 
CurvesGeometrycurves_ = nullptr
 
Vector< int64_tselected_curve_indices_
 
IndexMask curve_selection_
 
Objectsurface_ob_orig_ = nullptr
 
Meshsurface_orig_ = nullptr
 
Objectsurface_ob_eval_ = nullptr
 
Meshsurface_eval_ = nullptr
 
BVHTreeFromMesh surface_bvh_eval_
 
const CurvesSculptcurves_sculpt_ = nullptr
 
const Brushbrush_ = nullptr
 
float brush_radius_base_re_
 
float brush_radius_factor_
 
float brush_strength_
 
float2 brush_pos_re_
 
float minimum_distance_
 
CurvesSurfaceTransforms transforms_
 
KDTree_3d * root_points_kdtree_
 

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 494 of file curves_sculpt_density.cc.

Constructor & Destructor Documentation

◆ DensitySubtractOperationExecutor()

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

Definition at line 525 of file curves_sculpt_density.cc.

Member Function Documentation

◆ execute()

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

Definition at line 529 of file curves_sculpt_density.cc.

References BKE_brush_size_get(), BKE_bvhtree_from_mesh_get(), BKE_object_get_evaluated_mesh(), BKE_paint_brush_for_read(), BLI_assert, BLI_assert_unreachable, BLI_SCOPED_DEFER, blender::ed::sculpt_paint::brush_radius_factor(), blender::ed::sculpt_paint::brush_strength_get(), BVHTREE_FROM_LOOPTRI, C, CTX_data_active_object(), blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::curves_range(), ToolSettings::curves_sculpt, Brush::curves_sculpt_settings, Object::data, DEG_get_evaluated_object(), DEG_id_tag_update(), blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, ED_region_tag_redraw(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::IndexMask::extract_ranges_invert(), Brush::falloff_shape, blender::index_mask_ops::find_indices_based_on_predicate(), free_bvhtree_from_mesh(), Curves::geometry, blender::bke::crazyspace::get_evaluated_curves_deformation(), Curves::id, ID_RECALC_GEOMETRY, indices, blender::ed::sculpt_paint::StrokeExtension::is_first, BrushCurvesSculptSettings::minimum_distance, blender::ed::sculpt_paint::StrokeExtension::mouse_position, NC_GEOM, ND_DATA, blender::bke::CurvesGeometry::offsets(), PAINT_FALLOFF_SHAPE_SPHERE, PAINT_FALLOFF_SHAPE_TUBE, blender::bke::crazyspace::GeometryDeformation::positions, blender::ed::sculpt_paint::CurvesSculptCommonContext::region, blender::bke::CurvesGeometry::remove_curves(), blender::ed::sculpt_paint::retrieve_selected_curves(), blender::ed::sculpt_paint::CurvesSculptCommonContext::scene, blender::IndexMask::size(), Curves::surface, Scene::toolsettings, WM_main_add_notifier(), and blender::bke::image::partial_update::wrap().

◆ reduce_density_projected()

void blender::ed::sculpt_paint::DensitySubtractOperationExecutor::reduce_density_projected ( const float4x4 brush_transform,
MutableSpan< bool curves_to_delete 
)
inline

◆ reduce_density_projected_with_symmetry()

void blender::ed::sculpt_paint::DensitySubtractOperationExecutor::reduce_density_projected_with_symmetry ( MutableSpan< bool curves_to_delete)
inline

◆ reduce_density_spherical()

void blender::ed::sculpt_paint::DensitySubtractOperationExecutor::reduce_density_spherical ( const float3 brush_pos_cu,
const float  brush_radius_cu,
MutableSpan< bool curves_to_delete 
)
inline

◆ reduce_density_spherical_with_symmetry()

void blender::ed::sculpt_paint::DensitySubtractOperationExecutor::reduce_density_spherical_with_symmetry ( MutableSpan< bool curves_to_delete)
inline

Member Data Documentation

◆ brush_

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

Definition at line 513 of file curves_sculpt_density.cc.

◆ brush_pos_re_

float2 blender::ed::sculpt_paint::DensitySubtractOperationExecutor::brush_pos_re_

Definition at line 517 of file curves_sculpt_density.cc.

◆ brush_radius_base_re_

float blender::ed::sculpt_paint::DensitySubtractOperationExecutor::brush_radius_base_re_

Definition at line 514 of file curves_sculpt_density.cc.

◆ brush_radius_factor_

float blender::ed::sculpt_paint::DensitySubtractOperationExecutor::brush_radius_factor_

Definition at line 515 of file curves_sculpt_density.cc.

◆ brush_strength_

float blender::ed::sculpt_paint::DensitySubtractOperationExecutor::brush_strength_

Definition at line 516 of file curves_sculpt_density.cc.

◆ ctx_

CurvesSculptCommonContext blender::ed::sculpt_paint::DensitySubtractOperationExecutor::ctx_

Definition at line 496 of file curves_sculpt_density.cc.

◆ curve_selection_

IndexMask blender::ed::sculpt_paint::DensitySubtractOperationExecutor::curve_selection_

Definition at line 503 of file curves_sculpt_density.cc.

◆ curves_

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

Definition at line 500 of file curves_sculpt_density.cc.

◆ curves_id_

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

Definition at line 499 of file curves_sculpt_density.cc.

◆ curves_sculpt_

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

Definition at line 512 of file curves_sculpt_density.cc.

◆ minimum_distance_

float blender::ed::sculpt_paint::DensitySubtractOperationExecutor::minimum_distance_

Definition at line 519 of file curves_sculpt_density.cc.

◆ object_

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

Definition at line 498 of file curves_sculpt_density.cc.

◆ root_points_kdtree_

KDTree_3d* blender::ed::sculpt_paint::DensitySubtractOperationExecutor::root_points_kdtree_

Definition at line 523 of file curves_sculpt_density.cc.

◆ selected_curve_indices_

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

Definition at line 502 of file curves_sculpt_density.cc.

◆ self_

DensitySubtractOperation* blender::ed::sculpt_paint::DensitySubtractOperationExecutor::self_ = nullptr

Definition at line 495 of file curves_sculpt_density.cc.

◆ surface_bvh_eval_

BVHTreeFromMesh blender::ed::sculpt_paint::DensitySubtractOperationExecutor::surface_bvh_eval_

Definition at line 510 of file curves_sculpt_density.cc.

◆ surface_eval_

Mesh* blender::ed::sculpt_paint::DensitySubtractOperationExecutor::surface_eval_ = nullptr

Definition at line 509 of file curves_sculpt_density.cc.

◆ surface_ob_eval_

Object* blender::ed::sculpt_paint::DensitySubtractOperationExecutor::surface_ob_eval_ = nullptr

Definition at line 508 of file curves_sculpt_density.cc.

◆ surface_ob_orig_

Object* blender::ed::sculpt_paint::DensitySubtractOperationExecutor::surface_ob_orig_ = nullptr

Definition at line 505 of file curves_sculpt_density.cc.

◆ surface_orig_

Mesh* blender::ed::sculpt_paint::DensitySubtractOperationExecutor::surface_orig_ = nullptr

Definition at line 506 of file curves_sculpt_density.cc.

◆ transforms_

CurvesSurfaceTransforms blender::ed::sculpt_paint::DensitySubtractOperationExecutor::transforms_

Definition at line 521 of file curves_sculpt_density.cc.


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