Blender V4.5
blender::ed::sculpt_paint::DensityAddOperationExecutor Struct Reference

Public Member Functions

 DensityAddOperationExecutor (const bContext &C)
void execute (DensityAddOperation &self, const bContext &C, const StrokeExtension &stroke_extension)
void prepare_curve_roots_kdtrees ()
void sample_projected_with_symmetry (RandomNumberGenerator &rng, Vector< float2 > &r_uvs, Vector< float3 > &r_positions_su)
void sample_spherical_with_symmetry (RandomNumberGenerator &rng, Vector< float2 > &r_uvs, Vector< float3 > &r_positions_su)

Public Attributes

DensityAddOperationself_ = nullptr
CurvesSculptCommonContext ctx_
Objectcurves_ob_orig_ = nullptr
Curvescurves_id_orig_ = nullptr
CurvesGeometrycurves_orig_ = nullptr
Objectsurface_ob_orig_ = nullptr
const Meshsurface_orig_ = nullptr
Objectsurface_ob_eval_ = nullptr
Meshsurface_eval_ = nullptr
Span< int3surface_corner_tris_eval_
VArraySpan< float2surface_uv_map_eval_
bke::BVHTreeFromMesh surface_bvh_eval_
const CurvesSculptcurves_sculpt_ = nullptr
const Brushbrush_ = nullptr
const BrushCurvesSculptSettingsbrush_settings_ = nullptr
float brush_strength_
float brush_radius_re_
float2 brush_pos_re_
CurvesSurfaceTransforms transforms_

Detailed Description

Definition at line 68 of file curves_sculpt_density.cc.

Constructor & Destructor Documentation

◆ DensityAddOperationExecutor()

blender::ed::sculpt_paint::DensityAddOperationExecutor::DensityAddOperationExecutor ( const bContext & C)
inline

Definition at line 95 of file curves_sculpt_density.cc.

References C, and ctx_.

Member Function Documentation

◆ execute()

void blender::ed::sculpt_paint::DensityAddOperationExecutor::execute ( DensityAddOperation & self,
const bContext & C,
const StrokeExtension & stroke_extension )
inline

Definition at line 97 of file curves_sculpt_density.cc.

References Geometry::attributes, BKE_object_get_evaluated_mesh(), BKE_paint_brush_for_read(), BLI_assert_unreachable, BLI_SCOPED_DEFER, brush_, brush_pos_re_, blender::ed::sculpt_paint::brush_radius_get(), brush_radius_re_, brush_settings_, brush_strength_, blender::ed::sculpt_paint::brush_strength_get(), C, blender::bke::Corner, ctx_, CTX_data_active_object(), curves_id_orig_, blender::bke::CurvesGeometry::curves_num(), curves_ob_orig_, curves_orig_, ToolSettings::curves_sculpt, curves_sculpt_, Brush::curves_sculpt_settings, blender::ed::sculpt_paint::CurvesSurfaceTransforms::CurvesSurfaceTransforms(), Object::data, DEG_get_evaluated(), blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, Mesh::faces_num, Brush::falloff_shape, for(), blender::RandomNumberGenerator::from_random_seed(), Curves::geometry, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::Span< T >::is_empty(), blender::ed::sculpt_paint::StrokeExtension::is_first, blender::ed::sculpt_paint::StrokeExtension::mouse_position, OB_MESH, CurvesSculpt::paint, PAINT_FALLOFF_SHAPE_SPHERE, PAINT_FALLOFF_SHAPE_TUBE, blender::threading::parallel_invoke(), prepare_curve_roots_kdtrees(), blender::ed::sculpt_paint::report_empty_evaluated_surface(), blender::ed::sculpt_paint::report_empty_original_surface(), blender::ed::sculpt_paint::report_missing_surface(), blender::ed::sculpt_paint::report_missing_uv_map_on_evaluated_surface(), blender::ed::sculpt_paint::report_missing_uv_map_on_original_surface(), blender::ed::sculpt_paint::StrokeExtension::reports, sample_projected_with_symmetry(), sample_spherical_with_symmetry(), blender::ed::sculpt_paint::CurvesSculptCommonContext::scene, self_, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), Curves::surface, surface_bvh_eval_, surface_corner_tris_eval_, surface_eval_, surface_ob_eval_, surface_ob_orig_, surface_orig_, blender::bke::CurvesSurfaceTransforms::surface_to_curves, Curves::surface_uv_map, surface_uv_map_eval_, Scene::toolsettings, blender::math::transform_point(), transforms_, and Object::type.

Referenced by blender::ed::sculpt_paint::DensityAddOperation::on_stroke_extended().

