|
Blender V5.0
|
Classes | |
| struct | MaskOperation |
| struct | FilterLocalData |
| struct | LocalData |
Enumerations | |
| enum class | FilterType { Smooth = 0 , Sharpen = 1 , Grow = 2 , Shrink = 3 , ContrastIncrease = 5 , ContrastDecrease = 6 } |
| enum class | InitMode { Random , FaceSet , Island } |
Functions | |
| void | write_mask_mesh (const Depsgraph &depsgraph, Object &object, const IndexMask &node_mask, FunctionRef< void(MutableSpan< float >, Span< int >)> write_fn) |
| static BLI_NOINLINE void | copy_old_hidden_mask_mesh (const Span< int > verts, const Span< bool > hide_vert, const Span< float > mask, const MutableSpan< float > new_mask) |
| static BLI_NOINLINE void | multiply_add (const Span< float > src, const float factor, const float offset, const MutableSpan< float > dst) |
| static BLI_NOINLINE void | mask_increase_contrast (const Span< float > src, const MutableSpan< float > dst) |
| static BLI_NOINLINE void | mask_decrease_contrast (const Span< float > src, const MutableSpan< float > dst) |
| static BLI_NOINLINE void | sharpen_masks (const Span< float > old_masks, const MutableSpan< float > new_mask) |
| static void | apply_new_mask_mesh (const Depsgraph &depsgraph, Object &object, const IndexMask &node_mask, const OffsetIndices< int > node_verts, const Span< float > new_mask, MutableSpan< float > mask) |
| static void | smooth_mask_mesh (const OffsetIndices< int > faces, const Span< int > corner_verts, const GroupedSpan< int > vert_to_face, const Span< bool > hide_poly, const Span< bool > hide_vert, const Span< float > mask, const bke::pbvh::MeshNode &node, FilterLocalData &tls, MutableSpan< float > new_mask) |
| static void | sharpen_mask_mesh (const OffsetIndices< int > faces, const Span< int > corner_verts, const GroupedSpan< int > vert_to_face, const Span< bool > hide_poly, const Span< bool > hide_vert, const Span< float > mask, const bke::pbvh::MeshNode &node, FilterLocalData &tls, MutableSpan< float > new_mask) |
| static void | grow_mask_mesh (const OffsetIndices< int > faces, const Span< int > corner_verts, const GroupedSpan< int > vert_to_face, const Span< bool > hide_poly, const Span< bool > hide_vert, const Span< float > mask, const bke::pbvh::MeshNode &node, FilterLocalData &tls, MutableSpan< float > new_mask) |
| static void | shrink_mask_mesh (const OffsetIndices< int > faces, const Span< int > corner_verts, const GroupedSpan< int > vert_to_face, const Span< bool > hide_poly, const Span< bool > hide_vert, const Span< float > mask, const bke::pbvh::MeshNode &node, FilterLocalData &tls, MutableSpan< float > new_mask) |
| static bool | increase_contrast_mask_mesh (const Depsgraph &depsgraph, const Object &object, const Span< bool > hide_vert, bke::pbvh::MeshNode &node, FilterLocalData &tls, MutableSpan< float > mask) |
| static bool | decrease_contrast_mask_mesh (const Depsgraph &depsgraph, const Object &object, const Span< bool > hide_vert, bke::pbvh::MeshNode &node, FilterLocalData &tls, MutableSpan< float > mask) |
| static BLI_NOINLINE void | copy_old_hidden_mask_grids (const SubdivCCG &subdiv_ccg, const Span< int > grids, const MutableSpan< float > new_mask) |
| static void | apply_new_mask_grids (const Depsgraph &depsgraph, Object &object, const IndexMask &node_mask, const OffsetIndices< int > node_verts, const Span< float > new_mask) |
| static void | smooth_mask_grids (const SubdivCCG &subdiv_ccg, const bke::pbvh::GridsNode &node, FilterLocalData &tls, MutableSpan< float > new_mask) |
| static void | sharpen_mask_grids (const SubdivCCG &subdiv_ccg, const bke::pbvh::GridsNode &node, FilterLocalData &tls, MutableSpan< float > new_mask) |
| static void | grow_mask_grids (const SubdivCCG &subdiv_ccg, const bke::pbvh::GridsNode &node, MutableSpan< float > new_mask) |
| static void | shrink_mask_grids (const SubdivCCG &subdiv_ccg, const bke::pbvh::GridsNode &node, MutableSpan< float > new_mask) |
| static bool | increase_contrast_mask_grids (const Depsgraph &depsgraph, const Object &object, bke::pbvh::GridsNode &node, FilterLocalData &tls) |
| static bool | decrease_contrast_mask_grids (const Depsgraph &depsgraph, const Object &object, bke::pbvh::GridsNode &node, FilterLocalData &tls) |
| static BLI_NOINLINE void | copy_old_hidden_mask_bmesh (const int mask_offset, const Set< BMVert *, 0 > &verts, const MutableSpan< float > new_mask) |
| static void | apply_new_mask_bmesh (const Depsgraph &depsgraph, Object &object, const int mask_offset, const IndexMask &node_mask, const OffsetIndices< int > node_verts, const Span< float > new_mask) |
| static void | smooth_mask_bmesh (const BMesh &bm, const int mask_offset, bke::pbvh::BMeshNode &node, FilterLocalData &tls, MutableSpan< float > new_mask) |
| static void | sharpen_mask_bmesh (const BMesh &bm, const int mask_offset, bke::pbvh::BMeshNode &node, FilterLocalData &tls, MutableSpan< float > new_mask) |
| static void | grow_mask_bmesh (const int mask_offset, bke::pbvh::BMeshNode &node, MutableSpan< float > new_mask) |
| static void | shrink_mask_bmesh (const int mask_offset, bke::pbvh::BMeshNode &node, MutableSpan< float > new_mask) |
| static bool | increase_contrast_mask_bmesh (const Depsgraph &depsgraph, Object &object, const int mask_offset, bke::pbvh::BMeshNode &node, FilterLocalData &tls) |
| static bool | decrease_contrast_mask_bmesh (const Depsgraph &depsgraph, Object &object, const int mask_offset, bke::pbvh::BMeshNode &node, FilterLocalData &tls) |
| static wmOperatorStatus | sculpt_mask_filter_exec (bContext *C, wmOperator *op) |
| void | SCULPT_OT_mask_filter (wmOperatorType *ot) |
| void | SCULPT_OT_mask_init (wmOperatorType *ot) |
| static void | init_mask_grids (Main &bmain, Scene &scene, Depsgraph &depsgraph, Object &object, const IndexMask &node_mask, FunctionRef< void(const BitGroupVector<> &, int, MutableSpan< float >)> write_fn) |
| static wmOperatorStatus | sculpt_mask_init_exec (bContext *C, wmOperator *op) |
Public API | |
| Array< float > | duplicate_mask (const Object &object) |
| void | mix_new_masks (const Span< float > new_masks, const float factor, const MutableSpan< float > masks) |
| void | mix_new_masks (const Span< float > new_masks, const Span< float > factors, const MutableSpan< float > masks) |
| void | clamp_mask (const MutableSpan< float > masks) |
| void | invert_mask (const MutableSpan< float > masks) |
| void | gather_mask_bmesh (const BMesh &bm, const Set< BMVert *, 0 > &verts, const MutableSpan< float > r_mask) |
| void | gather_mask_grids (const SubdivCCG &subdiv_ccg, const Span< int > grids, const MutableSpan< float > r_mask) |
| void | scatter_mask_grids (const Span< float > mask, SubdivCCG &subdiv_ccg, const Span< int > grids) |
| void | scatter_mask_bmesh (const Span< float > mask, const BMesh &bm, const Set< BMVert *, 0 > &verts) |
| static float | average_masks (const int mask_offset, const Span< const BMVert * > verts) |
| void | average_neighbor_mask_bmesh (const int mask_offset, const Set< BMVert *, 0 > &verts, const MutableSpan< float > new_masks) |
| void | update_mask_mesh (const Depsgraph &depsgraph, Object &object, const IndexMask &node_mask, FunctionRef< void(MutableSpan< float >, Span< int >)> update_fn) |
| bool | mask_equals_array_grids (const Span< float > masks, const CCGKey &key, const Span< int > grids, const Span< float > values) |
| bool | mask_equals_array_bmesh (const int mask_offset, const Set< BMVert *, 0 > &verts, const Span< float > values) |
Gesture-based Mask Operators | |
Operators that act upon a user-selected area. | |
| static void | gesture_begin (bContext &C, wmOperator &op, gesture::GestureData &gesture_data) |
| static float | mask_gesture_get_new_value (const float elem, FloodFillMode mode, float value) |
| static void | gesture_apply_for_symmetry_pass (bContext &, gesture::GestureData &gesture_data) |
| static void | gesture_end (bContext &C, gesture::GestureData &gesture_data) |
| static void | init_operation (bContext &C, gesture::GestureData &gesture_data, wmOperator &op) |
| static void | gesture_operator_properties (wmOperatorType *ot) |
| static wmOperatorStatus | gesture_box_exec (bContext *C, wmOperator *op) |
| static wmOperatorStatus | gesture_lasso_exec (bContext *C, wmOperator *op) |
| static wmOperatorStatus | gesture_line_exec (bContext *C, wmOperator *op) |
| static wmOperatorStatus | gesture_polyline_exec (bContext *C, wmOperator *op) |
| void | PAINT_OT_mask_lasso_gesture (wmOperatorType *ot) |
| void | PAINT_OT_mask_box_gesture (wmOperatorType *ot) |
| void | PAINT_OT_mask_line_gesture (wmOperatorType *ot) |
| void | PAINT_OT_mask_polyline_gesture (wmOperatorType *ot) |
Mask By Color | |
| static float | color_delta_get (const float3 &color_a, const float3 &color_b, const float threshold, const bool invert) |
| static float | final_mask_get (const float current_mask, const float new_mask, const bool invert, const bool preserve_mask) |
| static void | mask_by_color_contiguous_mesh (const Depsgraph &depsgraph, Object &object, const int vert, const float threshold, const bool invert, const bool preserve_mask) |
| static void | mask_by_color_full_mesh (const Depsgraph &depsgraph, Object &object, const int vert, const float threshold, const bool invert, const bool preserve_mask) |
| static wmOperatorStatus | mask_by_color (bContext *C, wmOperator *op, const float2 region_location) |
| static wmOperatorStatus | mask_by_color_exec (bContext *C, wmOperator *op) |
| static wmOperatorStatus | mask_by_color_invoke (bContext *C, wmOperator *op, const wmEvent *event) |
| static void | SCULPT_OT_mask_by_color (wmOperatorType *ot) |
Global Mask Operators | |
Operators that act upon the entirety of a given object's mesh. | |
| enum class | FloodFillMode { Value = SEL_OP_SUB , InverseValue = SEL_OP_ADD , InverseMeshValue = SEL_OP_XOR } |
| static const EnumPropertyItem | mode_items [] |
| static Span< int > | get_hidden_verts (const bke::pbvh::MeshNode &node, const Span< bool > hide_vert, Vector< int > &indices) |
| static bool | try_remove_mask_mesh (const Depsgraph &depsgraph, Object &object, const IndexMask &node_mask) |
| static void | fill_mask_mesh (const Depsgraph &depsgraph, Object &object, const float value, const IndexMask &node_mask) |
| static void | fill_mask_grids (Main &bmain, const Scene &scene, Depsgraph &depsgraph, Object &object, const float value, const IndexMask &node_mask) |
| static void | fill_mask_bmesh (const Depsgraph &depsgraph, Object &object, const float value, const IndexMask &node_mask) |
| static void | fill_mask (Main &bmain, const Scene &scene, Depsgraph &depsgraph, Object &object, const float value) |
| static void | invert_mask_grids (Main &bmain, const Scene &scene, Depsgraph &depsgraph, Object &object, const IndexMask &node_mask) |
| static void | invert_mask_bmesh (const Depsgraph &depsgraph, Object &object, const IndexMask &node_mask) |
| static void | invert_mask (Main &bmain, const Scene &scene, Depsgraph &depsgraph, Object &object) |
| static wmOperatorStatus | mask_flood_fill_exec (bContext *C, wmOperator *op) |
| void | PAINT_OT_mask_flood_fill (wmOperatorType *ot) |
|
strong |
| Enumerator | |
|---|---|
| Mix | |
| Multiply | |
| Divide | |
| Add | |
| Subtract | |
Definition at line 925 of file sculpt_ops.cc.
|
strong |
| Enumerator | |
|---|---|
| Smooth | |
| Sharpen | |
| Grow | |
| Shrink | |
| ContrastIncrease | |
| ContrastDecrease | |
Definition at line 39 of file sculpt_filter_mask.cc.
|
strong |
| Enumerator | |
|---|---|
| Value | |
| InverseValue | |
| InverseMeshValue | |
Definition at line 287 of file paint_mask.cc.
|
strong |
| Enumerator | |
|---|---|
| Random | |
| FaceSet | |
| Island | |
Definition at line 42 of file sculpt_mask_init.cc.
|
strong |
| Enumerator | |
|---|---|
| Mesh | |
| FaceSets | |
Definition at line 1366 of file sculpt_ops.cc.
|
strong |
| Enumerator | |
|---|---|
| Operator | |
| Scene | |
| Brush | |
Definition at line 942 of file sculpt_ops.cc.
|
static |
Definition at line 1068 of file sculpt_ops.cc.
References blender::MutableSpan< T >::as_span(), BKE_pbvh_bmesh_node_unique_verts(), SculptSession::bm, calc_new_masks(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), depsgraph, blender::ed::sculpt_paint::mask::LocalData::factors, blender::MutableSpan< T >::fill(), blender::ed::sculpt_paint::fill_factor_from_hide(), gather_mask_bmesh(), invert_mask(), blender::ed::sculpt_paint::mask::LocalData::mask, mix_new_masks(), blender::ed::sculpt_paint::mask::LocalData::new_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::ed::sculpt_paint::scale_factors(), scatter_mask_bmesh(), and verts.
Referenced by apply_mask_from_settings().
|
static |
Definition at line 1104 of file sculpt_ops.cc.
References apply_mask_bmesh(), apply_mask_grids(), apply_mask_mesh(), BKE_subdiv_ccg_key_top_level(), blender::bke::pbvh::BMesh, CD_PROP_FLOAT, CustomData_get_offset_named(), depsgraph, blender::index_mask::IndexMask::foreach_index(), blender::bke::pbvh::Grids, i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), SubdivCCG::masks, blender::bke::pbvh::Mesh, blender::bke::pbvh::node_update_mask_bmesh(), blender::bke::pbvh::node_update_mask_grids(), blender::bke::pbvh::node_update_mask_mesh(), blender::bke::pbvh::Tree::nodes(), blender::bke::Point, and blender::bke::pbvh::Tree::type().
Referenced by mask_from_boundary_exec(), and mask_from_cavity_exec().
|
static |
Definition at line 1028 of file sculpt_ops.cc.
References blender::MutableSpan< T >::as_span(), BKE_subdiv_ccg_key_top_level(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), calc_new_masks(), depsgraph, blender::ed::sculpt_paint::mask::LocalData::factors, blender::MutableSpan< T >::fill(), blender::ed::sculpt_paint::fill_factor_from_hide(), gather_mask_grids(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), invert_mask(), blender::ed::sculpt_paint::mask::LocalData::mask, mix_new_masks(), blender::ed::sculpt_paint::mask::LocalData::new_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::ed::sculpt_paint::scale_factors(), scatter_mask_grids(), blender::Span< T >::size(), and SculptSession::subdiv_ccg.
Referenced by apply_mask_from_settings().
|
static |
Definition at line 991 of file sculpt_ops.cc.
References blender::MutableSpan< T >::as_span(), calc_new_masks(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), depsgraph, blender::ed::sculpt_paint::mask::LocalData::factors, blender::MutableSpan< T >::fill(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::gather_data_mesh(), invert_mask(), blender::ed::sculpt_paint::mask::LocalData::mask, mix_new_masks(), blender::ed::sculpt_paint::mask::LocalData::new_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::ed::sculpt_paint::scale_factors(), blender::ed::sculpt_paint::scatter_data_mesh(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by apply_mask_from_settings().
|
static |
Definition at line 563 of file sculpt_filter_mask.cc.
References BKE_pbvh_bmesh_node_unique_verts(), bm, SculptSession::bm, depsgraph, blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_bools(), i, blender::ed::sculpt_paint::undo::Mask, mask_equals_array_bmesh(), blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::node_update_mask_bmesh(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), pos, blender::ed::sculpt_paint::undo::push_node(), scatter_mask_bmesh(), blender::Span< T >::slice(), blender::bke::pbvh::Tree::tag_masks_changed(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 344 of file sculpt_filter_mask.cc.
References BKE_subdiv_ccg_average_grids(), BKE_subdiv_ccg_key_top_level(), depsgraph, blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_bools(), i, blender::ed::sculpt_paint::undo::Mask, mask_equals_array_grids(), blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::node_update_mask_grids(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), pos, blender::ed::sculpt_paint::undo::push_node(), blender::ed::sculpt_paint::scatter_data_grids(), blender::Span< T >::slice(), SculptSession::subdiv_ccg, and blender::bke::pbvh::Tree::tag_masks_changed().
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 127 of file sculpt_filter_mask.cc.
References depsgraph, blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_bools(), i, blender::array_utils::indexed_data_equal(), blender::ed::sculpt_paint::undo::Mask, blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::node_update_mask_mesh(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), pos, blender::ed::sculpt_paint::undo::push_node(), blender::ed::sculpt_paint::scatter_data_mesh(), blender::Span< T >::slice(), blender::bke::pbvh::Tree::tag_masks_changed(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 175 of file paint_mask.cc.
References BM_ELEM_CD_GET_FLOAT, float, sum(), and verts.
Referenced by average_neighbor_mask_bmesh().
| void blender::ed::sculpt_paint::mask::average_neighbor_mask_bmesh | ( | const int | mask_offset, |
| const Set< BMVert *, 0 > & | verts, | ||
| const MutableSpan< float > | new_masks ) |
Definition at line 184 of file paint_mask.cc.
References average_masks(), i, blender::ed::sculpt_paint::vert_neighbors_get_bmesh(), and verts.
Referenced by sharpen_mask_bmesh(), and smooth_mask_bmesh().
|
static |
Definition at line 960 of file sculpt_ops.cc.
References Add, clamp_mask(), Divide, i, blender::Span< T >::index_range(), Mix, Multiply, and Subtract.
Referenced by apply_mask_bmesh(), apply_mask_grids(), and apply_mask_mesh().
| void blender::ed::sculpt_paint::mask::clamp_mask | ( | const MutableSpan< float > | masks | ) |
Definition at line 116 of file paint_mask.cc.
Referenced by blender::ed::sculpt_paint::expand::calc_new_mask_mesh(), calc_new_masks(), mask_decrease_contrast(), mask_increase_contrast(), sharpen_masks(), smooth_mask_bmesh(), smooth_mask_grids(), and smooth_mask_mesh().
|
static |
Definition at line 691 of file sculpt_ops.cc.
References blender::math::distance(), invert(), len, MASK_BY_COLOR_SLOPE, and blender::math::numbers::sqrt3_v.
Referenced by mask_by_color_contiguous_mesh(), and mask_by_color_full_mesh().
|
static |
Definition at line 550 of file sculpt_filter_mask.cc.
References BLI_NOINLINE, BM_ELEM_CD_GET_FLOAT, BM_elem_flag_test, BM_ELEM_HIDDEN, i, and verts.
Referenced by decrease_contrast_mask_bmesh(), grow_mask_bmesh(), increase_contrast_mask_bmesh(), sharpen_mask_bmesh(), shrink_mask_bmesh(), and smooth_mask_bmesh().
|
static |
Definition at line 326 of file sculpt_filter_mask.cc.
References BKE_subdiv_ccg_key_top_level(), BLI_NOINLINE, blender::bits::foreach_1_index(), SubdivCCG::grid_hidden, blender::bke::ccg::grid_range(), i, blender::Span< T >::index_range(), blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), SubdivCCG::masks, blender::MutableSpan< T >::slice(), and blender::Span< T >::slice().
Referenced by decrease_contrast_mask_grids(), grow_mask_grids(), increase_contrast_mask_grids(), sharpen_mask_grids(), shrink_mask_grids(), and smooth_mask_grids().
|
static |
Definition at line 48 of file sculpt_filter_mask.cc.
References BLI_assert, BLI_NOINLINE, i, blender::Span< T >::is_empty(), blender::MutableSpan< T >::size(), and verts.
Referenced by decrease_contrast_mask_mesh(), grow_mask_mesh(), increase_contrast_mask_mesh(), sharpen_mask_mesh(), shrink_mask_mesh(), and smooth_mask_mesh().
|
static |
Definition at line 700 of file sculpt_filter_mask.cc.
References blender::MutableSpan< T >::as_span(), BKE_pbvh_bmesh_node_unique_verts(), bm, SculptSession::bm, copy_old_hidden_mask_bmesh(), depsgraph, gather_mask_bmesh(), blender::ed::sculpt_paint::undo::Mask, mask_decrease_contrast(), blender::ed::sculpt_paint::mask::FilterLocalData::new_mask, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, blender::bke::pbvh::node_update_mask_bmesh(), blender::ed::sculpt_paint::undo::push_node(), Vector< T, InlineBufferCapacity, Allocator >::resize(), scatter_mask_bmesh(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 518 of file sculpt_filter_mask.cc.
References Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::MutableSpan< T >::as_span(), BKE_subdiv_ccg_key_top_level(), copy_old_hidden_mask_grids(), depsgraph, blender::ed::sculpt_paint::gather_data_grids(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), blender::ed::sculpt_paint::undo::Mask, mask_decrease_contrast(), SubdivCCG::masks, blender::ed::sculpt_paint::mask::FilterLocalData::new_mask, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, blender::bke::pbvh::node_update_mask_grids(), blender::ed::sculpt_paint::undo::push_node(), Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::ed::sculpt_paint::scatter_data_grids(), blender::Span< T >::size(), and SculptSession::subdiv_ccg.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 300 of file sculpt_filter_mask.cc.
References blender::MutableSpan< T >::as_span(), copy_old_hidden_mask_mesh(), depsgraph, blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::undo::Mask, mask_decrease_contrast(), blender::ed::sculpt_paint::mask::FilterLocalData::new_mask, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, blender::bke::pbvh::node_update_mask_mesh(), blender::ed::sculpt_paint::hide::node_visible_verts(), blender::ed::sculpt_paint::undo::push_node(), Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::ed::sculpt_paint::scatter_data_mesh(), verts, and blender::ed::sculpt_paint::mask::FilterLocalData::visible_verts.
Referenced by sculpt_mask_filter_exec().
Definition at line 55 of file paint_mask.cc.
References BLI_assert_unreachable, bm, SculptSession::bm, BM_ELEM_CD_GET_FLOAT, BM_vert_at_index(), blender::bke::pbvh::BMesh, CD_PROP_FLOAT, CustomData_get_offset_named(), blender::bke::pbvh::Grids, i, Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::bke::AttributeAccessor::lookup_or_default(), SubdivCCG::masks, blender::bke::pbvh::Mesh, blender::bke::object::pbvh_get(), blender::bke::Point, SubdivCCG::positions, result, SculptSession::subdiv_ccg, and blender::ed::sculpt_paint::vert_random_access_ensure().
Referenced by blender::ed::sculpt_paint::expand::original_state_store().
|
static |
Definition at line 550 of file paint_mask.cc.
References blender::bke::pbvh::all_leaf_nodes(), blender::bke::pbvh::BMesh, depsgraph, fill_mask(), fill_mask_bmesh(), fill_mask_grids(), fill_mask_mesh(), blender::bke::pbvh::Grids, blender::bke::pbvh::Mesh, blender::bke::object::pbvh_get(), and blender::bke::pbvh::Tree::type().
Referenced by fill_mask(), and mask_flood_fill_exec().
|
static |
Definition at line 500 of file paint_mask.cc.
References BKE_pbvh_bmesh_node_unique_verts(), BKE_pbvh_node_fully_masked_set(), BKE_pbvh_node_fully_unmasked_set(), BLI_assert_unreachable, bm, SculptSession::bm, BM_ELEM_CD_GET_FLOAT, BM_ELEM_CD_SET_FLOAT, BM_elem_flag_test, BM_ELEM_HIDDEN, CD_PROP_FLOAT, CustomData_get_offset_named(), depsgraph, fill_mask_bmesh(), blender::index_mask::IndexMask::foreach_index(), IndexMask::from_bools(), i, blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::ed::sculpt_paint::undo::Mask, blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::undo::push_nodes(), and blender::bke::pbvh::Tree::tag_masks_changed().
Referenced by fill_mask(), and fill_mask_bmesh().
|
static |
Definition at line 433 of file paint_mask.cc.
References blender::Span< T >::begin(), BKE_sculpt_mask_layers_ensure(), BKE_sculpt_multires_active(), BKE_subdiv_ccg_key_top_level(), depsgraph, blender::Span< T >::end(), blender::MutableSpan< T >::fill(), fill_mask_grids(), blender::bits::foreach_0_index(), blender::index_mask::IndexMask::foreach_index(), blender::bke::ccg::grid_range(), i, Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), blender::ed::sculpt_paint::undo::Mask, SubdivCCG::masks, blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::undo::push_node(), blender::MutableSpan< T >::slice(), and SculptSession::subdiv_ccg.
Referenced by fill_mask(), and fill_mask_grids().
|
static |
Definition at line 388 of file paint_mask.cc.
References BKE_pbvh_node_fully_masked_set(), BKE_pbvh_node_fully_unmasked_set(), depsgraph, fill_mask_mesh(), blender::index_mask::IndexMask::foreach_index(), IndexMask::from_bools(), i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::ed::sculpt_paint::undo::Mask, blender::index_mask::IndexMask::min_array_size(), blender::ed::sculpt_paint::hide::node_visible_verts(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), blender::bke::Point, blender::ed::sculpt_paint::undo::push_node(), blender::bke::pbvh::Tree::tag_masks_changed(), try_remove_mask_mesh(), and verts.
Referenced by fill_mask(), and fill_mask_mesh().
|
static |
Definition at line 716 of file sculpt_ops.cc.
References invert().
Referenced by mask_by_color_contiguous_mesh(), and mask_by_color_full_mesh().
| void blender::ed::sculpt_paint::mask::gather_mask_bmesh | ( | const BMesh & | bm, |
| const Set< BMVert *, 0 > & | verts, | ||
| const MutableSpan< float > | r_mask ) |
Definition at line 130 of file paint_mask.cc.
References BLI_assert, bm, BM_ELEM_CD_GET_FLOAT, CD_PROP_FLOAT, CustomData_get_offset_named(), i, blender::MutableSpan< T >::size(), and verts.
Referenced by apply_mask_bmesh(), decrease_contrast_mask_bmesh(), increase_contrast_mask_bmesh(), sharpen_mask_bmesh(), and smooth_mask_bmesh().
| void blender::ed::sculpt_paint::mask::gather_mask_grids | ( | const SubdivCCG & | subdiv_ccg, |
| const Span< int > | grids, | ||
| const MutableSpan< float > | r_mask ) |
Definition at line 145 of file paint_mask.cc.
References Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::MutableSpan< T >::fill(), blender::ed::sculpt_paint::gather_data_grids(), Array< T, InlineBufferCapacity, Allocator >::is_empty(), and SubdivCCG::masks.
Referenced by apply_mask_grids().
|
static |
Definition at line 754 of file paint_mask.cc.
References BKE_pbvh_bmesh_node_unique_verts(), BKE_subdiv_ccg_foreach_visible_grid_vert(), BKE_subdiv_ccg_key_top_level(), bm, SculptSession::bm, BM_ELEM_CD_GET_FLOAT, BM_ELEM_CD_SET_FLOAT, blender::bke::pbvh::BMesh, CD_PROP_FLOAT, CustomData_get_offset_named(), depsgraph, ViewContext::depsgraph, blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_bools(), gesture_apply_for_symmetry_pass(), CCGKey::grid_area, blender::bke::pbvh::Grids, blender::bke::pbvh::GridsNode::grids(), i, blender::ed::sculpt_paint::gesture::is_affected(), blender::ed::sculpt_paint::undo::Mask, mask_gesture_get_new_value(), blender::bke::pbvh::Mesh, blender::index_mask::IndexMask::min_array_size(), blender::ed::sculpt_paint::mask::MaskOperation::mode, blender::ed::sculpt_paint::gesture::GestureData::node_mask, blender::bke::pbvh::node_update_mask_bmesh(), blender::bke::pbvh::node_update_mask_grids(), blender::bke::pbvh::Tree::nodes(), normals, ViewContext::obact, blender::ed::sculpt_paint::gesture::GestureData::operation, blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::undo::push_node(), blender::ed::sculpt_paint::gesture::GestureData::ss, SculptSession::subdiv_ccg, blender::bke::pbvh::Tree::tag_masks_changed(), update_mask_mesh(), blender::ed::sculpt_paint::mask::MaskOperation::value, blender::ed::sculpt_paint::gesture::GestureData::vc, blender::bke::pbvh::vert_normals_eval(), blender::bke::pbvh::vert_positions_eval(), and verts.
Referenced by gesture_apply_for_symmetry_pass(), and init_operation().
|
static |
Definition at line 732 of file paint_mask.cc.
References BKE_sculpt_update_object_for_edit(), C, CTX_data_depsgraph_pointer(), CTX_data_scene(), depsgraph, gesture_begin(), ViewContext::obact, blender::ed::sculpt_paint::undo::push_begin(), and blender::ed::sculpt_paint::gesture::GestureData::vc.
Referenced by gesture_begin(), and init_operation().
|
static |
Definition at line 893 of file paint_mask.cc.
References blender::ed::sculpt_paint::gesture::apply(), C, gesture_box_exec(), blender::ed::sculpt_paint::gesture::init_from_box(), init_operation(), OPERATOR_CANCELLED, and OPERATOR_FINISHED.
Referenced by gesture_box_exec(), and PAINT_OT_mask_box_gesture().
|
static |
Definition at line 848 of file paint_mask.cc.
References C, CTX_data_depsgraph_pointer(), depsgraph, gesture_end(), blender::bke::pbvh::Grids, MULTIRES_COORDS_MODIFIED, multires_mark_as_modified(), ViewContext::obact, blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::undo::push_end(), and blender::ed::sculpt_paint::gesture::GestureData::vc.
Referenced by gesture_end(), and init_operation().
|
static |
Definition at line 904 of file paint_mask.cc.
References blender::ed::sculpt_paint::gesture::apply(), C, gesture_lasso_exec(), blender::ed::sculpt_paint::gesture::init_from_lasso(), init_operation(), OPERATOR_CANCELLED, and OPERATOR_FINISHED.
Referenced by gesture_lasso_exec(), and PAINT_OT_mask_lasso_gesture().
|
static |
Definition at line 915 of file paint_mask.cc.
References blender::ed::sculpt_paint::gesture::apply(), C, gesture_line_exec(), blender::ed::sculpt_paint::gesture::init_from_line(), init_operation(), OPERATOR_CANCELLED, and OPERATOR_FINISHED.
Referenced by gesture_line_exec(), and PAINT_OT_mask_line_gesture().
|
static |
Definition at line 878 of file paint_mask.cc.
References gesture_operator_properties(), mode_items, ot, RNA_def_enum(), RNA_def_float(), and Value.
Referenced by gesture_operator_properties(), PAINT_OT_mask_box_gesture(), PAINT_OT_mask_lasso_gesture(), PAINT_OT_mask_line_gesture(), and PAINT_OT_mask_polyline_gesture().
|
static |
Definition at line 926 of file paint_mask.cc.
References blender::ed::sculpt_paint::gesture::apply(), C, gesture_polyline_exec(), blender::ed::sculpt_paint::gesture::init_from_polyline(), init_operation(), OPERATOR_CANCELLED, and OPERATOR_FINISHED.
Referenced by gesture_polyline_exec(), and PAINT_OT_mask_polyline_gesture().
|
static |
Definition at line 307 of file paint_mask.cc.
References BKE_pbvh_node_fully_hidden_get(), indices, blender::Span< T >::is_empty(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by try_remove_mask_mesh().
|
static |
Definition at line 631 of file sculpt_filter_mask.cc.
References BKE_pbvh_bmesh_node_unique_verts(), BM_ELEM_CD_GET_FLOAT, copy_old_hidden_mask_bmesh(), i, blender::ed::sculpt_paint::vert_neighbors_get_bmesh(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 420 of file sculpt_filter_mask.cc.
References BKE_subdiv_ccg_key_top_level(), BKE_subdiv_ccg_neighbor_coords_get(), CCG_grid_xy_to_index(), SubdivCCGNeighbors::coords, copy_old_hidden_mask_grids(), blender::bke::ccg::grid_range(), CCGKey::grid_size, blender::bke::pbvh::GridsNode::grids(), i, blender::Span< T >::index_range(), SubdivCCG::masks, blender::MutableSpan< T >::slice(), blender::Span< T >::slice(), SubdivCCGCoord::to_index(), x, and y.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 216 of file sculpt_filter_mask.cc.
References blender::ed::sculpt_paint::calc_vert_neighbors(), copy_old_hidden_mask_mesh(), faces, i, blender::ed::sculpt_paint::mask::FilterLocalData::neighbor_data, blender::ed::sculpt_paint::mask::FilterLocalData::neighbor_offsets, blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 669 of file sculpt_filter_mask.cc.
References blender::MutableSpan< T >::as_span(), BKE_pbvh_bmesh_node_unique_verts(), bm, SculptSession::bm, copy_old_hidden_mask_bmesh(), depsgraph, gather_mask_bmesh(), blender::ed::sculpt_paint::undo::Mask, mask_increase_contrast(), blender::ed::sculpt_paint::mask::FilterLocalData::new_mask, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, blender::bke::pbvh::node_update_mask_bmesh(), blender::ed::sculpt_paint::undo::push_node(), Vector< T, InlineBufferCapacity, Allocator >::resize(), scatter_mask_bmesh(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 486 of file sculpt_filter_mask.cc.
References Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::MutableSpan< T >::as_span(), BKE_subdiv_ccg_key_top_level(), copy_old_hidden_mask_grids(), depsgraph, blender::ed::sculpt_paint::gather_data_grids(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), blender::ed::sculpt_paint::undo::Mask, mask_increase_contrast(), SubdivCCG::masks, blender::ed::sculpt_paint::mask::FilterLocalData::new_mask, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, blender::bke::pbvh::node_update_mask_grids(), blender::ed::sculpt_paint::undo::push_node(), Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::ed::sculpt_paint::scatter_data_grids(), blender::Span< T >::size(), and SculptSession::subdiv_ccg.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 274 of file sculpt_filter_mask.cc.
References blender::MutableSpan< T >::as_span(), copy_old_hidden_mask_mesh(), depsgraph, blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::undo::Mask, mask_increase_contrast(), blender::ed::sculpt_paint::mask::FilterLocalData::new_mask, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, blender::bke::pbvh::node_update_mask_mesh(), blender::ed::sculpt_paint::hide::node_visible_verts(), blender::ed::sculpt_paint::undo::push_node(), Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::ed::sculpt_paint::scatter_data_mesh(), verts, and blender::ed::sculpt_paint::mask::FilterLocalData::visible_verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 76 of file sculpt_mask_init.cc.
References BKE_sculpt_mask_layers_ensure(), BKE_sculpt_multires_active(), BKE_subdiv_ccg_average_grids(), BKE_subdiv_ccg_key_top_level(), depsgraph, blender::index_mask::IndexMask::foreach_index(), blender::bke::ccg::grid_range(), i, blender::ed::sculpt_paint::undo::Mask, blender::bke::pbvh::node_update_mask_grids(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::undo::push_nodes(), blender::MutableSpan< T >::slice(), SculptSession::subdiv_ccg, and blender::bke::pbvh::Tree::tag_masks_changed().
Referenced by sculpt_mask_init_exec().
|
static |
Definition at line 858 of file paint_mask.cc.
References blender::ed::sculpt_paint::gesture::Operation::apply_for_symmetry_pass, blender::ed::sculpt_paint::gesture::Operation::begin, BKE_sculpt_mask_layers_ensure(), BKE_sculpt_multires_active(), C, CTX_data_depsgraph_pointer(), CTX_data_main(), blender::ed::sculpt_paint::gesture::Operation::end, gesture_apply_for_symmetry_pass(), gesture_begin(), gesture_end(), init_operation(), MEM_callocN(), blender::ed::sculpt_paint::mask::MaskOperation::mode, ViewContext::obact, blender::ed::sculpt_paint::mask::MaskOperation::op, blender::ed::sculpt_paint::gesture::GestureData::operation, wmOperator::ptr, RNA_enum_get(), RNA_float_get(), ViewContext::scene, blender::ed::sculpt_paint::mask::MaskOperation::value, and blender::ed::sculpt_paint::gesture::GestureData::vc.
Referenced by gesture_box_exec(), gesture_lasso_exec(), gesture_line_exec(), gesture_polyline_exec(), and init_operation().
| void blender::ed::sculpt_paint::mask::invert_mask | ( | const MutableSpan< float > | masks | ) |
Definition at line 123 of file paint_mask.cc.
Referenced by apply_mask_bmesh(), apply_mask_grids(), apply_mask_mesh(), invert_mask(), and mask_flood_fill_exec().
|
static |
Definition at line 637 of file paint_mask.cc.
References blender::bke::pbvh::all_leaf_nodes(), blender::bke::pbvh::BMesh, depsgraph, blender::bke::pbvh::Grids, invert_mask(), invert_mask_bmesh(), invert_mask_grids(), blender::bke::pbvh::Mesh, blender::bke::object::pbvh_get(), verts, and write_mask_mesh().
|
static |
Definition at line 612 of file paint_mask.cc.
References BKE_pbvh_bmesh_node_unique_verts(), BLI_assert_unreachable, bm, BM_ELEM_CD_GET_FLOAT, BM_ELEM_CD_SET_FLOAT, BM_elem_flag_test, BM_ELEM_HIDDEN, CD_PROP_FLOAT, CustomData_get_offset_named(), depsgraph, blender::index_mask::IndexMask::foreach_index(), i, invert_mask_bmesh(), blender::ed::sculpt_paint::undo::Mask, blender::bke::pbvh::node_update_mask_bmesh(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::undo::push_nodes(), and blender::bke::pbvh::Tree::tag_masks_changed().
Referenced by invert_mask(), and invert_mask_bmesh().
|
static |
Definition at line 569 of file paint_mask.cc.
References BKE_sculpt_mask_layers_ensure(), BKE_sculpt_multires_active(), BKE_subdiv_ccg_key_top_level(), depsgraph, blender::bits::foreach_0_index(), blender::index_mask::IndexMask::foreach_index(), blender::bke::ccg::grid_range(), i, invert_mask_grids(), blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), blender::ed::sculpt_paint::undo::Mask, MULTIRES_COORDS_MODIFIED, multires_mark_as_modified(), blender::bke::pbvh::node_update_mask_grids(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::undo::push_nodes(), blender::MutableSpan< T >::slice(), SculptSession::subdiv_ccg, and blender::bke::pbvh::Tree::tag_masks_changed().
Referenced by invert_mask(), and invert_mask_grids().
|
static |
Definition at line 802 of file sculpt_ops.cc.
References SculptSession::active_vert(), BKE_base_is_visible(), BKE_sculpt_color_layer_create_if_needed(), BKE_sculpt_update_object_for_edit(), C, blender::ed::sculpt_paint::color_supported_check(), View3DShading::color_type, CTX_data_active_base(), CTX_data_active_object(), CTX_data_depsgraph_pointer(), CTX_data_scene(), CTX_wm_view3d(), blender::ed::sculpt_paint::cursor_geometry_info_update(), DEG_id_tag_update(), depsgraph, blender::ed::sculpt_paint::flush_update_done(), Object::id, ID_RECALC_GEOMETRY, invert(), blender::ed::sculpt_paint::Mask, mask_by_color_contiguous_mesh(), mask_by_color_full_mesh(), OB_SOLID, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, blender::ed::sculpt_paint::undo::push_begin(), blender::ed::sculpt_paint::undo::push_end(), wmOperator::reports, RNA_boolean_get(), RNA_float_get(), Object::sculpt, View3D::shading, View3DShading::type, and V3D_SHADING_VERTEX_COLOR.
Referenced by mask_by_color_exec(), and mask_by_color_invoke().
|
static |
Definition at line 730 of file sculpt_ops.cc.
References blender::ed::sculpt_paint::flood_fill::FillDataMesh::add_initial(), blender::bke::pbvh::all_leaf_nodes(), color_delta_get(), depsgraph, blender::math::distance(), blender::ed::sculpt_paint::flood_fill::FillDataMesh::execute(), final_mask_get(), i, invert(), len, blender::bke::AttributeAccessor::lookup_or_default(), blender::bke::object::pbvh_get(), blender::bke::Point, blender::math::numbers::sqrt3_v, update_mask_mesh(), verts, and blender::VecBase< T, Size >::xyz().
Referenced by mask_by_color().
|
static |
Definition at line 860 of file sculpt_ops.cc.
References C, mask_by_color(), wmOperator::ptr, and RNA_int_get_array().
Referenced by SCULPT_OT_mask_by_color().
|
static |
Definition at line 773 of file sculpt_ops.cc.
References blender::bke::pbvh::all_leaf_nodes(), color_delta_get(), depsgraph, final_mask_get(), i, invert(), blender::bke::AttributeAccessor::lookup_or_default(), blender::bke::object::pbvh_get(), blender::bke::Point, update_mask_mesh(), verts, and blender::VecBase< T, Size >::xyz().
Referenced by mask_by_color().
|
static |
Definition at line 867 of file sculpt_ops.cc.
References C, mask_by_color(), wmEvent::mval, wmOperator::ptr, and RNA_int_set_array().
Referenced by SCULPT_OT_mask_by_color().
|
static |
Definition at line 87 of file sculpt_filter_mask.cc.
References BLI_NOINLINE, clamp_mask(), and multiply_add().
Referenced by decrease_contrast_mask_bmesh(), decrease_contrast_mask_grids(), and decrease_contrast_mask_mesh().
| bool blender::ed::sculpt_paint::mask::mask_equals_array_bmesh | ( | const int | mask_offset, |
| const Set< BMVert *, 0 > & | verts, | ||
| const Span< float > | values ) |
Definition at line 257 of file paint_mask.cc.
References BLI_assert, BM_ELEM_CD_GET_FLOAT, i, blender::Span< T >::size(), and verts.
Referenced by apply_new_mask_bmesh().
| bool blender::ed::sculpt_paint::mask::mask_equals_array_grids | ( | Span< float > | masks, |
| const CCGKey & | key, | ||
| Span< int > | grids, | ||
| Span< float > | values ) |
Check whether array data is the same as the stored mask for the referenced geometry.
Definition at line 242 of file paint_mask.cc.
References blender::IndexRange::begin(), BLI_assert, blender::IndexRange::end(), CCGKey::grid_area, i, blender::Span< T >::index_range(), and blender::Span< T >::size().
Referenced by apply_new_mask_grids().
|
static |
Definition at line 659 of file paint_mask.cc.
References BKE_sculpt_update_object_for_edit(), C, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_data_scene(), depsgraph, fill_mask(), InverseMeshValue, InverseValue, invert_mask(), mask_flood_fill_exec(), OPERATOR_FINISHED, wmOperator::ptr, blender::ed::sculpt_paint::undo::push_begin(), blender::ed::sculpt_paint::undo::push_end(), RNA_enum_get(), RNA_float_get(), SCULPT_tag_update_overlays(), and Value.
Referenced by mask_flood_fill_exec(), and PAINT_OT_mask_flood_fill().
|
static |
Definition at line 1368 of file sculpt_ops.cc.
References blender::bke::pbvh::all_leaf_nodes(), apply_mask_from_settings(), Brush::automasking_boundary_edges_propagation_steps, Sculpt::automasking_boundary_edges_propagation_steps, Brush::automasking_flags, Sculpt::automasking_flags, BKE_base_is_visible(), BKE_paint_brush_for_read(), BKE_report(), BKE_sculpt_mask_layers_ensure(), BKE_sculpt_multires_active(), BKE_sculpt_update_object_for_edit(), Brush, BRUSH_AUTOMASKING_BOUNDARY_EDGES, BRUSH_AUTOMASKING_BOUNDARY_FACE_SETS, C, blender::ed::sculpt_paint::auto_mask::cache_init(), CTX_data_active_base(), CTX_data_active_object(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_data_tool_settings(), CTX_wm_view3d(), depsgraph, FaceSets, blender::ed::sculpt_paint::flush_update_done(), blender::ed::sculpt_paint::undo::Mask, blender::ed::sculpt_paint::Mask, Mesh, Operator, OPERATOR_CANCELLED, OPERATOR_FINISHED, Sculpt::paint, blender::bke::object::pbvh_get(), wmOperator::ptr, blender::ed::sculpt_paint::undo::push_begin(), blender::ed::sculpt_paint::undo::push_end(), blender::ed::sculpt_paint::undo::push_nodes(), wmOperator::reports, RNA_enum_get(), RNA_float_get(), RNA_int_get(), RPT_WARNING, Scene, ToolSettings::sculpt, Brush::sculpt_brush_type, SCULPT_BRUSH_TYPE_SMOOTH, SCULPT_tag_update_overlays(), blender::bke::pbvh::Tree::tag_masks_changed(), and blender::ed::sculpt_paint::vert_random_access_ensure().
Referenced by SCULPT_OT_mask_from_boundary().
|
static |
Definition at line 1467 of file sculpt_ops.cc.
References Brush, C, CTX_data_scene(), wmOperator::layout, Operator, uiLayout::prop(), wmOperator::ptr, RNA_enum_get(), Scene, ToolSettings::sculpt, Scene::toolsettings, UI_ITEM_NONE, uiLayout::use_property_decorate_set(), and uiLayout::use_property_split_set().
Referenced by SCULPT_OT_mask_from_boundary().
|
static |
Definition at line 1167 of file sculpt_ops.cc.
References blender::bke::pbvh::all_leaf_nodes(), apply_mask_from_settings(), Brush::automasking_boundary_edges_propagation_steps, Brush::automasking_cavity_blur_steps, Sculpt::automasking_cavity_blur_steps, Brush::automasking_cavity_curve, Sculpt::automasking_cavity_curve, Sculpt::automasking_cavity_curve_op, Brush::automasking_cavity_factor, Sculpt::automasking_cavity_factor, Brush::automasking_flags, Sculpt::automasking_flags, BKE_base_is_visible(), BKE_paint_brush_for_read(), BKE_report(), BKE_sculpt_mask_layers_ensure(), BKE_sculpt_multires_active(), BKE_sculpt_update_object_for_edit(), Brush, BRUSH_AUTOMASKING_CAVITY_ALL, BRUSH_AUTOMASKING_CAVITY_INVERTED, BRUSH_AUTOMASKING_CAVITY_NORMAL, BRUSH_AUTOMASKING_CAVITY_USE_CURVE, C, blender::ed::sculpt_paint::auto_mask::cache_init(), CTX_data_active_base(), CTX_data_active_object(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_data_tool_settings(), CTX_wm_view3d(), depsgraph, blender::ed::sculpt_paint::flush_update_done(), blender::ed::sculpt_paint::undo::Mask, blender::ed::sculpt_paint::Mask, Operator, OPERATOR_CANCELLED, OPERATOR_FINISHED, Sculpt::paint, blender::bke::object::pbvh_get(), wmOperator::ptr, blender::ed::sculpt_paint::undo::push_begin(), blender::ed::sculpt_paint::undo::push_end(), blender::ed::sculpt_paint::undo::push_nodes(), wmOperator::reports, RNA_boolean_get(), RNA_enum_get(), RNA_float_get(), RNA_int_get(), RPT_WARNING, Scene, ToolSettings::sculpt, Brush::sculpt_brush_type, SCULPT_BRUSH_TYPE_SMOOTH, SCULPT_tag_update_overlays(), blender::bke::pbvh::Tree::tag_masks_changed(), and blender::ed::sculpt_paint::vert_random_access_ensure().
Referenced by SCULPT_OT_mask_from_cavity().
|
static |
Definition at line 1278 of file sculpt_ops.cc.
References Brush, C, CTX_data_scene(), Scene::id, wmOperator::layout, Operator, uiLayout::prop(), wmOperator::ptr, RNA_boolean_get(), RNA_enum_get(), RNA_pointer_create_discrete(), Scene, ToolSettings::sculpt, Scene::toolsettings, UI_ITEM_NONE, uiTemplateCurveMapping(), uiLayout::use_property_decorate_set(), and uiLayout::use_property_split_set().
Referenced by SCULPT_OT_mask_from_cavity().
|
static |
Definition at line 740 of file paint_mask.cc.
References BLI_assert_unreachable, InverseMeshValue, InverseValue, mask_gesture_get_new_value(), and Value.
Referenced by gesture_apply_for_symmetry_pass(), and mask_gesture_get_new_value().
|
static |
Definition at line 75 of file sculpt_filter_mask.cc.
References BLI_NOINLINE, clamp_mask(), multiply_add(), and blender::math::rcp().
Referenced by increase_contrast_mask_bmesh(), increase_contrast_mask_grids(), and increase_contrast_mask_mesh().
| void blender::ed::sculpt_paint::mask::mix_new_masks | ( | const Span< float > | new_masks, |
| const float | factor, | ||
| const MutableSpan< float > | masks ) |
Definition at line 95 of file paint_mask.cc.
References BLI_assert, i, blender::MutableSpan< T >::index_range(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by apply_mask_bmesh(), apply_mask_grids(), apply_mask_mesh(), smooth_mask_bmesh(), smooth_mask_grids(), and smooth_mask_mesh().
| void blender::ed::sculpt_paint::mask::mix_new_masks | ( | const Span< float > | new_masks, |
| const Span< float > | factors, | ||
| const MutableSpan< float > | masks ) |
Definition at line 104 of file paint_mask.cc.
References BLI_assert, i, blender::MutableSpan< T >::index_range(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
|
static |
Definition at line 65 of file sculpt_filter_mask.cc.
References BLI_NOINLINE, i, and blender::Span< T >::index_range().
Referenced by mask_decrease_contrast(), and mask_increase_contrast().
| void blender::ed::sculpt_paint::mask::PAINT_OT_mask_box_gesture | ( | wmOperatorType * | ot | ) |
Definition at line 957 of file paint_mask.cc.
References blender::ed::sculpt_paint::gesture::Box, gesture_box_exec(), gesture_operator_properties(), blender::ed::sculpt_paint::gesture::operator_properties(), OPTYPE_REGISTER, ot, PAINT_OT_mask_box_gesture(), SCULPT_mode_poll_view3d(), WM_gesture_box_invoke(), WM_gesture_box_modal(), and WM_operator_properties_border().
Referenced by ED_operatortypes_paint(), and PAINT_OT_mask_box_gesture().
| void blender::ed::sculpt_paint::mask::PAINT_OT_mask_flood_fill | ( | wmOperatorType * | ot | ) |
Definition at line 691 of file paint_mask.cc.
References mask_flood_fill_exec(), mode_items, OPTYPE_REGISTER, ot, PAINT_OT_mask_flood_fill(), RNA_def_enum(), RNA_def_float(), SCULPT_mode_poll(), and Value.
Referenced by ED_operatortypes_paint(), and PAINT_OT_mask_flood_fill().
| void blender::ed::sculpt_paint::mask::PAINT_OT_mask_lasso_gesture | ( | wmOperatorType * | ot | ) |
Definition at line 937 of file paint_mask.cc.
References gesture_lasso_exec(), gesture_operator_properties(), blender::ed::sculpt_paint::gesture::Lasso, blender::ed::sculpt_paint::gesture::operator_properties(), OPTYPE_DEPENDS_ON_CURSOR, OPTYPE_REGISTER, ot, PAINT_OT_mask_lasso_gesture(), SCULPT_mode_poll_view3d(), WM_gesture_lasso_invoke(), WM_gesture_lasso_modal(), and WM_operator_properties_gesture_lasso().
Referenced by ED_operatortypes_paint(), and PAINT_OT_mask_lasso_gesture().
| void blender::ed::sculpt_paint::mask::PAINT_OT_mask_line_gesture | ( | wmOperatorType * | ot | ) |
Definition at line 977 of file paint_mask.cc.
References gesture_line_exec(), gesture_operator_properties(), blender::ed::sculpt_paint::gesture::Line, blender::ed::sculpt_paint::gesture::operator_properties(), OPTYPE_REGISTER, ot, PAINT_OT_mask_line_gesture(), SCULPT_mode_poll_view3d(), WM_CURSOR_EDIT, WM_gesture_straightline_active_side_invoke(), WM_gesture_straightline_oneshot_modal(), and WM_operator_properties_gesture_straightline().
Referenced by ED_operatortypes_paint(), and PAINT_OT_mask_line_gesture().
| void blender::ed::sculpt_paint::mask::PAINT_OT_mask_polyline_gesture | ( | wmOperatorType * | ot | ) |
Definition at line 997 of file paint_mask.cc.
References gesture_operator_properties(), gesture_polyline_exec(), blender::ed::sculpt_paint::gesture::Lasso, blender::ed::sculpt_paint::gesture::operator_properties(), OPTYPE_DEPENDS_ON_CURSOR, OPTYPE_REGISTER, ot, PAINT_OT_mask_polyline_gesture(), SCULPT_mode_poll_view3d(), WM_gesture_polyline_invoke(), WM_gesture_polyline_modal(), and WM_operator_properties_gesture_polyline().
Referenced by ED_operatortypes_paint(), and PAINT_OT_mask_polyline_gesture().
| void blender::ed::sculpt_paint::mask::scatter_mask_bmesh | ( | const Span< float > | mask, |
| const BMesh & | bm, | ||
| const Set< BMVert *, 0 > & | verts ) |
Definition at line 162 of file paint_mask.cc.
References BLI_assert, bm, BM_ELEM_CD_SET_FLOAT, CD_PROP_FLOAT, CustomData_get_offset_named(), i, and verts.
Referenced by apply_mask_bmesh(), apply_new_mask_bmesh(), decrease_contrast_mask_bmesh(), and increase_contrast_mask_bmesh().
| void blender::ed::sculpt_paint::mask::scatter_mask_grids | ( | const Span< float > | mask, |
| SubdivCCG & | subdiv_ccg, | ||
| const Span< int > | grids ) |
Definition at line 157 of file paint_mask.cc.
References Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), SubdivCCG::masks, and blender::ed::sculpt_paint::scatter_data_grids().
Referenced by apply_mask_grids().
|
static |
Definition at line 731 of file sculpt_filter_mask.cc.
References blender::bke::pbvh::all_leaf_nodes(), apply_new_mask_bmesh(), apply_new_mask_grids(), apply_new_mask_mesh(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), BKE_base_is_visible(), BKE_sculpt_mask_layers_ensure(), BKE_sculpt_multires_active(), BKE_sculpt_update_object_for_edit(), BKE_subdiv_ccg_key_top_level(), bm, SculptSession::bm, blender::bke::pbvh::BMesh, C, CD_PROP_FLOAT, ContrastDecrease, ContrastIncrease, blender::ed::sculpt_paint::create_node_vert_offsets(), blender::ed::sculpt_paint::create_node_vert_offsets_bmesh(), CTX_data_active_base(), CTX_data_active_object(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_wm_view3d(), CustomData_get_offset_named(), Object::data, decrease_contrast_mask_bmesh(), decrease_contrast_mask_grids(), decrease_contrast_mask_mesh(), depsgraph, blender::bke::Face, faces, blender::ed::sculpt_paint::flush_update_done(), blender::ed::sculpt_paint::flush_update_step(), blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_bools(), blender::bke::pbvh::Grids, Grow, grow_mask_bmesh(), grow_mask_grids(), grow_mask_mesh(), i, increase_contrast_mask_bmesh(), increase_contrast_mask_grids(), increase_contrast_mask_mesh(), blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_for_write_span(), blender::ed::sculpt_paint::Mask, blender::bke::pbvh::Mesh, blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::Tree::nodes(), OPERATOR_CANCELLED, OPERATOR_FINISHED, blender::bke::object::pbvh_get(), blender::bke::Point, pos, wmOperator::ptr, blender::ed::sculpt_paint::undo::push_begin(), blender::ed::sculpt_paint::undo::push_end(), RNA_boolean_get(), RNA_enum_get(), RNA_int_get(), Object::sculpt, SCULPT_tag_update_overlays(), SCULPT_vertex_count_get(), Sharpen, sharpen_mask_bmesh(), sharpen_mask_grids(), sharpen_mask_mesh(), Shrink, shrink_mask_bmesh(), shrink_mask_grids(), shrink_mask_mesh(), Smooth, smooth_mask_bmesh(), smooth_mask_grids(), smooth_mask_mesh(), SculptSession::subdiv_ccg, blender::bke::pbvh::Tree::tag_masks_changed(), blender::offset_indices::OffsetIndices< T >::total_size(), blender::bke::pbvh::Tree::type(), and blender::ed::sculpt_paint::vert_random_access_ensure().
Referenced by SCULPT_OT_mask_filter().
|
static |
Definition at line 107 of file sculpt_mask_init.cc.
References blender::bke::pbvh::all_leaf_nodes(), BKE_base_is_visible(), BKE_pbvh_bmesh_node_unique_verts(), BKE_sculpt_update_object_for_edit(), BKE_subdiv_ccg_foreach_visible_grid_vert(), BKE_subdiv_ccg_key_top_level(), BLI_hash_int_01(), BLI_time_now_seconds(), SculptSession::bm, BM_ELEM_CD_SET_FLOAT, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, blender::bke::pbvh::BMesh, C, CD_PROP_FLOAT, CTX_data_active_base(), CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_data_scene(), CTX_wm_view3d(), CustomData_get_offset_named(), Object::data, depsgraph, blender::ed::sculpt_paint::islands::ensure_cache(), blender::bke::Face, FaceSet, blender::index_mask::IndexMask::foreach_index(), CCGKey::grid_area, SubdivCCG::grid_to_face_map, blender::bke::pbvh::Grids, i, init_mask_grids(), blender::index_mask::IndexMask::is_empty(), Island, blender::bke::AttributeAccessor::lookup_or_default(), blender::ed::sculpt_paint::undo::Mask, blender::bke::pbvh::Mesh, blender::bke::pbvh::node_update_mask_bmesh(), blender::bke::pbvh::Tree::nodes(), OPERATOR_CANCELLED, OPERATOR_FINISHED, blender::bke::object::pbvh_get(), wmOperator::ptr, blender::ed::sculpt_paint::undo::push_begin(), blender::ed::sculpt_paint::undo::push_end(), blender::ed::sculpt_paint::undo::push_nodes(), Random, RNA_enum_get(), Object::sculpt, SCULPT_tag_update_overlays(), seed, SculptSession::subdiv_ccg, blender::bke::pbvh::Tree::tag_masks_changed(), blender::bke::pbvh::Tree::type(), BMesh::vdata, blender::ed::sculpt_paint::face_set::vert_face_set_get(), blender::ed::sculpt_paint::islands::vert_id_get(), verts, and write_mask_mesh().
Referenced by SCULPT_OT_mask_init().
|
static |
Definition at line 873 of file sculpt_ops.cc.
References mask_by_color_exec(), mask_by_color_invoke(), OPTYPE_DEPENDS_ON_CURSOR, OPTYPE_REGISTER, OPTYPE_UNDO, ot, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_float(), RNA_def_int_array(), RNA_def_property_flag(), and SCULPT_mode_poll().
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
| void blender::ed::sculpt_paint::mask::SCULPT_OT_mask_filter | ( | wmOperatorType * | ot | ) |
Definition at line 1038 of file sculpt_filter_mask.cc.
References ContrastDecrease, ContrastIncrease, Grow, OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_boolean(), RNA_def_enum(), RNA_def_int(), sculpt_mask_filter_exec(), SCULPT_mode_poll(), Sharpen, Shrink, and Smooth.
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
|
static |
Definition at line 1497 of file sculpt_ops.cc.
References FaceSets, mask_from_boundary_exec(), mask_from_boundary_ui(), Mesh, Mix, mix_modes, Operator, OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_enum(), RNA_def_float(), RNA_def_int(), SCULPT_mode_poll(), and settings_sources.
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
|
static |
Definition at line 1324 of file sculpt_ops.cc.
References mask_from_cavity_exec(), mask_from_cavity_ui(), Mix, mix_modes, Operator, OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_boolean(), RNA_def_enum(), RNA_def_float(), RNA_def_int(), SCULPT_mode_poll(), and settings_sources.
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
| void blender::ed::sculpt_paint::mask::SCULPT_OT_mask_init | ( | wmOperatorType * | ot | ) |
Definition at line 275 of file sculpt_mask_init.cc.
References FaceSet, Island, OPTYPE_REGISTER, OPTYPE_UNDO, ot, Random, RNA_def_enum(), sculpt_mask_init_exec(), and SCULPT_mode_poll().
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
|
static |
Definition at line 612 of file sculpt_filter_mask.cc.
References average_neighbor_mask_bmesh(), BKE_pbvh_bmesh_node_unique_verts(), bm, copy_old_hidden_mask_bmesh(), gather_mask_bmesh(), blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), sharpen_masks(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 399 of file sculpt_filter_mask.cc.
References Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::ed::sculpt_paint::smooth::average_data_grids(), BKE_subdiv_ccg_key_top_level(), copy_old_hidden_mask_grids(), blender::ed::sculpt_paint::gather_data_grids(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), SubdivCCG::masks, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), sharpen_masks(), and blender::Span< T >::size().
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 186 of file sculpt_filter_mask.cc.
References blender::ed::sculpt_paint::calc_vert_neighbors(), copy_old_hidden_mask_mesh(), faces, blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::mask::FilterLocalData::neighbor_data, blender::ed::sculpt_paint::smooth::neighbor_data_average_mesh(), blender::ed::sculpt_paint::mask::FilterLocalData::neighbor_offsets, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), sharpen_masks(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 99 of file sculpt_filter_mask.cc.
References BLI_NOINLINE, clamp_mask(), i, and blender::Span< T >::index_range().
Referenced by sharpen_mask_bmesh(), sharpen_mask_grids(), and sharpen_mask_mesh().
|
static |
Definition at line 650 of file sculpt_filter_mask.cc.
References BKE_pbvh_bmesh_node_unique_verts(), BM_ELEM_CD_GET_FLOAT, copy_old_hidden_mask_bmesh(), i, blender::ed::sculpt_paint::vert_neighbors_get_bmesh(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 453 of file sculpt_filter_mask.cc.
References BKE_subdiv_ccg_key_top_level(), BKE_subdiv_ccg_neighbor_coords_get(), CCG_grid_xy_to_index(), SubdivCCGNeighbors::coords, copy_old_hidden_mask_grids(), blender::bke::ccg::grid_range(), CCGKey::grid_size, blender::bke::pbvh::GridsNode::grids(), i, blender::Span< T >::index_range(), SubdivCCG::masks, blender::MutableSpan< T >::slice(), blender::Span< T >::slice(), SubdivCCGCoord::to_index(), x, and y.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 245 of file sculpt_filter_mask.cc.
References blender::ed::sculpt_paint::calc_vert_neighbors(), copy_old_hidden_mask_mesh(), faces, i, blender::ed::sculpt_paint::mask::FilterLocalData::neighbor_data, blender::ed::sculpt_paint::mask::FilterLocalData::neighbor_offsets, blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 593 of file sculpt_filter_mask.cc.
References average_neighbor_mask_bmesh(), BKE_pbvh_bmesh_node_unique_verts(), bm, clamp_mask(), blender::MutableSpan< T >::copy_from(), copy_old_hidden_mask_bmesh(), gather_mask_bmesh(), mix_new_masks(), blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 378 of file sculpt_filter_mask.cc.
References Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::ed::sculpt_paint::smooth::average_data_grids(), BKE_subdiv_ccg_key_top_level(), clamp_mask(), blender::MutableSpan< T >::copy_from(), copy_old_hidden_mask_grids(), blender::ed::sculpt_paint::gather_data_grids(), CCGKey::grid_area, blender::bke::pbvh::GridsNode::grids(), SubdivCCG::masks, mix_new_masks(), blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), and blender::Span< T >::size().
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 155 of file sculpt_filter_mask.cc.
References blender::ed::sculpt_paint::calc_vert_neighbors(), clamp_mask(), blender::MutableSpan< T >::copy_from(), copy_old_hidden_mask_mesh(), faces, blender::ed::sculpt_paint::gather_data_mesh(), mix_new_masks(), blender::ed::sculpt_paint::mask::FilterLocalData::neighbor_data, blender::ed::sculpt_paint::smooth::neighbor_data_average_mesh(), blender::ed::sculpt_paint::mask::FilterLocalData::neighbor_offsets, blender::ed::sculpt_paint::mask::FilterLocalData::node_mask, Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::bke::pbvh::MeshNode::verts(), and verts.
Referenced by sculpt_mask_filter_exec().
|
static |
Definition at line 326 of file paint_mask.cc.
References depsgraph, blender::index_mask::IndexMask::foreach_index(), get_hidden_verts(), i, blender::index_mask::IndexMask::index_range(), blender::bke::AttributeAccessor::lookup(), blender::bke::pbvh::Tree::nodes(), blender::threading::parallel_reduce(), blender::bke::object::pbvh_get(), blender::bke::Point, blender::index_mask::IndexMask::slice(), and verts.
Referenced by fill_mask_mesh().
| void blender::ed::sculpt_paint::mask::update_mask_mesh | ( | const Depsgraph & | depsgraph, |
| Object & | object, | ||
| const IndexMask & | node_mask, | ||
| FunctionRef< void(MutableSpan< float >, Span< int >)> | update_fn ) |
Write to each node's mask data for visible vertices. Store undo data and mark for redraw only if the data is actually changed.
Definition at line 196 of file paint_mask.cc.
References Vector< T, InlineBufferCapacity, Allocator >::as_mutable_span(), Vector< T, InlineBufferCapacity, Allocator >::as_span(), depsgraph, blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_bools(), blender::ed::sculpt_paint::gather_data_mesh(), i, blender::array_utils::indexed_data_equal(), blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::ed::sculpt_paint::undo::Mask, blender::ed::sculpt_paint::mask::LocalData::mask, blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::node_update_mask_mesh(), blender::ed::sculpt_paint::hide::node_visible_verts(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), blender::bke::Point, blender::ed::sculpt_paint::undo::push_node(), Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::ed::sculpt_paint::scatter_data_mesh(), blender::bke::pbvh::Tree::tag_masks_changed(), and verts.
Referenced by gesture_apply_for_symmetry_pass(), mask_by_color_contiguous_mesh(), mask_by_color_full_mesh(), and blender::ed::sculpt_paint::expand::update_for_vert().
| void blender::ed::sculpt_paint::mask::write_mask_mesh | ( | const Depsgraph & | depsgraph, |
| Object & | object, | ||
| const IndexMask & | node_mask, | ||
| FunctionRef< void(MutableSpan< float >, Span< int >)> | write_fn ) |
Write to the mask attribute for each node, storing undo data.
Definition at line 48 of file sculpt_mask_init.cc.
References depsgraph, blender::index_mask::IndexMask::foreach_index(), i, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::ed::sculpt_paint::undo::Mask, blender::bke::pbvh::node_update_mask_mesh(), blender::ed::sculpt_paint::hide::node_visible_verts(), blender::bke::pbvh::Tree::nodes(), blender::bke::object::pbvh_get(), blender::bke::Point, blender::ed::sculpt_paint::undo::push_nodes(), and blender::bke::pbvh::Tree::tag_masks_changed().
Referenced by invert_mask(), and sculpt_mask_init_exec().
|
static |
Definition at line 933 of file sculpt_ops.cc.
Referenced by SCULPT_OT_mask_from_boundary(), and SCULPT_OT_mask_from_cavity().
|
static |
Definition at line 293 of file paint_mask.cc.
Referenced by gesture_operator_properties(), and PAINT_OT_mask_flood_fill().
|
static |
Definition at line 944 of file sculpt_ops.cc.
Referenced by SCULPT_OT_mask_from_boundary(), and SCULPT_OT_mask_from_cavity().