|
Blender V5.0
|
#include <BKE_paint_bvh.hh>
Inherits blender::NonCopyable.
Inherited by blender::bke::pbvh::BMeshNode, blender::bke::pbvh::GridsNode, and blender::bke::pbvh::MeshNode.
Public Types | |
| enum | Flags : uint32_t { None = 0 , Leaf = 1 << 0 , FullyHidden = 1 << 10 , FullyMasked = 1 << 11 , FullyUnmasked = 1 << 12 , UpdateTopology = 1 << 13 , RebuildPixels = 1 << 15 , TexLeaf = 1 << 16 , TopologyUpdated = 1 << 17 } |
Public Member Functions | |
| std::optional< int > | parent () const |
| const Bounds< float3 > & | bounds () const |
| const Bounds< float3 > & | bounds_orig () const |
Public Attributes | |
| int | parent_ = -1 |
| Bounds< float3 > | bounds_ = {} |
| Bounds< float3 > | bounds_orig_ = {} |
| int | children_offset_ = 0 |
| Flags | flag_ = None |
| float | tmin_ = 0.0f |
| int | debug_draw_gen_ = 0 |
| pixels::NodeData * | pixels_ = nullptr |
Definition at line 62 of file BKE_paint_bvh.hh.
| enum blender::bke::pbvh::Node::Flags : uint32_t |
| Enumerator | |
|---|---|
| None | |
| Leaf | |
| FullyHidden | |
| FullyMasked | |
| FullyUnmasked | |
| UpdateTopology | |
| RebuildPixels | |
| TexLeaf | |
| TopologyUpdated | Used internally by pbvh_bmesh.cc. |
Definition at line 66 of file BKE_paint_bvh.hh.
Definition at line 645 of file BKE_paint_bvh.hh.
References bounds_.
Referenced by blender::ed::sculpt_paint::brushes::clay_strips::calc_node_mask(), blender::ed::sculpt_paint::node_in_cylinder(), and blender::ed::sculpt_paint::node_in_sphere().
Definition at line 650 of file BKE_paint_bvh.hh.
References bounds_orig_.
Referenced by blender::ed::sculpt_paint::node_in_cylinder(), and blender::ed::sculpt_paint::node_in_sphere().
|
inline |
Definition at line 636 of file BKE_paint_bvh.hh.
References parent_.
Axis aligned min and max of all vertex positions in the node.
Definition at line 85 of file BKE_paint_bvh.hh.
Referenced by bounds(), blender::bke::pbvh::nearest_to_ray_aabb_dist_sq(), blender::bke::pbvh::node_frustum_contain_aabb(), blender::bke::pbvh::node_frustum_exclude_aabb(), blender::bke::pbvh::pbvh_bmesh_node_finalize(), blender::bke::pbvh::ray_aabb_intersect(), blender::bke::pbvh::update_node_bounds_bmesh(), blender::bke::pbvh::update_node_bounds_grids(), and blender::bke::pbvh::update_node_bounds_mesh().
Bounds from the start of current brush stroke.
Definition at line 87 of file BKE_paint_bvh.hh.
Referenced by bounds_orig(), blender::bke::pbvh::nearest_to_ray_aabb_dist_sq(), blender::bke::pbvh::pbvh_bmesh_node_finalize(), and blender::bke::pbvh::ray_aabb_intersect().
| int blender::bke::pbvh::Node::children_offset_ = 0 |
Definition at line 91 of file BKE_paint_bvh.hh.
Referenced by blender::bke::pbvh::pbvh_iter_next(), blender::bke::pbvh::pbvh_iter_next_occluded(), and blender::bke::pbvh::pixels::should_pixels_be_updated().
| int blender::bke::pbvh::Node::debug_draw_gen_ = 0 |
Used to flash colors of updated node bounding boxes in debug draw mode (when G.debug_value / bpy.app.debug_value is 889).
Definition at line 108 of file BKE_paint_bvh.hh.
Referenced by BKE_pbvh_debug_draw_gen_get().
Definition at line 95 of file BKE_paint_bvh.hh.
Referenced by BKE_pbvh_bmesh_after_stroke(), BKE_pbvh_node_fully_hidden_get(), BKE_pbvh_node_fully_hidden_set(), BKE_pbvh_node_fully_masked_get(), BKE_pbvh_node_fully_masked_set(), BKE_pbvh_node_fully_unmasked_get(), BKE_pbvh_node_fully_unmasked_set(), BKE_pbvh_node_mark_topology_update(), BKE_pbvh_node_mark_update(), blender::bke::pbvh::build_nodes_recursive_grids(), blender::bke::pbvh::build_nodes_recursive_mesh(), blender::bke::pbvh::find_nearest_to_ray_node(), blender::bke::pbvh::node_update_mask_bmesh(), blender::bke::pbvh::node_update_mask_grids(), blender::bke::pbvh::node_update_mask_mesh(), blender::bke::pbvh::node_update_visibility_bmesh(), blender::bke::pbvh::node_update_visibility_grids(), blender::bke::pbvh::node_update_visibility_mesh(), blender::bke::pbvh::pbvh_bmesh_face_create(), blender::bke::pbvh::pbvh_bmesh_face_remove(), blender::bke::pbvh::pbvh_bmesh_node_split(), blender::bke::pbvh::pbvh_bmesh_vert_create(), blender::bke::pbvh::pbvh_bmesh_vert_ownership_transfer(), blender::bke::pbvh::pbvh_bmesh_vert_remove(), blender::bke::pbvh::pbvh_iter_next(), blender::bke::pbvh::pbvh_iter_next_occluded(), blender::bke::pbvh::raycast_node_detail_bmesh(), blender::ed::sculpt_paint::sculpt_raycast_cb(), blender::bke::pbvh::search_callback_occluded(), blender::bke::pbvh::search_gather(), and blender::bke::pbvh::pixels::should_pixels_be_updated().
| int blender::bke::pbvh::Node::parent_ = -1 |
Definition at line 82 of file BKE_paint_bvh.hh.
Referenced by blender::bke::pbvh::build_nodes_recursive_grids(), blender::bke::pbvh::build_nodes_recursive_mesh(), parent(), and blender::bke::pbvh::pbvh_bmesh_node_split().
| pixels::NodeData* blender::bke::pbvh::Node::pixels_ = nullptr |
Definition at line 111 of file BKE_paint_bvh.hh.
Referenced by blender::bke::pbvh::pixels::collect_dirty_tiles(), blender::bke::pbvh::pixels::do_encode_pixels(), blender::bke::pbvh::pixels::mark_image_dirty(), blender::bke::pbvh::pixels::node_data_get(), blender::bke::pbvh::node_pixels_free(), and blender::bke::pbvh::pixels::should_pixels_be_updated().
| float blender::bke::pbvh::Node::tmin_ = 0.0f |
Used for ray-casting: how close the bounding-box is to the ray point.
Definition at line 101 of file BKE_paint_bvh.hh.
Referenced by BKE_pbvh_node_get_tmin(), blender::bke::pbvh::nearest_to_ray_aabb_dist_sq(), blender::bke::pbvh::node_tree_insert(), and blender::bke::pbvh::ray_aabb_intersect().