|
Blender V4.5
|
Classes | |
| struct | LocalDataMesh |
| struct | LocalDataGrids |
| struct | LocalDataBMesh |
| struct | SculptBoundary |
Functions | |
| bool | vert_is_boundary (const GroupedSpan< int > vert_to_face_map, const Span< bool > hide_poly, const BitSpan boundary, const int vert) |
| bool | vert_is_boundary (const OffsetIndices< int > faces, const Span< int > corner_verts, const BitSpan boundary, const SubdivCCG &subdiv_ccg, const SubdivCCGCoord vert) |
| bool | vert_is_boundary (BMVert *vert) |
| void | ensure_boundary_info (Object &object) |
| static bool | check_counts (const int neighbor_count, const int boundary_vertex_count) |
| static bool | is_vert_in_editable_boundary_mesh (const OffsetIndices< int > faces, const Span< int > corner_verts, const GroupedSpan< int > vert_to_face, const Span< bool > hide_vert, const Span< bool > hide_poly, const BitSpan boundary, const int initial_vert) |
| static bool | is_vert_in_editable_boundary_grids (const OffsetIndices< int > faces, const Span< int > corner_verts, const SubdivCCG &subdiv_ccg, const BitSpan boundary, const SubdivCCGCoord initial_vert) |
| static bool | is_vert_in_editable_boundary_bmesh (BMVert &initial_vert) |
Nearest Boundary Vert | |
| static std::optional< int > | get_closest_boundary_vert_mesh (Object &object, const GroupedSpan< int > vert_to_face, const Span< float3 > vert_positions, const Span< bool > hide_vert, const Span< bool > hide_poly, const BitSpan boundary, const int initial_vert, const float radius) |
| static std::optional< SubdivCCGCoord > | get_closest_boundary_vert_grids (Object &object, const OffsetIndices< int > faces, const Span< int > corner_verts, const SubdivCCG &subdiv_ccg, const BitSpan boundary, const SubdivCCGCoord initial_vert, const float radius) |
| static std::optional< BMVert * > | get_closest_boundary_vert_bmesh (Object &object, BMesh *bm, BMVert &initial_vert, const float radius) |
Edit Data Calculation | |
| static void | edit_data_init_mesh (OffsetIndices< int > faces, Span< int > corner_verts, GroupedSpan< int > vert_to_face, Span< float3 > vert_positions, Span< bool > hide_vert, Span< bool > hide_poly, const int initial_vert_i, const float radius, SculptBoundary &boundary) |
| static void | edit_data_init_grids (const SubdivCCG &subdiv_ccg, const int initial_vert_i, const float radius, SculptBoundary &boundary) |
| static void | edit_data_init_bmesh (BMesh *bm, const int initial_vert_i, const float radius, SculptBoundary &boundary) |
Specialized Initialization | |
Methods for initializing specialized data inside SculptBoundary | |
| static void | bend_data_init_mesh (const Span< float3 > vert_positions, const Span< float3 > vert_normals, SculptBoundary &boundary) |
| static void | bend_data_init_grids (const SubdivCCG &subdiv_ccg, SculptBoundary &boundary) |
| static void | bend_data_init_bmesh (BMesh *bm, SculptBoundary &boundary) |
| static void | slide_data_init_mesh (const Span< float3 > vert_positions, SculptBoundary &boundary) |
| static void | slide_data_init_grids (const SubdivCCG &subdiv_ccg, SculptBoundary &boundary) |
| static void | slide_data_init_bmesh (BMesh *bm, SculptBoundary &boundary) |
| static void | populate_twist_data (const Span< float3 > positions, SculptBoundary &boundary) |
| static void | twist_data_init_mesh (const Span< float3 > vert_positions, SculptBoundary &boundary) |
| static void | twist_data_init_grids (const SubdivCCG &subdiv_ccg, SculptBoundary &boundary) |
| static void | twist_data_init_bmesh (BMesh *bm, SculptBoundary &boundary) |
Common helpers | |
| static BLI_NOINLINE void | filter_uninitialized_verts (const Span< int > propagation_steps, const MutableSpan< float > factors) |
Bend Deformation | |
| static BLI_NOINLINE void | calc_bend_position (const Span< float3 > positions, const Span< float3 > pivot_positions, const Span< float3 > pivot_axes, const Span< float > factors, const MutableSpan< float3 > new_positions) |
| static void | calc_bend_mesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const Span< float3 > vert_pivot_positions, const Span< float3 > vert_pivot_axes, const bke::pbvh::MeshNode &node, LocalDataMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target, const PositionDeformData &position_data) |
| static void | calc_bend_grids (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, SubdivCCG &subdiv_ccg, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const Span< float3 > vert_pivot_positions, const Span< float3 > vert_pivot_axes, const bke::pbvh::GridsNode &node, LocalDataGrids &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | calc_bend_bmesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const Span< float3 > vert_pivot_positions, const Span< float3 > vert_pivot_axes, bke::pbvh::BMeshNode &node, LocalDataBMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | do_bend_brush (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const IndexMask &node_mask, const SculptBoundary &boundary, const float strength, const eBrushDeformTarget deform_target) |
Slide Deformation | |
| static BLI_NOINLINE void | calc_slide_position (const Span< float3 > positions, const Span< float3 > directions, const Span< float > factors, const MutableSpan< float3 > new_positions) |
| static void | calc_slide_mesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const Span< float3 > vert_slide_directions, const bke::pbvh::MeshNode &node, LocalDataMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target, const PositionDeformData &position_data) |
| static void | calc_slide_grids (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, SubdivCCG &subdiv_ccg, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const Span< float3 > vert_slide_directions, const bke::pbvh::GridsNode &node, LocalDataGrids &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | calc_slide_bmesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const Span< float3 > vert_slide_directions, bke::pbvh::BMeshNode &node, LocalDataBMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | do_slide_brush (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const IndexMask &node_mask, const SculptBoundary &boundary, const float strength, const eBrushDeformTarget deform_target) |
Inflate Deformation | |
| static BLI_NOINLINE void | calc_inflate_position (const Span< float3 > positions, const Span< float3 > normals, const Span< float > factors, const MutableSpan< float3 > new_positions) |
| static void | calc_inflate_mesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const bke::pbvh::MeshNode &node, LocalDataMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target, const PositionDeformData &position_data) |
| static void | calc_inflate_grids (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, SubdivCCG &subdiv_ccg, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const bke::pbvh::GridsNode &node, LocalDataGrids &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | calc_inflate_bmesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, bke::pbvh::BMeshNode &node, LocalDataBMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | do_inflate_brush (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const IndexMask &node_mask, const SculptBoundary &boundary, const float strength, const eBrushDeformTarget deform_target) |
Grab Deformation | |
| static BLI_NOINLINE void | calc_grab_position (const Span< float3 > positions, const float3 grab_delta, const Span< float > factors, const MutableSpan< float3 > new_positions) |
| static void | calc_grab_mesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const bke::pbvh::MeshNode &node, LocalDataMesh &tls, const float3 grab_delta_symmetry, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target, const PositionDeformData &position_data) |
| static void | calc_grab_grids (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, SubdivCCG &subdiv_ccg, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const bke::pbvh::GridsNode &node, LocalDataGrids &tls, const float3 grab_delta_symmetry, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | calc_grab_bmesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, bke::pbvh::BMeshNode &node, LocalDataBMesh &tls, const float3 grab_delta_symmetry, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | do_grab_brush (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const IndexMask &node_mask, const SculptBoundary &boundary, const float strength, const eBrushDeformTarget deform_target) |
Twist Deformation | |
| static BLI_NOINLINE void | calc_twist_position (const Span< float3 > positions, const float3 pivot_point, const float3 pivot_axis, const Span< float > factors, const MutableSpan< float3 > new_positions) |
| static void | calc_twist_mesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const bke::pbvh::MeshNode &node, LocalDataMesh &tls, const float3 twist_pivot_position, const float3 twist_axis, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target, const PositionDeformData &position_data) |
| static void | calc_twist_grids (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, SubdivCCG &subdiv_ccg, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const float3 twist_pivot_position, const float3 twist_axis, const bke::pbvh::GridsNode &node, LocalDataGrids &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | calc_twist_bmesh (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const float3 twist_pivot_position, const float3 twist_axis, bke::pbvh::BMeshNode &node, LocalDataBMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | do_twist_brush (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const IndexMask &node_mask, const SculptBoundary &boundary, const float strength, const eBrushDeformTarget deform_target) |
Smooth Deformation | |
| static BLI_NOINLINE void | calc_smooth_position (const Span< float3 > positions, const Span< float3 > average_position, const Span< float > factors, const MutableSpan< float3 > new_positions) |
| static BLI_NOINLINE void | calc_average_position (const Span< float3 > vert_positions, const Span< int > vert_propagation_steps, const GroupedSpan< int > neighbors, const Span< int > propagation_steps, const MutableSpan< float > factors, const MutableSpan< float3 > average_positions) |
| static BLI_NOINLINE void | calc_average_position (const Span< int > vert_propagation_steps, const GroupedSpan< BMVert * > neighbors, const Span< int > propagation_steps, const MutableSpan< float > factors, const MutableSpan< float3 > average_positions) |
| static void | calc_smooth_mesh (const Sculpt &sd, Object &object, const OffsetIndices< int > faces, const Span< int > corner_verts, const GroupedSpan< int > vert_to_face, const Span< bool > hide_poly, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const bke::pbvh::MeshNode &node, LocalDataMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target, const PositionDeformData &position_data) |
| static void | calc_smooth_grids (const Sculpt &sd, Object &object, SubdivCCG &subdiv_ccg, const Span< int > vert_propagation_steps, const Span< float > vert_factors, const bke::pbvh::GridsNode &node, LocalDataGrids &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | calc_smooth_bmesh (const Sculpt &sd, Object &object, const Span< int > vert_propagation_steps, const Span< float > vert_factors, bke::pbvh::BMeshNode &node, LocalDataBMesh &tls, const float3 symmetry_pivot, const float strength, const eBrushDeformTarget deform_target) |
| static void | do_smooth_brush (const Depsgraph &depsgraph, const Sculpt &sd, Object &object, const IndexMask &node_mask, const SculptBoundary &boundary, const float strength, const eBrushDeformTarget deform_target) |
Brush Initialization | |
| static float | displacement_from_grab_delta_get (const SculptSession &ss, const SculptBoundary &boundary) |
| static std::pair< float, float > | calc_boundary_falloff (const SculptBoundary &boundary, const Brush &brush, const float radius, const int index) |
| static void | init_falloff_mesh (const Span< float > mask, const Brush &brush, const float radius, SculptBoundary &boundary) |
| static void | init_falloff_grids (const SubdivCCG &subdiv_ccg, const Brush &brush, const float radius, SculptBoundary &boundary) |
| static void | init_falloff_bmesh (BMesh *bm, const Brush &brush, const float radius, SculptBoundary &boundary) |
| static void | init_boundary_mesh (const Depsgraph &depsgraph, Object &object, const Brush &brush, const ePaintSymmetryFlags symm_area) |
| static void | init_boundary_grids (Object &object, const Brush &brush, const ePaintSymmetryFlags symm_area) |
| static void | init_boundary_bmesh (Object &object, const Brush &brush, const ePaintSymmetryFlags symm_area) |
| static float | get_mesh_strength (const SculptSession &ss, const Brush &brush) |
| void | do_boundary_brush (const Depsgraph &depsgraph, const Sculpt &sd, Object &ob, const IndexMask &node_mask) |
Public API | |
| std::unique_ptr< SculptBoundary > | data_init (const Depsgraph &depsgraph, Object &object, const Brush *brush, const int initial_vert, const float radius) |
| std::unique_ptr< SculptBoundary > | data_init_mesh (const Depsgraph &depsgraph, Object &object, const Brush *brush, const int initial_vert, const float radius) |
| std::unique_ptr< SculptBoundary > | data_init_grids (Object &object, const Brush *brush, const SubdivCCGCoord initial_vert, const float radius) |
| std::unique_ptr< SculptBoundary > | data_init_bmesh (Object &object, const Brush *brush, BMVert *initial_vert, const float radius) |
Boundary Drawing | |
Helper methods to draw boundary information. | |
| std::unique_ptr< SculptBoundaryPreview > | preview_data_init (const Depsgraph &depsgraph, Object &object, const Brush *brush, const float radius) |
| void | edges_preview_draw (const uint gpuattr, SculptSession &ss, const float outline_col[3], const float outline_alpha) |
| void | pivot_line_preview_draw (const uint gpuattr, SculptSession &ss) |
Boundary Index Calculation | |
| constexpr int | BOUNDARY_INDICES_BLOCK_SIZE = 300 |
| static void | add_index (SculptBoundary &boundary, const int new_index, const float distance, Set< int, BOUNDARY_INDICES_BLOCK_SIZE > &included_verts) |
| static void | indices_init_mesh (Object &object, const OffsetIndices< int > faces, const Span< int > corner_verts, const GroupedSpan< int > vert_to_face, const Span< bool > hide_vert, const Span< bool > hide_poly, const BitSpan boundary_verts, const Span< float3 > vert_positions, const int initial_boundary_vert, SculptBoundary &boundary) |
| static void | indices_init_grids (Object &object, const OffsetIndices< int > faces, const Span< int > corner_verts, const SubdivCCG &subdiv_ccg, const BitSpan boundary_verts, const SubdivCCGCoord initial_vert, SculptBoundary &boundary) |
| static void | indices_init_bmesh (Object &object, BMesh *bm, BMVert &initial_boundary_vert, SculptBoundary &boundary) |
|
static |
Definition at line 310 of file sculpt_boundary.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), and distance().
Referenced by indices_init_bmesh(), indices_init_grids(), and indices_init_mesh().
|
static |
Definition at line 824 of file sculpt_boundary.cc.
References BLI_assert, bm, BM_vert_at_index(), BOUNDARY_STEPS_NONE, BMVert::co, blender::math::cross(), i, BMVert::no, and blender::math::normalize().
Referenced by init_boundary_bmesh().
|
static |
Definition at line 785 of file sculpt_boundary.cc.
References BLI_assert, BOUNDARY_STEPS_NONE, blender::math::cross(), i, blender::math::normalize(), normals, SubdivCCG::normals, and SubdivCCG::positions.
Referenced by init_boundary_grids().
|
static |
Definition at line 747 of file sculpt_boundary.cc.
References BLI_assert, BOUNDARY_STEPS_NONE, blender::math::cross(), i, and blender::math::normalize().
Referenced by init_boundary_mesh().
|
static |
Definition at line 2501 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, i, blender::offset_indices::GroupedSpan< T >::index_range(), blender::math::safe_rcp(), blender::MutableSpan< T >::size(), blender::offset_indices::GroupedSpan< T >::size(), and blender::Span< T >::size().
Referenced by calc_smooth_bmesh(), calc_smooth_grids(), and calc_smooth_mesh().
|
static |
Definition at line 2529 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, BM_elem_index_get, i, blender::offset_indices::GroupedSpan< T >::index_range(), blender::math::safe_rcp(), blender::MutableSpan< T >::size(), blender::offset_indices::GroupedSpan< T >::size(), and blender::Span< T >::size().
|
static |
Definition at line 1224 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_pbvh_bmesh_node_unique_verts(), SculptSession::bm_log, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_bend_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataBMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_bmesh_positions(), blender::ed::sculpt_paint::gather_data_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_gather_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::pivot_axes, blender::ed::sculpt_paint::boundary::LocalDataBMesh::pivot_positions, blender::ed::sculpt_paint::boundary::LocalDataBMesh::positions, blender::ed::sculpt_paint::boundary::LocalDataBMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_bmesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), and verts.
Referenced by do_bend_brush().
|
static |
Definition at line 1157 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_subdiv_ccg_key_top_level(), BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_bend_position(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataGrids::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_grids_positions(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::new_positions, blender::ed::sculpt_paint::orig_position_data_get_grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::pivot_axes, blender::ed::sculpt_paint::boundary::LocalDataGrids::pivot_positions, blender::ed::sculpt_paint::boundary::LocalDataGrids::positions, blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataGrids::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_grids(), SCULPT_mesh_symmetry_xyz_get(), blender::Span< T >::size(), blender::ed::sculpt_paint::boundary::LocalDataGrids::translations, and blender::ed::sculpt_paint::translations_from_new_positions().
Referenced by do_bend_brush().
|
static |
Definition at line 1098 of file sculpt_boundary.cc.
References blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_bend_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, blender::ed::sculpt_paint::PositionDeformData::deform(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::ed::sculpt_paint::boundary::LocalDataMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::boundary::LocalDataMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_get_mesh(), blender::ed::sculpt_paint::boundary::LocalDataMesh::pivot_axes, blender::ed::sculpt_paint::boundary::LocalDataMesh::pivot_positions, blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_mesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by do_bend_brush().
|
static |
Definition at line 1079 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, i, blender::Span< T >::index_range(), rotate_v3_v3v3fl(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by calc_bend_bmesh(), calc_bend_grids(), and calc_bend_mesh().
|
static |
Definition at line 2857 of file sculpt_boundary.cc.
References BLI_assert_unreachable, Brush::boundary_falloff_type, BRUSH_BOUNDARY_FALLOFF_CONSTANT, BRUSH_BOUNDARY_FALLOFF_LOOP, BRUSH_BOUNDARY_FALLOFF_LOOP_INVERT, BRUSH_BOUNDARY_FALLOFF_RADIUS, fmodf, and mod.
Referenced by init_falloff_bmesh(), init_falloff_grids(), and init_falloff_mesh().
|
static |
Definition at line 2058 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_pbvh_bmesh_node_unique_verts(), SculptSession::bm_log, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_grab_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataBMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_bmesh_positions(), blender::ed::sculpt_paint::gather_data_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_gather_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::positions, blender::ed::sculpt_paint::boundary::LocalDataBMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_bmesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), and verts.
Referenced by do_grab_brush().
|
static |
Definition at line 1997 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_subdiv_ccg_key_top_level(), BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_grab_position(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataGrids::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_grids_positions(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::new_positions, blender::ed::sculpt_paint::orig_position_data_get_grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::positions, blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataGrids::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_grids(), SCULPT_mesh_symmetry_xyz_get(), blender::Span< T >::size(), blender::ed::sculpt_paint::boundary::LocalDataGrids::translations, and blender::ed::sculpt_paint::translations_from_new_positions().
Referenced by do_grab_brush().
|
static |
Definition at line 1943 of file sculpt_boundary.cc.
References blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_grab_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, blender::ed::sculpt_paint::PositionDeformData::deform(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::ed::sculpt_paint::boundary::LocalDataMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::boundary::LocalDataMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_get_mesh(), blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_mesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by do_grab_brush().
|
static |
Definition at line 1930 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, i, blender::Span< T >::index_range(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by calc_grab_bmesh(), calc_grab_grids(), and calc_grab_mesh().
|
static |
Definition at line 1789 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_pbvh_bmesh_node_unique_verts(), SculptSession::bm_log, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_inflate_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataBMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_bmesh_positions(), blender::ed::sculpt_paint::gather_data_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_gather_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::positions, blender::ed::sculpt_paint::boundary::LocalDataBMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_bmesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), and verts.
Referenced by do_inflate_brush().
|
static |
Definition at line 1729 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_subdiv_ccg_key_top_level(), BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), calc_inflate_position(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataGrids::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_grids_positions(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::new_positions, blender::ed::sculpt_paint::OrigPositionData::normals, blender::ed::sculpt_paint::orig_position_data_get_grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::positions, blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataGrids::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_grids(), SCULPT_mesh_symmetry_xyz_get(), blender::Span< T >::size(), blender::ed::sculpt_paint::boundary::LocalDataGrids::translations, and blender::ed::sculpt_paint::translations_from_new_positions().
Referenced by do_inflate_brush().
|
static |
Definition at line 1676 of file sculpt_boundary.cc.
References blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_inflate_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, blender::ed::sculpt_paint::PositionDeformData::deform(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::ed::sculpt_paint::boundary::LocalDataMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::boundary::LocalDataMesh::new_positions, blender::ed::sculpt_paint::OrigPositionData::normals, blender::ed::sculpt_paint::orig_position_data_get_mesh(), blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_mesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by do_inflate_brush().
|
static |
Definition at line 1662 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, i, blender::Span< T >::index_range(), normals, blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by calc_inflate_bmesh(), calc_inflate_grids(), and calc_inflate_mesh().
|
static |
Definition at line 1514 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_pbvh_bmesh_node_unique_verts(), SculptSession::bm_log, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_slide_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataBMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_bmesh_positions(), blender::ed::sculpt_paint::gather_data_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_gather_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::pivot_positions, blender::ed::sculpt_paint::boundary::LocalDataBMesh::positions, blender::ed::sculpt_paint::boundary::LocalDataBMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_bmesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), and verts.
Referenced by do_slide_brush().
|
static |
Definition at line 1449 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_subdiv_ccg_key_top_level(), BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), calc_slide_position(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataGrids::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_grids_positions(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::new_positions, blender::ed::sculpt_paint::orig_position_data_get_grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::pivot_positions, blender::ed::sculpt_paint::boundary::LocalDataGrids::positions, blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataGrids::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_grids(), SCULPT_mesh_symmetry_xyz_get(), blender::Span< T >::size(), blender::ed::sculpt_paint::boundary::LocalDataGrids::translations, and blender::ed::sculpt_paint::translations_from_new_positions().
Referenced by do_slide_brush().
|
static |
Definition at line 1391 of file sculpt_boundary.cc.
References blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_slide_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, blender::ed::sculpt_paint::PositionDeformData::deform(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::ed::sculpt_paint::boundary::LocalDataMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::boundary::LocalDataMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_get_mesh(), blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_mesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataMesh::slide_directions, blender::ed::sculpt_paint::boundary::LocalDataMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by do_slide_brush().
|
static |
Definition at line 1377 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, i, blender::Span< T >::index_range(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by calc_slide_bmesh(), calc_slide_grids(), and calc_slide_mesh().
|
static |
Definition at line 2696 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::average_positions, BKE_pbvh_bmesh_node_unique_verts(), SculptSession::bm_log, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_average_position(), calc_smooth_position(), blender::ed::sculpt_paint::calc_vert_neighbors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, blender::ed::sculpt_paint::boundary::LocalDataBMesh::factors, filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_bmesh_positions(), blender::ed::sculpt_paint::gather_data_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::neighbor_data, blender::ed::sculpt_paint::boundary::LocalDataBMesh::neighbor_offsets, blender::ed::sculpt_paint::boundary::LocalDataBMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_gather_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::positions, blender::ed::sculpt_paint::boundary::LocalDataBMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_bmesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), and verts.
Referenced by do_smooth_brush().
|
static |
Definition at line 2627 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::boundary::LocalDataGrids::average_positions, BKE_subdiv_ccg_key_top_level(), BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_average_position(), calc_smooth_position(), blender::ed::sculpt_paint::calc_vert_neighbors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, blender::ed::sculpt_paint::boundary::LocalDataGrids::factors, filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_grids_positions(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::neighbor_data, blender::ed::sculpt_paint::boundary::LocalDataGrids::neighbor_offsets, blender::ed::sculpt_paint::boundary::LocalDataGrids::new_positions, blender::ed::sculpt_paint::orig_position_data_get_grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::positions, blender::ed::sculpt_paint::OrigPositionData::positions, SubdivCCG::positions, blender::ed::sculpt_paint::boundary::LocalDataGrids::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_grids(), SCULPT_mesh_symmetry_xyz_get(), blender::Span< T >::size(), blender::ed::sculpt_paint::boundary::LocalDataGrids::translations, and blender::ed::sculpt_paint::translations_from_new_positions().
Referenced by do_smooth_brush().
|
static |
Definition at line 2556 of file sculpt_boundary.cc.
References blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::boundary::LocalDataMesh::average_positions, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_average_position(), calc_smooth_position(), blender::ed::sculpt_paint::calc_vert_neighbors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, blender::ed::sculpt_paint::PositionDeformData::deform(), blender::ed::sculpt_paint::PositionDeformData::eval, faces, blender::ed::sculpt_paint::boundary::LocalDataMesh::factors, filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::boundary::LocalDataMesh::neighbor_data, blender::ed::sculpt_paint::boundary::LocalDataMesh::neighbor_offsets, blender::ed::sculpt_paint::boundary::LocalDataMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_get_mesh(), blender::ed::sculpt_paint::boundary::LocalDataMesh::positions, blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_mesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by do_smooth_brush().
|
static |
Definition at line 2486 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, i, blender::Span< T >::index_range(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by calc_smooth_bmesh(), calc_smooth_grids(), and calc_smooth_mesh().
|
static |
Definition at line 2337 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_pbvh_bmesh_node_unique_verts(), SculptSession::bm_log, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_twist_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataBMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_bmesh_positions(), blender::ed::sculpt_paint::gather_data_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_gather_bmesh(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::positions, blender::ed::sculpt_paint::boundary::LocalDataBMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_bmesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataBMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), and verts.
Referenced by do_twist_brush().
|
static |
Definition at line 2274 of file sculpt_boundary.cc.
References blender::ed::sculpt_paint::apply_translations(), blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BKE_subdiv_ccg_key_top_level(), BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), calc_twist_position(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, depsgraph, blender::ed::sculpt_paint::boundary::LocalDataGrids::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_grids_positions(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::new_positions, blender::ed::sculpt_paint::orig_position_data_get_grids(), blender::ed::sculpt_paint::boundary::LocalDataGrids::positions, blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataGrids::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_grids(), SCULPT_mesh_symmetry_xyz_get(), blender::Span< T >::size(), blender::ed::sculpt_paint::boundary::LocalDataGrids::translations, and blender::ed::sculpt_paint::translations_from_new_positions().
Referenced by do_twist_brush().
|
static |
Definition at line 2218 of file sculpt_boundary.cc.
References blender::MutableSpan< T >::as_span(), blender::ed::sculpt_paint::StrokeCache::automasking, BRUSH_DEFORM_TARGET_CLOTH_SIM, BRUSH_DEFORM_TARGET_GEOMETRY, SculptSession::cache, calc_twist_position(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::StrokeCache::cloth_sim, blender::ed::sculpt_paint::PositionDeformData::deform(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::ed::sculpt_paint::boundary::LocalDataMesh::factors, blender::ed::sculpt_paint::filter_translations(), filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::boundary::LocalDataMesh::new_positions, blender::ed::sculpt_paint::orig_position_data_get_mesh(), blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::boundary::LocalDataMesh::propagation_steps, blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_mesh(), SCULPT_mesh_symmetry_xyz_get(), blender::ed::sculpt_paint::boundary::LocalDataMesh::translations, blender::ed::sculpt_paint::translations_from_new_positions(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by do_twist_brush().
|
static |
Definition at line 2204 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, i, blender::Span< T >::index_range(), blender::math::rotate_around_axis(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by calc_twist_bmesh(), calc_twist_grids(), and calc_twist_mesh().
|
static |
Definition at line 44 of file sculpt_boundary.cc.
Referenced by is_vert_in_editable_boundary_bmesh(), is_vert_in_editable_boundary_grids(), and is_vert_in_editable_boundary_mesh().
| std::unique_ptr< SculptBoundary > blender::ed::sculpt_paint::boundary::data_init | ( | const Depsgraph & | depsgraph, |
| Object & | object, | ||
| const Brush * | brush, | ||
| int | initial_vert, | ||
| float | radius ) |
Main function to get SculptBoundary data both for brush deformation and viewport preview. Can return NULL if there is no boundary from the given vertex using the given radius.
Definition at line 3351 of file sculpt_boundary.cc.
References BKE_subdiv_ccg_key_top_level(), BLI_assert_unreachable, SculptSession::bm, BM_vert_at_index(), blender::bke::pbvh::BMesh, data_init_bmesh(), data_init_grids(), data_init_mesh(), depsgraph, SubdivCCGCoord::from_index(), blender::bke::pbvh::Grids, blender::bke::pbvh::Mesh, blender::bke::object::pbvh_get(), SculptSession::subdiv_ccg, and blender::bke::pbvh::Tree::type().
Referenced by blender::ed::sculpt_paint::expand::boundary_topology_falloff_create().
| std::unique_ptr< SculptBoundary > blender::ed::sculpt_paint::boundary::data_init_bmesh | ( | Object & | object, |
| const Brush * | brush, | ||
| BMVert * | initial_vert, | ||
| const float | radius ) |
Definition at line 3511 of file sculpt_boundary.cc.
References SculptSession::bm, BM_elem_index_get, Brush::boundary_offset, edit_data_init_bmesh(), ensure_boundary_info(), get_closest_boundary_vert_bmesh(), indices_init_bmesh(), is_vert_in_editable_boundary_bmesh(), and blender::ed::sculpt_paint::vert_random_access_ensure().
Referenced by data_init(), init_boundary_bmesh(), and preview_data_init().
| std::unique_ptr< SculptBoundary > blender::ed::sculpt_paint::boundary::data_init_grids | ( | Object & | object, |
| const Brush * | brush, | ||
| const SubdivCCGCoord | initial_vert, | ||
| const float | radius ) |
Definition at line 3463 of file sculpt_boundary.cc.
References BKE_subdiv_ccg_key_top_level(), SculptVertexInfo::boundary, Brush::boundary_offset, edit_data_init_grids(), ensure_boundary_info(), faces, get_closest_boundary_vert_grids(), indices_init_grids(), is_vert_in_editable_boundary_grids(), SubdivCCG::positions, SculptSession::subdiv_ccg, SubdivCCGCoord::to_index(), and SculptSession::vertex_info.
Referenced by data_init(), init_boundary_grids(), and preview_data_init().
| std::unique_ptr< SculptBoundary > blender::ed::sculpt_paint::boundary::data_init_mesh | ( | const Depsgraph & | depsgraph, |
| Object & | object, | ||
| const Brush * | brush, | ||
| const int | initial_vert, | ||
| const float | radius ) |
Definition at line 3381 of file sculpt_boundary.cc.
References SculptVertexInfo::boundary, Brush::boundary_offset, depsgraph, edit_data_init_mesh(), ensure_boundary_info(), blender::bke::Face, faces, get_closest_boundary_vert_mesh(), indices_init_mesh(), is_vert_in_editable_boundary_mesh(), blender::bke::AttributeAccessor::lookup(), blender::bke::Point, blender::bke::pbvh::vert_positions_eval(), and SculptSession::vertex_info.
Referenced by data_init(), init_boundary_mesh(), and preview_data_init().
|
static |
Definition at line 2846 of file sculpt_boundary.cc.
References SculptSession::cache, dist_signed_to_plane_v3(), blender::ed::sculpt_paint::StrokeCache::grab_delta_symm, blender::ed::sculpt_paint::StrokeCache::initial_location_symm, blender::math::normalize(), plane_from_point_normal_v3(), and pos.
Referenced by get_mesh_strength().
|
static |
Definition at line 1287 of file sculpt_boundary.cc.
References blender::bke::pbvh::BMesh, calc_bend_bmesh(), calc_bend_grids(), calc_bend_mesh(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::bke::pbvh::Tree::flush_bounds_to_parents(), blender::index_mask::IndexMask::foreach_index(), SubdivCCG::grid_area, blender::bke::pbvh::Grids, i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::pbvh::Mesh, blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), SubdivCCG::positions, blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::type(), blender::bke::pbvh::update_node_bounds_bmesh(), blender::bke::pbvh::update_node_bounds_grids(), and blender::bke::pbvh::update_node_bounds_mesh().
Referenced by do_boundary_brush().
| void blender::ed::sculpt_paint::boundary::do_boundary_brush | ( | const Depsgraph & | depsgraph, |
| const Sculpt & | sd, | ||
| Object & | ob, | ||
| const IndexMask & | node_mask ) |
Definition at line 3256 of file sculpt_boundary.cc.
References BKE_paint_brush_for_read(), blender::bke::pbvh::BMesh, blender::ed::sculpt_paint::StrokeCache::boundaries, Brush::boundary_deform_type, BRUSH_BOUNDARY_DEFORM_BEND, BRUSH_BOUNDARY_DEFORM_EXPAND, BRUSH_BOUNDARY_DEFORM_GRAB, BRUSH_BOUNDARY_DEFORM_INFLATE, BRUSH_BOUNDARY_DEFORM_SMOOTH, BRUSH_BOUNDARY_DEFORM_TWIST, SculptSession::cache, Brush::deform_target, depsgraph, do_bend_brush(), do_grab_brush(), do_inflate_brush(), do_slide_brush(), do_smooth_brush(), do_twist_brush(), get_mesh_strength(), blender::bke::pbvh::Grids, init_boundary_bmesh(), init_boundary_grids(), init_boundary_mesh(), blender::bke::pbvh::Mesh, blender::ed::sculpt_paint::StrokeCache::mirror_symmetry_pass, Sculpt::paint, blender::bke::object::pbvh_get(), Object::sculpt, SCULPT_stroke_is_first_brush_step_of_symmetry_pass(), and blender::bke::pbvh::Tree::type().
Referenced by blender::ed::sculpt_paint::do_brush_action().
|
static |
Definition at line 2116 of file sculpt_boundary.cc.
References blender::bke::pbvh::BMesh, SculptSession::cache, calc_grab_bmesh(), calc_grab_grids(), calc_grab_mesh(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::bke::pbvh::Tree::flush_bounds_to_parents(), blender::index_mask::IndexMask::foreach_index(), blender::ed::sculpt_paint::StrokeCache::grab_delta_symm, SubdivCCG::grid_area, blender::bke::pbvh::Grids, i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::pbvh::Mesh, blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), SubdivCCG::positions, blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::type(), blender::bke::pbvh::update_node_bounds_bmesh(), blender::bke::pbvh::update_node_bounds_grids(), and blender::bke::pbvh::update_node_bounds_mesh().
Referenced by do_boundary_brush().
|
static |
Definition at line 1846 of file sculpt_boundary.cc.
References blender::bke::pbvh::BMesh, calc_inflate_bmesh(), calc_inflate_grids(), calc_inflate_mesh(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::bke::pbvh::Tree::flush_bounds_to_parents(), blender::index_mask::IndexMask::foreach_index(), SubdivCCG::grid_area, blender::bke::pbvh::Grids, i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::pbvh::Mesh, blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), SubdivCCG::positions, blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::type(), blender::bke::pbvh::update_node_bounds_bmesh(), blender::bke::pbvh::update_node_bounds_grids(), and blender::bke::pbvh::update_node_bounds_mesh().
Referenced by do_boundary_brush().
|
static |
Definition at line 1575 of file sculpt_boundary.cc.
References blender::bke::pbvh::BMesh, calc_slide_bmesh(), calc_slide_grids(), calc_slide_mesh(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::bke::pbvh::Tree::flush_bounds_to_parents(), blender::index_mask::IndexMask::foreach_index(), SubdivCCG::grid_area, blender::bke::pbvh::Grids, i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::pbvh::Mesh, blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), SubdivCCG::positions, blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::type(), blender::bke::pbvh::update_node_bounds_bmesh(), blender::bke::pbvh::update_node_bounds_grids(), and blender::bke::pbvh::update_node_bounds_mesh().
Referenced by do_boundary_brush().
|
static |
Definition at line 2757 of file sculpt_boundary.cc.
References blender::bke::pbvh::BMesh, calc_smooth_bmesh(), calc_smooth_grids(), calc_smooth_mesh(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::bke::Face, faces, blender::bke::pbvh::Tree::flush_bounds_to_parents(), blender::index_mask::IndexMask::foreach_index(), SubdivCCG::grid_area, blender::bke::pbvh::Grids, i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::AttributeAccessor::lookup(), blender::bke::pbvh::Mesh, blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), SubdivCCG::positions, blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::type(), blender::bke::pbvh::update_node_bounds_bmesh(), blender::bke::pbvh::update_node_bounds_grids(), and blender::bke::pbvh::update_node_bounds_mesh().
Referenced by do_boundary_brush().
|
static |
Definition at line 2396 of file sculpt_boundary.cc.
References blender::bke::pbvh::BMesh, calc_twist_bmesh(), calc_twist_grids(), calc_twist_mesh(), depsgraph, blender::ed::sculpt_paint::PositionDeformData::eval, blender::bke::pbvh::Tree::flush_bounds_to_parents(), blender::index_mask::IndexMask::foreach_index(), SubdivCCG::grid_area, blender::bke::pbvh::Grids, i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::pbvh::Mesh, blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), SubdivCCG::positions, blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::type(), blender::bke::pbvh::update_node_bounds_bmesh(), blender::bke::pbvh::update_node_bounds_grids(), and blender::bke::pbvh::update_node_bounds_mesh().
Referenced by do_boundary_brush().
| void blender::ed::sculpt_paint::boundary::edges_preview_draw | ( | const uint | gpuattr, |
| SculptSession & | ss, | ||
| const float | outline_col[3], | ||
| const float | outline_alpha ) |
Definition at line 3599 of file sculpt_boundary.cc.
References SculptSession::boundary_preview, GPU_line_width(), GPU_PRIM_LINES, i, immBegin(), immEnd(), immUniformColor3fvAlpha(), and immVertex3fv().
Referenced by blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive().
|
static |
Definition at line 655 of file sculpt_boundary.cc.
References bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, BM_mesh_elem_count(), BM_VERT, BM_vert_at_index(), BOUNDARY_STEPS_NONE, BOUNDARY_VERTEX_NONE, BMVert::co, blender::math::distance(), i, and blender::ed::sculpt_paint::vert_neighbors_get_bmesh().
Referenced by data_init_bmesh().
|
static |
Definition at line 529 of file sculpt_boundary.cc.
References BKE_subdiv_ccg_key_top_level(), BKE_subdiv_ccg_neighbor_coords_get(), BOUNDARY_STEPS_NONE, BOUNDARY_VERTEX_NONE, CCG_grid_xy_to_index(), blender::math::distance(), SubdivCCGNeighbors::duplicates(), SubdivCCGCoord::from_index(), SubdivCCG::grid_hidden, CCGKey::grid_size, i, blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), SubdivCCG::positions, blender::Span< T >::size(), SubdivCCGCoord::to_index(), and SubdivCCGNeighbors::unique().
Referenced by data_init_grids().
|
static |
This function initializes all data needed to calculate falloffs and deformation from the boundary into the mesh into a #SculptBoundaryEditInfo array. This includes how many steps are needed to go from a boundary vertex to an interior vertex and which vertex of the boundary is the closest one.
Definition at line 447 of file sculpt_boundary.cc.
References BOUNDARY_STEPS_NONE, BOUNDARY_VERTEX_NONE, blender::math::distance(), faces, i, blender::Span< T >::is_empty(), blender::Span< T >::size(), and blender::ed::sculpt_paint::vert_neighbors_get_mesh().
Referenced by data_init_mesh().
| void blender::ed::sculpt_paint::boundary::ensure_boundary_info | ( | Object & | object | ) |
Populates boundary information for a mesh.
Definition at line 6059 of file sculpt.cc.
References BKE_mesh_from_object(), SculptVertexInfo::boundary, blender::array_utils::count_indices(), e, Mesh::edges_num, ensure_boundary_info(), blender::Span< T >::index_range(), blender::bits::BitVector< InlineBufferCapacity, Allocator >::is_empty(), blender::bits::BitVector< InlineBufferCapacity, Allocator >::resize(), SculptSession::vertex_info, and Mesh::verts_num.
Referenced by blender::ed::sculpt_paint::auto_mask::cache_init(), data_init_bmesh(), data_init_grids(), data_init_mesh(), blender::ed::sculpt_paint::brushes::do_relax_face_sets_brush(), blender::ed::sculpt_paint::brushes::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_smooth_mask_brush(), blender::ed::sculpt_paint::brushes::do_topology_relax_brush(), blender::ed::sculpt_paint::face_set::edit_fairing(), ensure_boundary_info(), blender::ed::sculpt_paint::expand::ensure_sculptsession_data(), and blender::ed::sculpt_paint::filter::sculpt_mesh_filter_start().
|
static |
Definition at line 992 of file sculpt_boundary.cc.
References BLI_assert, BLI_NOINLINE, BOUNDARY_STEPS_NONE, i, blender::MutableSpan< T >::index_range(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by calc_bend_bmesh(), calc_bend_grids(), calc_bend_mesh(), calc_grab_bmesh(), calc_grab_grids(), calc_grab_mesh(), calc_inflate_bmesh(), calc_inflate_grids(), calc_inflate_mesh(), calc_slide_bmesh(), calc_slide_grids(), calc_slide_mesh(), calc_smooth_bmesh(), calc_smooth_grids(), calc_smooth_mesh(), calc_twist_bmesh(), calc_twist_grids(), and calc_twist_mesh().
|
static |
Definition at line 255 of file sculpt_boundary.cc.
References bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, BM_mesh_elem_count(), BM_VERT, BMVert::co, blender::math::distance_squared(), and vert_is_boundary().
Referenced by data_init_bmesh().
|
static |
Definition at line 198 of file sculpt_boundary.cc.
References BKE_subdiv_ccg_key_top_level(), blender::math::distance_squared(), faces, SubdivCCG::grid_hidden, blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), SubdivCCG::positions, blender::Span< T >::size(), SubdivCCGCoord::to_index(), and vert_is_boundary().
Referenced by data_init_grids().
|
static |
From a vertex index anywhere in the mesh, returns the closest vertex in a mesh boundary inside the given radius, if it exists.
Definition at line 154 of file sculpt_boundary.cc.
References blender::math::distance_squared(), blender::Span< T >::is_empty(), blender::Span< T >::size(), and vert_is_boundary().
Referenced by data_init_mesh().
|
static |
Definition at line 3214 of file sculpt_boundary.cc.
References BLI_assert_unreachable, blender::ed::sculpt_paint::StrokeCache::boundaries, Brush::boundary_deform_type, BRUSH_BOUNDARY_DEFORM_BEND, BRUSH_BOUNDARY_DEFORM_EXPAND, BRUSH_BOUNDARY_DEFORM_GRAB, BRUSH_BOUNDARY_DEFORM_INFLATE, BRUSH_BOUNDARY_DEFORM_SMOOTH, BRUSH_BOUNDARY_DEFORM_TWIST, blender::ed::sculpt_paint::StrokeCache::bstrength, SculptSession::cache, displacement_from_grab_delta_get(), floorf, blender::ed::sculpt_paint::StrokeCache::invert, M_PI, blender::ed::sculpt_paint::StrokeCache::mirror_symmetry_pass, and blender::ed::sculpt_paint::StrokeCache::radius.
Referenced by do_boundary_brush().
|
static |
Definition at line 400 of file sculpt_boundary.cc.
References add_index(), bm, BM_elem_index_get, BM_mesh_elem_count(), BM_VERT, BMVert::co, is_vert_in_editable_boundary_bmesh(), len_v3v3(), and vert_is_boundary().
Referenced by data_init_bmesh().
|
static |
Definition at line 358 of file sculpt_boundary.cc.
References add_index(), BKE_subdiv_ccg_key_top_level(), faces, is_vert_in_editable_boundary_grids(), len_v3v3(), SubdivCCG::positions, blender::Span< T >::size(), SubdivCCGCoord::to_index(), and vert_is_boundary().
Referenced by data_init_grids().
|
static |
Determines the indices of a boundary.
Definition at line 324 of file sculpt_boundary.cc.
References add_index(), faces, is_vert_in_editable_boundary_mesh(), len_v3v3(), blender::Span< T >::size(), and vert_is_boundary().
Referenced by data_init_mesh().
|
static |
Definition at line 3161 of file sculpt_boundary.cc.
References SculptSession::active_vert(), bend_data_init_bmesh(), bm, SculptSession::bm, blender::ed::sculpt_paint::StrokeCache::boundaries, Brush::boundary_deform_type, BRUSH_BOUNDARY_DEFORM_BEND, BRUSH_BOUNDARY_DEFORM_EXPAND, BRUSH_BOUNDARY_DEFORM_GRAB, BRUSH_BOUNDARY_DEFORM_INFLATE, BRUSH_BOUNDARY_DEFORM_SMOOTH, BRUSH_BOUNDARY_DEFORM_TWIST, SculptSession::cache, BMVert::co, data_init_bmesh(), init_falloff_bmesh(), blender::ed::sculpt_paint::StrokeCache::initial_radius, blender::ed::sculpt_paint::StrokeCache::mirror_symmetry_pass, blender::ed::sculpt_paint::nearest_vert_calc_bmesh(), blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::StrokeCache::radius_squared, slide_data_init_bmesh(), blender::ed::sculpt_paint::symmetry_flip(), and twist_data_init_bmesh().
Referenced by do_boundary_brush().
|
static |
Definition at line 3104 of file sculpt_boundary.cc.
References SculptSession::active_vert(), bend_data_init_grids(), BKE_subdiv_ccg_key_top_level(), blender::ed::sculpt_paint::StrokeCache::boundaries, Brush::boundary_deform_type, BRUSH_BOUNDARY_DEFORM_BEND, BRUSH_BOUNDARY_DEFORM_EXPAND, BRUSH_BOUNDARY_DEFORM_GRAB, BRUSH_BOUNDARY_DEFORM_INFLATE, BRUSH_BOUNDARY_DEFORM_SMOOTH, BRUSH_BOUNDARY_DEFORM_TWIST, SculptSession::cache, data_init_grids(), SubdivCCGCoord::from_index(), init_falloff_grids(), blender::ed::sculpt_paint::StrokeCache::initial_radius, blender::ed::sculpt_paint::StrokeCache::mirror_symmetry_pass, blender::ed::sculpt_paint::nearest_vert_calc_grids(), blender::bke::object::pbvh_get(), SubdivCCG::positions, blender::ed::sculpt_paint::StrokeCache::radius_squared, slide_data_init_grids(), SculptSession::subdiv_ccg, blender::ed::sculpt_paint::symmetry_flip(), and twist_data_init_grids().
Referenced by do_boundary_brush().
|
static |
Definition at line 3044 of file sculpt_boundary.cc.
References SculptSession::active_vert(), bend_data_init_mesh(), blender::ed::sculpt_paint::StrokeCache::boundaries, Brush::boundary_deform_type, BRUSH_BOUNDARY_DEFORM_BEND, BRUSH_BOUNDARY_DEFORM_EXPAND, BRUSH_BOUNDARY_DEFORM_GRAB, BRUSH_BOUNDARY_DEFORM_INFLATE, BRUSH_BOUNDARY_DEFORM_SMOOTH, BRUSH_BOUNDARY_DEFORM_TWIST, SculptSession::cache, data_init_mesh(), depsgraph, init_falloff_mesh(), blender::ed::sculpt_paint::StrokeCache::initial_radius, blender::bke::AttributeAccessor::lookup(), blender::ed::sculpt_paint::StrokeCache::mirror_symmetry_pass, blender::ed::sculpt_paint::nearest_vert_calc_mesh(), blender::bke::object::pbvh_get(), blender::bke::Point, blender::ed::sculpt_paint::StrokeCache::radius_squared, slide_data_init_mesh(), blender::ed::sculpt_paint::symmetry_flip(), twist_data_init_mesh(), blender::bke::pbvh::vert_normals_eval(), and blender::bke::pbvh::vert_positions_eval().
Referenced by do_boundary_brush().
|
static |
Definition at line 2993 of file sculpt_boundary.cc.
References BKE_brush_curve_strength(), BKE_curvemapping_init(), BLI_assert, bm, BM_ELEM_CD_GET_FLOAT, BM_vert_at_index(), Brush::boundary_falloff_type, BOUNDARY_STEPS_NONE, BRUSH_BOUNDARY_FALLOFF_CONSTANT, calc_boundary_falloff(), CD_PROP_FLOAT, Brush::curve, CustomData_get_offset_named(), and i.
Referenced by init_boundary_bmesh().
|
static |
Definition at line 2944 of file sculpt_boundary.cc.
References BKE_brush_curve_strength(), BKE_curvemapping_init(), BKE_subdiv_ccg_key_top_level(), BLI_assert, Brush::boundary_falloff_type, BOUNDARY_STEPS_NONE, BRUSH_BOUNDARY_FALLOFF_CONSTANT, calc_boundary_falloff(), Brush::curve, blender::bke::ccg::grid_range(), SubdivCCG::grids_num, Array< T, InlineBufferCapacity, Allocator >::is_empty(), and SubdivCCG::masks.
Referenced by init_boundary_grids().
|
static |
These functions assign a falloff factor to each valid edit_info entry based on the brush curve, its propagation steps, and mask values. The falloff goes from the boundary into the mesh.
Definition at line 2899 of file sculpt_boundary.cc.
References BKE_brush_curve_strength(), BKE_curvemapping_init(), BLI_assert, Brush::boundary_falloff_type, BOUNDARY_STEPS_NONE, BRUSH_BOUNDARY_FALLOFF_CONSTANT, calc_boundary_falloff(), Brush::curve, and i.
Referenced by init_boundary_mesh().
|
static |
Definition at line 125 of file sculpt_boundary.cc.
References BM_elem_flag_test, BM_ELEM_HIDDEN, check_counts(), vert_is_boundary(), and blender::ed::sculpt_paint::vert_neighbors_get_bmesh().
Referenced by data_init_bmesh(), and indices_init_bmesh().
|
static |
Definition at line 95 of file sculpt_boundary.cc.
References BKE_subdiv_ccg_key_top_level(), BKE_subdiv_ccg_neighbor_coords_get(), check_counts(), SubdivCCGNeighbors::coords, faces, SubdivCCG::grid_hidden, SubdivCCGCoord::grid_index, blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), SubdivCCGCoord::to_index(), and vert_is_boundary().
Referenced by data_init_grids(), and indices_init_grids().
|
static |
This function is used to check where the propagation should stop when calculating the boundary, as well as to check if the initial vertex is valid.
Definition at line 65 of file sculpt_boundary.cc.
References check_counts(), faces, blender::Span< T >::is_empty(), vert_is_boundary(), and blender::ed::sculpt_paint::vert_neighbors_get_mesh().
Referenced by data_init_mesh(), and indices_init_mesh().
| void blender::ed::sculpt_paint::boundary::pivot_line_preview_draw | ( | const uint | gpuattr, |
| SculptSession & | ss ) |
Definition at line 3617 of file sculpt_boundary.cc.
References SculptSession::boundary_preview, GPU_line_width(), GPU_PRIM_LINES, immBegin(), immEnd(), immUniformColor4f(), and immVertex3fv().
Referenced by blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive().
|
static |
Definition at line 950 of file sculpt_boundary.cc.
References blender::math::normalize().
Referenced by twist_data_init_bmesh(), twist_data_init_grids(), and twist_data_init_mesh().
| std::unique_ptr< SculptBoundaryPreview > blender::ed::sculpt_paint::boundary::preview_data_init | ( | const Depsgraph & | depsgraph, |
| Object & | object, | ||
| const Brush * | brush, | ||
| const float | radius ) |
Definition at line 3557 of file sculpt_boundary.cc.
References SculptSession::active_vert(), BKE_subdiv_ccg_key_top_level(), blender::bke::pbvh::BMesh, data_init_bmesh(), data_init_grids(), data_init_mesh(), depsgraph, SubdivCCGCoord::from_index(), blender::bke::pbvh::Grids, blender::bke::pbvh::Mesh, blender::bke::object::pbvh_get(), SculptSession::subdiv_ccg, and blender::bke::pbvh::Tree::type().
Referenced by blender::ed::sculpt_paint::paint_cursor_preview_boundary_data_update().
|
static |
Definition at line 920 of file sculpt_boundary.cc.
References BLI_assert, bm, BM_vert_at_index(), BOUNDARY_STEPS_NONE, BMVert::co, i, and blender::math::normalize().
Referenced by init_boundary_bmesh().
|
static |
Definition at line 889 of file sculpt_boundary.cc.
References BLI_assert, BOUNDARY_STEPS_NONE, i, blender::math::normalize(), and SubdivCCG::positions.
Referenced by init_boundary_grids().
|
static |
Definition at line 861 of file sculpt_boundary.cc.
References BLI_assert, BOUNDARY_STEPS_NONE, i, and blender::math::normalize().
Referenced by init_boundary_mesh().
|
static |
Definition at line 976 of file sculpt_boundary.cc.
References bm, BM_vert_at_index(), BMVert::co, i, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), and populate_twist_data().
Referenced by init_boundary_bmesh().
|
static |
Definition at line 968 of file sculpt_boundary.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::array_utils::gather(), populate_twist_data(), and SubdivCCG::positions.
Referenced by init_boundary_grids().
|
static |
Definition at line 961 of file sculpt_boundary.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::array_utils::gather(), and populate_twist_data().
Referenced by init_boundary_mesh().
| bool blender::ed::sculpt_paint::boundary::vert_is_boundary | ( | BMVert * | vert | ) |
Definition at line 518 of file sculpt.cc.
References BM_vert_is_boundary().
| bool blender::ed::sculpt_paint::boundary::vert_is_boundary | ( | GroupedSpan< int > | vert_to_face_map, |
| Span< bool > | hide_poly, | ||
| BitSpan | boundary, | ||
| int | vert ) |
Determine if a vertex is a boundary vertex.
Requires ensure_boundary_info to have been called.
Definition at line 484 of file sculpt.cc.
References blender::ed::sculpt_paint::hide::vert_all_faces_visible_get().
Referenced by blender::ed::sculpt_paint::expand::boundary_from_enabled(), blender::ed::sculpt_paint::auto_mask::calc_face_factors(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::face_set::edit_fairing(), get_closest_boundary_vert_bmesh(), get_closest_boundary_vert_grids(), get_closest_boundary_vert_mesh(), indices_init_bmesh(), indices_init_grids(), indices_init_mesh(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_bmesh(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_grids(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_mesh(), is_vert_in_editable_boundary_bmesh(), is_vert_in_editable_boundary_grids(), is_vert_in_editable_boundary_mesh(), and blender::ed::sculpt_paint::expand::sculpt_expand_invoke().
| bool blender::ed::sculpt_paint::boundary::vert_is_boundary | ( | const OffsetIndices< int > | faces, |
| const Span< int > | corner_verts, | ||
| const BitSpan | boundary, | ||
| const SubdivCCG & | subdiv_ccg, | ||
| const SubdivCCGCoord | vert ) |
Definition at line 495 of file sculpt.cc.
References BKE_subdiv_ccg_coarse_mesh_adjacency_info_get(), BLI_assert_unreachable, faces, SUBDIV_CCG_ADJACENT_EDGE, SUBDIV_CCG_ADJACENT_NONE, SUBDIV_CCG_ADJACENT_VERTEX, and v2.
|
constexpr |
Definition at line 308 of file sculpt_boundary.cc.