|
Blender V4.3
|
#include <BKE_subdiv_ccg.hh>
Inherits blender::NonCopyable.
Public Member Functions | |
Creation / evaluation | |
| ~SubdivCCG () | |
Public Member Functions inherited from blender::NonCopyable | |
| NonCopyable (const NonCopyable &other)=delete | |
| NonCopyable & | operator= (const NonCopyable &other)=delete |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable &&other)=default | |
| NonCopyable & | operator= (NonCopyable &&other)=default |
Public Attributes | ||
| blender::bke::subdiv::Subdiv * | subdiv = nullptr | |
| int | level = -1 | |
| int | grid_size = -1 | |
| int | grid_area = -1 | |
| int | grids_num = -1 | |
| blender::Array< blender::float3 > | positions | |
| blender::Array< blender::float3 > | normals | |
| blender::Array< float > | masks | |
| blender::OffsetIndices< int > | faces | |
| blender::Span< int > | grid_to_face_map | |
| blender::Array< SubdivCCGAdjacentEdge > | adjacent_edges | |
| blender::Array< SubdivCCGAdjacentVertex > | adjacent_verts | |
| blender::BitGroupVector | grid_hidden | |
| struct { | ||
| bool coords = false | ||
| bool hidden = false | ||
| } | dirty | |
| struct { | ||
| blender::Array< int > start_face_grid_index | ||
| } | cache_ | |
Definition at line 113 of file BKE_subdiv_ccg.hh.
| SubdivCCG::~SubdivCCG | ( | ) |
Definition at line 451 of file subdiv_ccg.cc.
References adjacent_edges, adjacent_verts, SubdivCCGAdjacentEdge::boundary_coords, SubdivCCGAdjacentVertex::corner_coords, blender::bke::subdiv::free(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), MEM_SAFE_FREE, and SubdivCCGAdjacentEdge::num_adjacent_faces.
| blender::Array<SubdivCCGAdjacentEdge> SubdivCCG::adjacent_edges |
Definition at line 147 of file BKE_subdiv_ccg.hh.
Referenced by BKE_subdiv_ccg_average_grids(), BKE_subdiv_ccg_average_stitch_faces(), and ~SubdivCCG().
| blender::Array<SubdivCCGAdjacentVertex> SubdivCCG::adjacent_verts |
Definition at line 152 of file BKE_subdiv_ccg.hh.
Referenced by BKE_subdiv_ccg_average_grids(), BKE_subdiv_ccg_average_stitch_faces(), and ~SubdivCCG().
| struct { ... } SubdivCCG::cache_ |
| bool SubdivCCG::coords = false |
Definition at line 170 of file BKE_subdiv_ccg.hh.
Referenced by multires_ccg_mark_as_modified(), multires_flush_sculpt_updates(), and object_update_from_subsurf_ccg().
| struct { ... } SubdivCCG::dirty |
| blender::OffsetIndices<int> SubdivCCG::faces |
Definition at line 140 of file BKE_subdiv_ccg.hh.
Referenced by BKE_subdiv_ccg_average_grids(), BKE_subdiv_ccg_average_stitch_faces(), BKE_subdiv_ccg_recalc_normals(), multires_stitch_grids(), blender::bke::pbvh::nodes_to_face_selection_grids(), and subdiv_ccg_coord_to_ptex_coord().
| int SubdivCCG::grid_area = -1 |
The number of vertices in each grid (grid_size ^2).
Definition at line 126 of file BKE_subdiv_ccg.hh.
Referenced by BKE_subdiv_ccg_grid_hidden_ensure(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::ed::sculpt_paint::boundary::do_bend_brush(), blender::ed::sculpt_paint::do_clay_brush(), blender::ed::sculpt_paint::do_clay_strips_brush(), blender::ed::sculpt_paint::do_clay_thumb_brush(), blender::ed::sculpt_paint::do_displacement_eraser_brush(), blender::ed::sculpt_paint::do_draw_vector_displacement_brush(), blender::ed::sculpt_paint::do_elastic_deform_brush(), blender::ed::sculpt_paint::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::do_grab_brush(), blender::ed::sculpt_paint::boundary::do_inflate_brush(), blender::ed::sculpt_paint::do_inflate_brush(), blender::ed::sculpt_paint::do_layer_brush(), blender::ed::sculpt_paint::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::do_pinch_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::do_rotate_brush(), blender::ed::sculpt_paint::boundary::do_slide_brush(), blender::ed::sculpt_paint::boundary::do_smooth_brush(), blender::ed::sculpt_paint::do_snake_hook_brush(), blender::ed::sculpt_paint::do_thumb_brush(), blender::ed::sculpt_paint::do_topology_slide_brush(), blender::ed::sculpt_paint::boundary::do_twist_brush(), blender::ed::sculpt_paint::project::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::auto_mask::init_face_sets_masking(), blender::ed::sculpt_paint::offset_positions(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), and blender::ed::sculpt_paint::transform_radius_elastic().
| blender::BitGroupVector SubdivCCG::grid_hidden |
Store the visibility of the items in each grid. If empty, everything is visible.
Definition at line 155 of file BKE_subdiv_ccg.hh.
Referenced by BKE_pbvh_sync_visibility_from_verts(), BKE_subdiv_ccg_grid_hidden_ensure(), BKE_subdiv_ccg_grid_hidden_free(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_grids(), blender::ed::sculpt_paint::mask::copy_old_hidden_mask_grids(), blender::ed::sculpt_paint::boundary::edit_data_init_grids(), blender::ed::sculpt_paint::flood_fill::FillDataGrids::execute(), blender::ed::sculpt_paint::fake_neighbor_search(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::boundary::get_closest_boundary_vert_grids(), blender::ed::sculpt_paint::pose::grow_factors_grids(), blender::ed::sculpt_paint::boundary::is_vert_in_editable_boundary_grids(), blender::ed::sculpt_paint::nearest_vert_calc_grids(), blender::bke::pbvh::node_raycast_grids(), blender::bke::pbvh::pbvh_grids_node_nearest_to_ray(), blender::ed::sculpt_paint::undo::store_vert_visibility_grids(), and blender::bke::pbvh::update_visibility_grids().
| int SubdivCCG::grid_size = -1 |
Definition at line 124 of file BKE_subdiv_ccg.hh.
Referenced by adjacent_vertices_index_from_adjacent_edge(), BKE_subdiv_ccg_check_coord_valid(), BKE_subdiv_ccg_coarse_mesh_adjacency_info_get(), BKE_subdiv_ccg_neighbor_coords_get(), BKE_subdiv_ccg_topology_counters(), coord_at_next_col(), coord_at_next_row(), blender::ed::sculpt_paint::undo::fill_node_data_grids(), is_boundary_grid_coord(), is_corner_grid_coord(), is_inner_edge_grid_coordinate(), blender::ed::sculpt_paint::undo::push_begin_ex(), subdiv_ccg_coord_to_ptex_coord(), and blender::ed::sculpt_paint::undo::topology_matches().
| blender::Span<int> SubdivCCG::grid_to_face_map |
Definition at line 142 of file BKE_subdiv_ccg.hh.
Referenced by BKE_subdiv_ccg_grid_to_face_index(), blender::draw::pbvh::calc_material_indices(), blender::draw::pbvh::calc_use_flat_layout(), blender::bke::pbvh::node_face_indices_calc_grids(), blender::bke::pbvh::nodes_to_face_selection_grids(), and blender::ed::sculpt_paint::mask::sculpt_mask_init_exec().
| int SubdivCCG::grids_num = -1 |
The number of grids (face corners) in the geometry (#faces.total_size()).
Definition at line 128 of file BKE_subdiv_ccg.hh.
Referenced by BKE_pbvh_get_grid_num_faces(), BKE_pbvh_get_grid_num_verts(), BKE_subdiv_ccg_check_coord_valid(), BKE_subdiv_ccg_grid_hidden_ensure(), BKE_subdiv_ccg_neighbor_coords_get(), BKE_subdiv_ccg_topology_counters(), blender::ed::sculpt_paint::pose::calc_average_face_set_center(), blender::ed::sculpt_paint::filter::calc_limit_surface_positions(), blender::ed::sculpt_paint::islands::calc_topology_islands_grids(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_fk_grids(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_grids(), blender::ed::sculpt_paint::boundary::init_falloff_grids(), multires_reshape_assign_final_coords_from_ccg(), blender::ed::sculpt_paint::undo::push_begin_ex(), blender::ed::sculpt_paint::undo::restore_list(), and blender::ed::sculpt_paint::undo::topology_matches().
| bool SubdivCCG::hidden = false |
Definition at line 172 of file BKE_subdiv_ccg.hh.
Referenced by multires_ccg_mark_as_modified(), multires_flush_sculpt_updates(), and object_update_from_subsurf_ccg().
| int SubdivCCG::level = -1 |
Definition at line 121 of file BKE_subdiv_ccg.hh.
Referenced by BKE_subdiv_ccg_key_top_level(), and multires_reshape_context_create_from_ccg().
| blender::Array<float> SubdivCCG::masks |
Optional mask values with the same indexing as positions.
Definition at line 137 of file BKE_subdiv_ccg.hh.
Referenced by blender::ed::sculpt_paint::expand::any_nonzero_mask(), blender::ed::sculpt_paint::mask::apply_mask_from_settings(), blender::ed::sculpt_paint::mask::copy_old_hidden_mask_grids(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), blender::ed::sculpt_paint::do_mask_brush(), blender::ed::sculpt_paint::mask::duplicate_mask(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::mask::fill_mask_grids(), blender::ed::sculpt_paint::mask::gather_mask_grids(), blender::ed::sculpt_paint::mask::grow_mask_grids(), blender::ed::sculpt_paint::mask::increase_contrast_mask_grids(), blender::ed::sculpt_paint::boundary::init_falloff_grids(), multires_reshape_assign_final_coords_from_ccg(), OVERLAY_sculpt_cache_populate(), blender::ed::sculpt_paint::hide::partialvis_masked_update_grids(), blender::ed::sculpt_paint::undo::restore_mask_grids(), blender::ed::sculpt_paint::mask::scatter_mask_grids(), blender::ed::sculpt_paint::mask::sharpen_mask_grids(), blender::ed::sculpt_paint::mask::shrink_mask_grids(), blender::ed::sculpt_paint::mask::smooth_mask_grids(), blender::ed::sculpt_paint::undo::store_mask_grids(), blender::bke::pbvh::update_mask_grids(), blender::ed::sculpt_paint::expand::update_mask_grids(), and blender::ed::sculpt_paint::expand::write_mask_data().
| blender::Array<blender::float3> SubdivCCG::normals |
Vertex normals with the same indexing as positions.
Definition at line 135 of file BKE_subdiv_ccg.hh.
Referenced by blender::ed::sculpt_paint::boundary::bend_data_init_grids(), BKE_subdiv_ccg_recalc_normals(), BKE_subdiv_ccg_update_normals(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_grids(), blender::ed::sculpt_paint::auto_mask::calc_blurred_cavity_grids(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::smooth::calc_relaxed_translations_grids(), blender::ed::sculpt_paint::cloth::copy_normals_to_array(), blender::ed::sculpt_paint::gather_grids_normals(), blender::ed::sculpt_paint::auto_mask::normal_occlusion_automasking_fill(), blender::ed::sculpt_paint::expand::normals_falloff_create(), blender::ed::sculpt_paint::hide::partialvis_gesture_update_grids(), and blender::ed::sculpt_paint::undo::store_positions_grids().
| blender::Array<blender::float3> SubdivCCG::positions |
Positions represent limit surface, with displacement applied. The vertices in each grid are stored in contiguous chunks of size grid_area in the same order.
Definition at line 133 of file BKE_subdiv_ccg.hh.
Referenced by SculptSession::active_vert_position(), blender::ed::sculpt_paint::apply_translations(), blender::ed::sculpt_paint::boundary::bend_data_init_grids(), blender::ed::sculpt_paint::pose::calc_average_face_set_center(), blender::ed::sculpt_paint::boundary::calc_average_position(), blender::ed::sculpt_paint::auto_mask::calc_blurred_cavity_grids(), blender::ed::sculpt_paint::pose::calc_pose_origin_and_factor_grids(), blender::ed::sculpt_paint::smooth::calc_relaxed_translations_grids(), blender::ed::sculpt_paint::filter::calc_sharpen_filter(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::ed::sculpt_paint::islands::calc_topology_islands_grids(), blender::ed::sculpt_paint::cloth::copy_positions_to_array(), blender::ed::sculpt_paint::boundary::data_init_grids(), blender::ed::sculpt_paint::boundary::do_bend_brush(), blender::ed::sculpt_paint::do_clay_brush(), blender::ed::sculpt_paint::do_clay_strips_brush(), blender::ed::sculpt_paint::do_clay_thumb_brush(), blender::ed::sculpt_paint::do_displacement_eraser_brush(), blender::ed::sculpt_paint::do_draw_vector_displacement_brush(), blender::ed::sculpt_paint::do_elastic_deform_brush(), blender::ed::sculpt_paint::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::do_grab_brush(), blender::ed::sculpt_paint::boundary::do_inflate_brush(), blender::ed::sculpt_paint::do_inflate_brush(), blender::ed::sculpt_paint::do_layer_brush(), blender::ed::sculpt_paint::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::do_pinch_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::do_rotate_brush(), blender::ed::sculpt_paint::boundary::do_slide_brush(), blender::ed::sculpt_paint::boundary::do_smooth_brush(), blender::ed::sculpt_paint::do_snake_hook_brush(), blender::ed::sculpt_paint::do_thumb_brush(), blender::ed::sculpt_paint::do_topology_slide_brush(), blender::ed::sculpt_paint::boundary::do_twist_brush(), blender::ed::sculpt_paint::mask::duplicate_mask(), blender::ed::sculpt_paint::boundary::edit_data_init_grids(), blender::ed::sculpt_paint::fake_neighbor_search(), blender::ed::sculpt_paint::auto_mask::fill_topology_automasking_factors_grids(), blender::ed::sculpt_paint::find_symm_verts_grids(), blender::bke::pbvh::Tree::from_grids(), blender::ed::sculpt_paint::gather_grids_positions(), blender::ed::sculpt_paint::project::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::boundary::get_closest_boundary_vert_grids(), blender::ed::sculpt_paint::pose::grow_factors_grids(), blender::ed::sculpt_paint::boundary::indices_init_grids(), blender::ed::sculpt_paint::boundary::init_boundary_grids(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_grids(), multires_reshape_assign_final_coords_from_ccg(), blender::ed::sculpt_paint::nearest_vert_calc_grids(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_grids(), blender::bke::pbvh::node_raycast_grids(), blender::ed::sculpt_paint::auto_mask::normal_occlusion_automasking_fill(), blender::ed::sculpt_paint::offset_positions(), blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive(), blender::ed::sculpt_paint::hide::partialvis_gesture_update_grids(), blender::bke::pbvh::pbvh_grids_node_nearest_to_ray(), blender::ed::sculpt_paint::expand::reposition_pivot(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), blender::ed::sculpt_paint::boundary::slide_data_init_grids(), blender::ed::sculpt_paint::expand::spherical_falloff_create(), blender::ed::sculpt_paint::undo::store_positions_grids(), blender::ed::sculpt_paint::transform_radius_elastic(), blender::ed::sculpt_paint::boundary::twist_data_init_grids(), blender::bke::pbvh::update_bounds(), and blender::ed::sculpt_paint::expand::update_mask_grids().
| blender::Array<int> SubdivCCG::start_face_grid_index |
Definition at line 178 of file BKE_subdiv_ccg.hh.
Referenced by BKE_subdiv_ccg_start_face_grid_index_ensure(), and BKE_subdiv_ccg_start_face_grid_index_get().
| blender::bke::subdiv::Subdiv* SubdivCCG::subdiv = nullptr |
Definition at line 118 of file BKE_subdiv_ccg.hh.
Referenced by BKE_subdiv_ccg_eval_limit_point(), BKE_subdiv_ccg_start_face_grid_index_ensure(), multires_reshape_context_create_from_ccg(), and subdiv_ccg_coord_to_ptex_coord().