|
Blender V4.5
|
#include "btDbvt.h"Go to the source code of this file.
Classes | |
| struct | btDbvtNodeEnumerator |
Typedefs | |
| typedef btAlignedObjectArray< btDbvtNode * > | tNodeArray |
| btDbvt implementation by Nathanael Presson | |
| typedef btAlignedObjectArray< const btDbvtNode * > | tConstNodeArray |
Functions | |
| static DBVT_INLINE int | indexof (const btDbvtNode *node) |
| static DBVT_INLINE btDbvtVolume | merge (const btDbvtVolume &a, const btDbvtVolume &b) |
| static DBVT_INLINE btScalar | size (const btDbvtVolume &a) |
| static void | getmaxdepth (const btDbvtNode *node, int depth, int &maxdepth) |
| static DBVT_INLINE void | deletenode (btDbvt *pdbvt, btDbvtNode *node) |
| static void | recursedeletenode (btDbvt *pdbvt, btDbvtNode *node) |
| static DBVT_INLINE btDbvtNode * | createnode (btDbvt *pdbvt, btDbvtNode *parent, void *data) |
| static DBVT_INLINE btDbvtNode * | createnode (btDbvt *pdbvt, btDbvtNode *parent, const btDbvtVolume &volume, void *data) |
| static DBVT_INLINE btDbvtNode * | createnode (btDbvt *pdbvt, btDbvtNode *parent, const btDbvtVolume &volume0, const btDbvtVolume &volume1, void *data) |
| static void | insertleaf (btDbvt *pdbvt, btDbvtNode *root, btDbvtNode *leaf) |
| static btDbvtNode * | removeleaf (btDbvt *pdbvt, btDbvtNode *leaf) |
| static void | fetchleaves (btDbvt *pdbvt, btDbvtNode *root, tNodeArray &leaves, int depth=-1) |
| static bool | leftOfAxis (const btDbvtNode *node, const btVector3 &org, const btVector3 &axis) |
| static int | split (btDbvtNode **leaves, int count, const btVector3 &org, const btVector3 &axis) |
| static btDbvtVolume | bounds (btDbvtNode **leaves, int count) |
| static void | bottomup (btDbvt *pdbvt, btDbvtNode **leaves, int count) |
| static btDbvtNode * | topdown (btDbvt *pdbvt, btDbvtNode **leaves, int count, int bu_treshold) |
| static DBVT_INLINE btDbvtNode * | sort (btDbvtNode *n, btDbvtNode *&r) |
Definition at line 21 of file btDbvt.cpp.
btDbvt implementation by Nathanael Presson
Definition at line 20 of file btDbvt.cpp.
|
static |
Definition at line 318 of file btDbvt.cpp.
References bottomup(), createnode(), i, merge(), btDbvtNode::parent, SIMD_INFINITY, and size().
Referenced by bottomup(), btDbvt::optimizeBottomUp(), and topdown().
|
static |
Definition at line 299 of file btDbvt.cpp.
References ATTRIBUTE_ALIGNED16, bounds(), i, Merge(), and btDbvtNode::volume.
Referenced by add_region_padding(), ANIM_frame_channel_y_extents(), BKE_maskrasterize_handle_init(), blf_cursor_position_foreach_glyph(), blf_font_boundbox_foreach_glyph(), blf_font_boundbox_foreach_glyph(), blf_str_offset_foreach_glyph(), bounds(), box_clip_bounds_m4(), btRayAabb2(), calc_bbox(), calculate_fcurve_bounds_and_unhide(), calculate_pixel_distance(), calculate_selection_fcurve_bounds(), clampto_evaluate(), createAabbTreeFromChildren(), draw_line_bounds(), draw_primitive_view_impl(), ED_screen_draw_edges(), expand_key_bounds(), extrawindow_do_reshape(), get_graph_keyframe_extents(), GHOST_SetCursorGrab(), graphkeys_channel_view_pick_invoke(), graphkeys_view_selected_channels_exec(), interp_weights_poly_v2(), kdtree2d_isect_tri(), kdtree2d_isect_tri_recursive(), loggerwindow_do_reshape(), mainwindow_do_reshape(), modify_mesh(), paint_init_pivot_curves(), paint_init_pivot_grease_pencil(), paint_init_pivot_mesh(), playanim_window_size_get(), relative_pointer_handle_relative_motion_impl(), topdown(), UI_tooltip_create_from_gizmo(), updateChildTransform(), vfont_placeholder_ensure(), vfont_to_curve(), view3d_interactive_add_modal(), view3d_orbit_calc_center(), view_curve_in_graph_editor_exec(), walkStacklessQuantizedTreeAgainstRay(), walkStacklessTreeAgainstRay(), widget_draw_text(), and wm_window_grab_warp_region_is_set().
|
static |
Definition at line 115 of file btDbvt.cpp.
References createnode(), data, DBVT_INLINE, and btDbvtNode::volume.
|
static |
Definition at line 126 of file btDbvt.cpp.
References createnode(), data, DBVT_INLINE, Merge(), and btDbvtNode::volume.
|
static |
Definition at line 94 of file btDbvt.cpp.
References btAlignedAlloc, createnode(), data, DBVT_INLINE, btDbvt::m_free, and btDbvtNode::parent.
Referenced by bottomup(), btDbvt::clone(), createnode(), createnode(), createnode(), btDbvt::insert(), insertleaf(), and topdown().
|
static |
Definition at line 72 of file btDbvt.cpp.
References btAlignedFree, DBVT_INLINE, deletenode(), and btDbvt::m_free.
Referenced by deletenode(), fetchleaves(), recursedeletenode(), btDbvt::remove(), and removeleaf().
|
static |
Definition at line 230 of file btDbvt.cpp.
References deletenode(), fetchleaves(), btDbvtNode::isinternal(), and btAlignedObjectArray< T >::push_back().
Referenced by fetchleaves(), btDbvt::optimizeBottomUp(), and btDbvt::optimizeTopDown().
|
static |
Definition at line 60 of file btDbvt.cpp.
References btMax(), getmaxdepth(), and btDbvtNode::isinternal().
Referenced by getmaxdepth(), and btDbvt::maxdepth().
|
static |
Definition at line 31 of file btDbvt.cpp.
References DBVT_INLINE, indexof(), and btDbvtNode::parent.
Referenced by indexof(), insertleaf(), removeleaf(), and sort().
|
static |
Definition at line 138 of file btDbvt.cpp.
References createnode(), indexof(), insertleaf(), btDbvtNode::isleaf(), btDbvt::m_root, Merge(), btDbvtNode::parent, Select(), and btDbvtNode::volume.
Referenced by btDbvt::insert(), insertleaf(), btDbvt::update(), and btDbvt::update().
|
static |
Definition at line 248 of file btDbvt.cpp.
References btDot(), btVector3, btDbvtAabbMm::Center(), leftOfAxis(), and btDbvtNode::volume.
Referenced by leftOfAxis(), and split().
|
static |
Definition at line 37 of file btDbvt.cpp.
References ATTRIBUTE_ALIGNED16, b, DBVT_INLINE, Merge(), and merge().
|
static |
Definition at line 80 of file btDbvt.cpp.
References deletenode(), btDbvtNode::isleaf(), btDbvt::m_root, and recursedeletenode().
Referenced by btDbvt::clear(), and recursedeletenode().
|
static |
Definition at line 188 of file btDbvt.cpp.
References deletenode(), indexof(), btDbvt::m_root, Merge(), NotEqual(), btDbvtNode::parent, and removeleaf().
Referenced by btDbvt::remove(), removeleaf(), btDbvt::update(), and btDbvt::update().
|
static |
Definition at line 52 of file btDbvt.cpp.
References btVector3, DBVT_INLINE, btDbvtAabbMm::Lengths(), and size().
Referenced by _bli_buffer_append_array(), _DNA_internal_memcpy(), _DNA_internal_memzero(), _DNA_internal_swap(), _DNA_struct_default_alloc_impl(), action_create(), add_node(), add_type(), add_vn_vn(), add_vn_vn_d(), add_vn_vnvn(), add_vn_vnvn_d(), alloc_alpha_modifier(), alloc_color_modifier(), alloc_geometry_modifier(), alloc_thickness_modifier(), ApplyPrimvars(), arrow_draw_geom(), ATTR_NONNULL(), bc_decompose(), BGL_MakeBuffer(), biggest_non_image_area(), BKE_blender_user_menu_item_add(), BKE_brush_debug_print_state(), BKE_brush_size_get(), BKE_brush_size_set(), BKE_colorband_evaluate_table_rgba(), BKE_curvemapping_table_F(), BKE_curvemapping_table_RGBA(), BKE_mesh_origindex_map_create_corner_tri(), BKE_mesh_remap_calc_edges_from_mesh(), BKE_mesh_uv_vert_map_create(), BKE_object_add_from(), BKE_previewimg_clear_single(), BKE_previewimg_ensure(), BKE_previewimg_finish(), BKE_previewimg_is_finished(), BKE_previewimg_to_imbuf(), BKE_texture_mapping_init(), BKE_tracking_camera_distortion_hash(), BKE_tracking_stabilization_data_get(), BKE_vfont_builtin_register(), blend_file_thumb_clamp_size(), blend_read(), blend_write(), BLF_default_size(), BLF_draw_svg_icon(), blf_draw_svg_icon(), blf_font_size(), blf_glyph_transform_spacing(), BLF_size(), blf_size_finalizer(), BLF_str_offset_to_glyph_bounds(), BLF_svg_icon_bitmap(), blf_svg_icon_bitmap(), BLI_array_store_at_size_ensure(), BLI_endian_switch_double_array(), BLI_endian_switch_float_array(), BLI_endian_switch_int16_array(), BLI_endian_switch_int32_array(), BLI_endian_switch_int64_array(), BLI_endian_switch_uint16_array(), BLI_endian_switch_uint32_array(), BLI_endian_switch_uint64_array(), bli_executable_path_get(), BLI_file_read_as_lines(), BLI_filelist_entry_size_to_string(), BLI_memarena_alloc(), BLI_memarena_calloc(), BLI_memiter_iter_step(), BLI_memiter_iter_step_size(), BLI_rctf_init_pt_radius(), BLI_rcti_init_pt_radius(), BLI_rcti_is_valid(), BLI_sprintfN(), BLI_sprintfN_with_buffer(), BLI_thread_queue_len(), BLI_vsprintfN(), BLI_vsprintfN_with_buffer(), bli_windows_get_module_name(), bli_windows_get_module_version(), BLO_memfile_chunk_add(), bm_face_reverse_colors(), BM_mesh_copy_init_customdata_all_layers(), BMO_op_vinitf(), bmo_rotate_colors_exec(), BMO_slot_mat_set(), bottomup(), bpy_escape_identifier(), bpy_flip_name(), BPy_IDArray_ass_slice(), bpy_lib_exit(), bpy_slot_from_py(), bpy_slot_to_py(), bpy_unescape_identifier(), BPyGPU_Buffer_CreatePyObject(), brush_add(), brush_add_count_iter(), brush_defaults(), brush_painter_2d_refresh_cache(), brush_painter_imbuf_new(), brush_painter_mask_ibuf_new(), brush_scale_size_exec(), bsdf_alloc(), btAlignedAllocDefault(), btAlignedAllocInternal(), btAllocDefault(), btMprSimplexSetSize(), btPoolAlloc(), btSimplexSetSize(), buffer_from_filepath(), build_edge_mats(), build_frames(), build_pict_list_from_image_sequence(), C_Matrix_Diagonal(), cage2d_draw_box_interaction(), cage2d_draw_circle_wire(), cage2d_draw_rect_edge_handles(), cage3d_draw_box_interaction(), calctrackballvec(), calculate_autoscale_factor(), camera_stereo3d_model_matrix(), ccl_try_align(), cdf_read_data(), cdf_write_data(), check_j2k(), check_jp2(), checker_board_color_tint(), childof_evaluate(), clampto_evaluate(), clipx_rctf(), clipy_rctf(), closest_latice(), closure_alloc(), closure_alloc_extra(), cloth_build_springs(), cloth_continuum_step(), Color_ass_slice(), colorramp_to_array(), compensate_rotation_center(), computeDeltaVelocityInConstraintSpace(), copy_vn_fl(), copy_vn_i(), copy_vn_short(), count_mesh_quads(), create_mesh(), create_primitive_from_points(), CreateRegKeyAndSetValue(), cursor_point_draw(), curvemapping_color_to_array(), curvemapping_float_to_array(), curvemapping_to_array(), data_device_handle_drop(), data_offset_from_size(), def_internal_icon(), detect_retrieve_libmv_features(), diffuse_toon(), distribute_grid(), dna_write(), do_rough(), do_rough_curve(), dot_vn_vn(), draw_azone_arrow(), ED_draw_imbuf_method(), ED_preview_restart_queue_add(), ED_preview_use_image_size(), ED_region_generic_tools_region_snap_size(), EIG_svd_square_matrix(), endian_switch_array(), Euler_ass_slice(), ExportCurveSegmentsMotion(), EXPP_VectorsAreEqual(), file_draw_tooltip_custom_func(), file_read(), find_byte_not_equal_to(), follow_face_loop(), followpath_evaluate(), font_paste_wchar(), foreach_getset(), format_from_header(), get_ccgdm_data(), get_draw_size(), get_item_size(), get_proxy_filepath(), get_thumb_dir(), getCacheEntry(), gim_alloc(), gim_alloca(), gizmo_cage2d_draw_intern(), gizmo_cage2d_modal(), gizmo_cage2d_test_select(), gizmo_cage3d_draw_intern(), glossy_toon(), gmp_alloc(), GPU_color_band(), gpu_material_ramp_texture_row_set(), gpu_viewport_textures_create(), gwl_window_cursor_custom_store(), gwl_window_resize_for_backend(), gzip_read(), heap_down(), heap_is_minheap(), heapsimple_down(), icon_create_rect(), icon_draw_size(), icon_set_image(), imb_alloc_pixels(), IMB_create_gpu_texture(), IMB_get_size_in_memory(), imb_is_a_cineon(), imb_is_a_iris(), imb_is_a_jp2(), imb_is_a_jpeg(), imb_is_a_webp(), imb_load_cineon(), imb_load_dpx_cineon(), IMB_load_image_from_file_descriptor(), IMB_load_image_from_memory(), imb_load_jp2(), imb_load_jpeg(), imb_loadiris(), imb_loadwebp(), IMB_rect_size_set(), imb_test_image_read_header_from_filepath(), IMB_thumb_create(), IMB_thumb_delete(), IMB_thumb_manage(), IMB_thumb_read(), IMB_update_gpu_texture_sub(), imbuf_rgba_to_abgr(), init_stabilizer(), initialize_chain(), initialize_posetree(), interp_vn_vn(), is_inside_tile(), kernel_global_memory_copy(), kernel_osl_use(), keyboard_handle_keymap(), kill_selection(), len_squared_vn(), libmv_getFeature(), lineart_list_append_pointer_pool_sized(), lineart_list_append_pointer_pool_sized_thread(), lineart_mem_acquire(), lineart_mem_acquire_thread(), lineart_mem_new_static_pool(), list_push_pointer_static_sized(), loc_eul_size_to_mat4(), loc_eulO_size_to_mat4(), loc_quat_size_to_mat4(), loc_rot_size_to_mat4(), logimage_fread(), logimage_fwrite(), logImageIsCineon(), logImageIsDpx(), logImageOpenFromMemory(), lookup_table_read(), M_imbuf_new(), main(), mat3_to_rot_size(), mat3_to_size(), mat4_decompose(), mat4_to_loc_rot_size(), mat4_to_size(), mat4_to_size_fix_shear(), mathutils_array_parse_alloc_vi(), mathutils_array_parse_alloc_viseq(), mathutils_array_parse_fast(), mathutils_int_array_parse(), Matrix_ass_slice(), Matrix_decompose(), Matrix_str(), Matrix_to_scale(), MEM_calloc_arrayN(), MEM_guarded_calloc_arrayN(), MEM_guarded_calloc_arrayN_aligned(), MEM_guarded_malloc_arrayN(), MEM_guarded_malloc_arrayN_aligned(), MEM_lockfree_calloc_arrayN(), MEM_lockfree_calloc_arrayN_aligned(), MEM_lockfree_malloc_arrayN(), MEM_lockfree_malloc_arrayN_aligned(), MEM_malloc_arrayN(), memiter_string_test(), memiter_words10k_test(), memory_read_mmap(), memory_read_raw(), memory_source(), memory_usage_block_alloc(), memory_usage_block_free(), mesh_island_to_astar_graph_edge_process(), mesh_texture_space(), meshdeform_bind_floodfill(), meshdeform_dynamic_bind(), meshdeform_index(), missing_files_find__recursive(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), movieclip_build_proxy_ibuf(), msg_to_bytes(), mul_vn_db(), mul_vn_fl(), mul_vn_vn(), mul_vn_vn_fl(), mul_vn_vnvn(), multires_reshape_apply_base_refit_base_mesh(), negate_vn(), negate_vn_vn(), new_modifier(), next_lattice(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), normalEditModifier_do_radial(), normalize_vn(), normalize_vn_vn(), orthogonalize_m3(), orthogonalize_m4(), osl_allocate_closure_component(), osl_allocate_weighted_closure_component(), pad_pixels(), paint_2d_stroke(), panel_draw_aligned_widgets(), parse_expr(), particle_system_minmax(), particles_fluid_step(), path_read_compressed_text(), path_read_text(), pe_brush_size_get(), playanim_window_zoom(), point_density_texture_space(), prefetch_read_file_to_memory(), prefetch_task_func(), prev_lattice(), proxy_task_func(), proxy_thread_next_frame(), ptcache_add_extra_data(), ptcache_file_compressed_read(), ptcache_file_compressed_write(), ptcache_file_read(), ptcache_file_write(), py_blf_size(), py_imbuf_resize(), PyC_UnicodeFromBytesAndSize(), pygpu_state_point_size_set(), pygpu_texture__tp_new(), pyprop_array_foreach_getset(), Quaternion_ass_slice(), Quaternion_new(), rand_vn(), range_fl(), range_fl(), range_vn_fl(), range_vn_i(), range_vn_u(), rct_fits(), reconstruct_retrieve_libmv_tracks(), rect_realloc_16bytes(), rect_realloc_4bytes(), rna_builtin_properties_lookup_string(), rna_construct_function_name(), rna_construct_wrapper_function_name(), rna_find_sdna_member(), RNA_parameter_list_create(), RNA_parameter_set(), rna_parameter_size_pad(), rna_property_array_length_all_dimensions(), rna_raw_access(), rna_sortlist(), rotlike_evaluate(), rotlimit_evaluate(), round_up_to_multiple(), screen_area_trim(), screen_global_statusbar_area_refresh(), screen_global_topbar_area_refresh(), serializeRigidBodies(), set_alpha(), shade_background_pixels(), shape_preset_trias_from_rect_checkmark(), shape_preset_trias_from_rect_menu(), SIM_hair_volume_create_vertex_grid(), SIM_hair_volume_grid_clear(), SIM_hair_volume_normalize_vertex_grid(), size(), size_to_mat3(), size_to_mat4(), sizelike_evaluate(), sizelimit_evaluate(), stabilization_calculate_data(), stream_read(), stretchto_evaluate(), string_hex(), string_human_readable_size(), sub_vn_vn(), sub_vn_vnvn(), svm_node_wireframe(), tabulated_sobol_generate_4D(), TEST(), TEST(), TEST(), test_onedrive_file_is_placeholder(), thumb_create_ex(), thumb_create_or_fail(), thumbpath_from_uri(), thumbpathname_from_uri(), trackto_evaluate(), transform_evaluate(), transform_motion_decompose(), TYPED_TEST(), UI_icon_alert_imbuf_get(), UI_icon_draw_preview(), ui_icon_ensure_deferred(), ui_icon_is_preview_deferred_loading(), UI_icon_preview_to_render_size(), UI_icon_render_id(), UI_icon_render_id_ex(), ui_id_preview_image_render_size(), UI_svg_icon_bitmap(), UI_text_clip_multiline_middle(), uiItemPopoverPanel(), uiTemplateRecentFiles_tooltip_func(), undo_read(), util_aligned_free(), util_aligned_malloc(), view3d_center_camera_exec(), view3d_localview_init(), view3d_set_1_to_1_viewborder(), view_borderzoom_exec(), widget_draw_icon_centered(), widget_draw_preview_icon(), widget_draw_text_icon(), widget_scroll(), WIDGETGROUP_empty_image_refresh(), WIDGETGROUP_forcefield_refresh(), window_set_custom_cursor(), wireframe(), wm_block_about_create(), wm_block_splash_image_roundcorners_add(), wm_clipboard_text_get_impl(), wm_drag_draw_default(), wm_drag_draw_icon(), wm_drag_draw_tooltip(), xdg_toplevel_handle_configure(), zstd_read(), and zstd_read_seekable().
|
static |
Definition at line 418 of file btDbvt.cpp.
References btAssert, btSwap(), DBVT_INLINE, i, indexof(), btDbvtNode::isinternal(), btDbvtNode::parent, sort(), and btDbvtNode::volume.
Referenced by attr_create_pointiness(), bvh_reference_sort(), bvh_reference_sort_threaded(), btDbvt::optimizeIncremental(), path_cache_kernel_mark_added_and_clear_old(), rs_pointcloud_search(), singularValueDecomposition(), sort(), sort(), and WM_operator_properties_filesel().
|
static |
Definition at line 258 of file btDbvt.cpp.
References begin(), btVector3, leftOfAxis(), and split().
Referenced by area_split(), bchunk_list_ensure_min_size_last(), BKE_unit_value_as_string_adaptive(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_save_file_overwrite_dialog(), BM_edgeloop_expand(), ed_preview_draw_rect(), generator_panel_draw(), get_dface(), graph_panel_key_properties(), MOD_solidify_nonmanifold_modifyMesh(), panel_draw(), remap_faces_15(), remap_faces_19_21_22(), remap_faces_23(), remap_faces_3_6_9_12(), remap_faces_5_10(), remap_faces_7_11_13_14(), remap_uvs_15(), remap_uvs_19_21_22(), remap_uvs_23(), remap_uvs_3_6_9_12(), remap_uvs_5_10(), remap_uvs_7_11_13_14(), remdoubles_splitface(), screen_draw_dock_preview(), shader_preview_render(), sound_mixdown_exec(), split(), topdown(), undo_history_draw_menu(), unit_as_string_main(), v3d_transform_butsR(), view3d_panel_vgroup(), wm_block_insert_unicode_create(), and wm_block_splash_create().
|
static |
Definition at line 352 of file btDbvt.cpp.
References bottomup(), bounds(), btAssert, btDot(), btFabs(), btVector3, btDbvtAabbMm::Center(), createnode(), i, btDbvtNode::parent, partition, split(), topdown(), btDbvtNode::volume, and x.
Referenced by btDbvt::optimizeTopDown(), and topdown().