|
Blender V5.0
|
#include <cfloat>#include "BLI_array_utils.hh"#include "BLI_bit_span_ops.hh"#include "BLI_bounds.hh"#include "BLI_math_geom.h"#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "BLI_math_vector.hh"#include "BLI_stack.hh"#include "BLI_task.hh"#include "BLI_utildefines.h"#include "BLI_vector.hh"#include "BLI_vector_set.hh"#include "DNA_object_types.h"#include "BKE_attribute.hh"#include "BKE_ccg.hh"#include "BKE_mesh.hh"#include "BKE_object.hh"#include "BKE_paint.hh"#include "BKE_paint_bvh.hh"#include "BKE_subdiv_ccg.hh"#include "DEG_depsgraph_query.hh"#include "bmesh.hh"#include "pbvh_intern.hh"Go to the source code of this file.
Classes | |
| struct | blender::bke::pbvh::StackItem |
| struct | blender::bke::pbvh::PBVHIter |
| struct | blender::bke::pbvh::NodeTree |
| struct | blender::bke::pbvh::PositionSourceResult |
| struct | blender::bke::pbvh::RaycastData |
Namespaces | |
| namespace | blender |
| namespace | blender::bke |
| namespace | blender::bke::pbvh |
Macros | |
| #define | STACK_FIXED_DEPTH 100 |
Enumerations | |
| enum class | blender::bke::pbvh::PositionSource : int8_t { blender::bke::pbvh::Eval , blender::bke::pbvh::EvalDeform , blender::bke::pbvh::Orig , blender::bke::pbvh::RuntimeDeform } |
| enum class | blender::bke::pbvh::PlaneAABBIsect : int8_t { blender::bke::pbvh::Inside , blender::bke::pbvh::Outside , blender::bke::pbvh::Intersect } |
| int BKE_pbvh_debug_draw_gen_get | ( | blender::bke::pbvh::Node & | node | ) |
Definition at line 2541 of file pbvh.cc.
References blender::bke::pbvh::Node::debug_draw_gen_.
| int BKE_pbvh_get_grid_num_faces | ( | const Object & | object | ) |
Definition at line 1683 of file pbvh.cc.
References BKE_subdiv_ccg_key_top_level(), BLI_assert, CCGKey::grid_size, blender::bke::pbvh::Grids, SubdivCCG::grids_num, blender::bke::object::pbvh_get(), square_i(), and SculptSession::subdiv_ccg.
Referenced by stats_object_sculpt().
| int BKE_pbvh_get_grid_num_verts | ( | const Object & | object | ) |
Definition at line 1675 of file pbvh.cc.
References BKE_subdiv_ccg_key_top_level(), BLI_assert, CCGKey::grid_area, blender::bke::pbvh::Grids, SubdivCCG::grids_num, blender::bke::object::pbvh_get(), and SculptSession::subdiv_ccg.
Referenced by SCULPT_vertex_count_get(), and stats_object_sculpt().
| void BKE_pbvh_mark_rebuild_pixels | ( | blender::bke::pbvh::Tree & | pbvh | ) |
Definition at line 1698 of file pbvh.cc.
References blender::bke::pbvh::Node::Leaf, blender::bke::pbvh::Tree::nodes_, and blender::bke::pbvh::Node::RebuildPixels.
Referenced by sculpt_update_object().
| bool BKE_pbvh_node_fully_hidden_get | ( | const blender::bke::pbvh::Node & | node | ) |
Definition at line 1723 of file pbvh.cc.
References blender::bke::pbvh::Node::flag_, blender::bke::pbvh::Node::FullyHidden, and blender::bke::pbvh::Node::Leaf.
Referenced by blender::ed::sculpt_paint::mask::get_hidden_verts(), blender::ed::sculpt_paint::node_fully_masked_or_hidden(), blender::ed::sculpt_paint::hide::node_visible_verts(), and blender::draw::sculpt_batches_get_ex().
| void BKE_pbvh_node_fully_hidden_set | ( | blender::bke::pbvh::Node & | node, |
| int | fully_hidden ) |
Definition at line 1711 of file pbvh.cc.
References BLI_assert, blender::bke::pbvh::Node::flag_, blender::bke::pbvh::Node::FullyHidden, and blender::bke::pbvh::Node::Leaf.
Referenced by blender::ed::sculpt_paint::hide::invert_visibility_bmesh(), blender::ed::sculpt_paint::hide::partialvis_update_bmesh_nodes(), and blender::bke::pbvh::pbvh_bmesh_node_finalize().
| bool BKE_pbvh_node_fully_masked_get | ( | const blender::bke::pbvh::Node & | node | ) |
Definition at line 1741 of file pbvh.cc.
References blender::bke::pbvh::Node::flag_, blender::bke::pbvh::Node::FullyMasked, and blender::bke::pbvh::Node::Leaf.
Referenced by blender::ed::sculpt_paint::node_fully_masked_or_hidden().
| void BKE_pbvh_node_fully_masked_set | ( | blender::bke::pbvh::Node & | node, |
| int | fully_masked ) |
Definition at line 1729 of file pbvh.cc.
References BLI_assert, blender::bke::pbvh::Node::flag_, blender::bke::pbvh::Node::FullyMasked, and blender::bke::pbvh::Node::Leaf.
Referenced by blender::ed::sculpt_paint::mask::fill_mask_bmesh(), and blender::ed::sculpt_paint::mask::fill_mask_mesh().
| bool BKE_pbvh_node_fully_unmasked_get | ( | const blender::bke::pbvh::Node & | node | ) |
Definition at line 1759 of file pbvh.cc.
References blender::bke::pbvh::Node::flag_, blender::bke::pbvh::Node::FullyUnmasked, and blender::bke::pbvh::Node::Leaf.
| void BKE_pbvh_node_fully_unmasked_set | ( | blender::bke::pbvh::Node & | node, |
| int | fully_masked ) |
Definition at line 1747 of file pbvh.cc.
References BLI_assert, blender::bke::pbvh::Node::flag_, blender::bke::pbvh::Node::FullyUnmasked, and blender::bke::pbvh::Node::Leaf.
Referenced by blender::ed::sculpt_paint::mask::fill_mask_bmesh(), and blender::ed::sculpt_paint::mask::fill_mask_mesh().
| void BKE_pbvh_node_get_bm_orco_data | ( | const blender::bke::pbvh::BMeshNode & | node, |
| blender::Span< blender::float3 > & | r_orig_positions, | ||
| blender::Span< blender::int3 > & | r_orig_tris ) |
Definition at line 1786 of file pbvh.cc.
References blender::bke::pbvh::BMeshNode::orig_positions_, and blender::bke::pbvh::BMeshNode::orig_tris_.
Referenced by blender::ed::sculpt_paint::calc_area_normal_and_center_node_bmesh().
| float BKE_pbvh_node_get_tmin | ( | const blender::bke::pbvh::Node * | node | ) |
Definition at line 849 of file pbvh.cc.
References blender::bke::pbvh::Node::tmin_.
Referenced by blender::ed::sculpt_paint::sculpt_find_nearest_to_ray_cb(), blender::ed::sculpt_paint::sculpt_raycast_cb(), and blender::ed::sculpt_paint::dyntopo::sculpt_raycast_detail_cb().
| void BKE_pbvh_node_mark_update | ( | blender::bke::pbvh::Node & | node | ) |
Definition at line 1693 of file pbvh.cc.
References blender::bke::pbvh::Node::flag_, and blender::bke::pbvh::Node::RebuildPixels.
Referenced by BKE_sculpt_update_object_before_eval().
| void BKE_pbvh_sync_visibility_from_verts | ( | Object & | object | ) |
Definition at line 2546 of file pbvh.cc.
References IndexRange::begin(), BKE_subdiv_ccg_key_top_level(), bm, SculptSession::bm, BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_VERT, BM_VERTS_OF_MESH, blender::bke::pbvh::BMesh, e, IndexRange::end(), blender::bke::Face, faces, blender::bke::SpanAttributeWriter< T >::finish(), blender::IndexMask::from_predicate(), SubdivCCG::grid_hidden, blender::bke::pbvh::Grids, i, blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), IndexMask::is_empty(), l, blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::index_mask::masked_fill(), blender::bke::pbvh::Mesh, blender::bke::mesh_hide_face_flush(), blender::bke::mesh_hide_vert_flush(), blender::bke::object::pbvh_get(), blender::bke::MutableAttributeAccessor::remove(), blender::bke::SpanAttributeWriter< T >::span, SculptSession::subdiv_ccg, and v.
Referenced by blender::ed::sculpt_paint::hide::grid_hide_update(), blender::ed::sculpt_paint::hide::grids_show_all(), blender::ed::sculpt_paint::hide::grow_shrink_visibility_grid(), blender::ed::sculpt_paint::hide::invert_visibility_grids(), and blender::ed::sculpt_paint::undo::restore_list().
| void BKE_pbvh_vert_coords_apply | ( | blender::bke::pbvh::Tree & | pbvh, |
| const blender::Span< blender::float3 > | vert_positions ) |
Definition at line 2532 of file pbvh.cc.
References blender::bke::pbvh::store_bounds_orig().
Referenced by blender::bke::build_pbvh_from_regular_mesh(), and sculpt_update_object().