◆ prepare_curve_roots_kdtrees()

◆ sample_projected_with_symmetry()

void blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_projected_with_symmetry ( RandomNumberGenerator & rng,
Vector< float2 > & r_uvs,
Vector< float3 > & r_positions_su )
inline

Definition at line 336 of file curves_sculpt_density.cc.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_brush_curve_strength(), brush_, brush_pos_re_, brush_radius_re_, brush_settings_, brush_strength_, ctx_, curves_id_orig_, curves_ob_orig_, blender::bke::CurvesSurfaceTransforms::curves_to_surface, BrushCurvesSculptSettings::density_add_attempts, blender::ed::sculpt_paint::CurvesSculptCommonContext::depsgraph, blender::math::distance(), ED_view3d_ob_project_mat_get(), ED_view3d_project_float_v2_m4(), ED_view3d_win_to_segment_clipped(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::RandomNumberGenerator::get_float(), blender::ed::sculpt_paint::get_symmetry_brush_transforms(), i, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::math::invert(), blender::ed::sculpt_paint::CurvesSculptCommonContext::region, blender::Vector< T, InlineBufferCapacity, Allocator >::remove_and_reorder(), blender::ed::sculpt_paint::CurvesSculptCommonContext::rv3d, blender::bke::mesh_surface_sample::sample_corner_attribute_with_bary_coords(), blender::bke::mesh_surface_sample::sample_surface_points_projected(), surface_bvh_eval_, surface_corner_tris_eval_, surface_eval_, blender::bke::CurvesSurfaceTransforms::surface_to_curves, surface_uv_map_eval_, Curves::symmetry, blender::math::transform_point(), transforms_, blender::ed::sculpt_paint::CurvesSculptCommonContext::v3d, and blender::bke::CurvesSurfaceTransforms::world_to_curves.

Referenced by execute().

◆ sample_spherical_with_symmetry()

void blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_spherical_with_symmetry ( RandomNumberGenerator & rng,
Vector< float2 > & r_uvs,
Vector< float3 > & r_positions_su )
inline

Member Data Documentation

◆ brush_

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

◆ brush_pos_re_

float2 blender::ed::sculpt_paint::DensityAddOperationExecutor::brush_pos_re_

◆ brush_radius_re_

float blender::ed::sculpt_paint::DensityAddOperationExecutor::brush_radius_re_

◆ brush_settings_

const BrushCurvesSculptSettings* blender::ed::sculpt_paint::DensityAddOperationExecutor::brush_settings_ = nullptr

◆ brush_strength_

float blender::ed::sculpt_paint::DensityAddOperationExecutor::brush_strength_

◆ ctx_

◆ curves_id_orig_

Curves* blender::ed::sculpt_paint::DensityAddOperationExecutor::curves_id_orig_ = nullptr

◆ curves_ob_orig_

Object* blender::ed::sculpt_paint::DensityAddOperationExecutor::curves_ob_orig_ = nullptr

◆ curves_orig_

CurvesGeometry* blender::ed::sculpt_paint::DensityAddOperationExecutor::curves_orig_ = nullptr

Definition at line 74 of file curves_sculpt_density.cc.

Referenced by execute(), and prepare_curve_roots_kdtrees().

◆ curves_sculpt_

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

Definition at line 85 of file curves_sculpt_density.cc.

Referenced by execute().

◆ self_

DensityAddOperation* blender::ed::sculpt_paint::DensityAddOperationExecutor::self_ = nullptr

Definition at line 69 of file curves_sculpt_density.cc.

Referenced by execute().

◆ surface_bvh_eval_

bke::BVHTreeFromMesh blender::ed::sculpt_paint::DensityAddOperationExecutor::surface_bvh_eval_

◆ surface_corner_tris_eval_

Span<int3> blender::ed::sculpt_paint::DensityAddOperationExecutor::surface_corner_tris_eval_

◆ surface_eval_

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

◆ surface_ob_eval_

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

Definition at line 79 of file curves_sculpt_density.cc.

Referenced by execute().

◆ surface_ob_orig_

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

Definition at line 76 of file curves_sculpt_density.cc.

Referenced by execute().

◆ surface_orig_

const Mesh* blender::ed::sculpt_paint::DensityAddOperationExecutor::surface_orig_ = nullptr

Definition at line 77 of file curves_sculpt_density.cc.

Referenced by execute().

◆ surface_uv_map_eval_

VArraySpan<float2> blender::ed::sculpt_paint::DensityAddOperationExecutor::surface_uv_map_eval_

◆ transforms_

CurvesSurfaceTransforms blender::ed::sculpt_paint::DensityAddOperationExecutor::transforms_

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