|
Blender V5.0
|
#include <memory>#include <optional>#include "BLI_bounds_types.hh"#include "BLI_math_matrix_types.hh"#include "BLI_math_vector_types.hh"#include "BLI_memory_counter_fwd.hh"#include "BLI_string_ref.hh"#include "BKE_volume_grid_fwd.hh"#include "DNA_volume_types.h"Go to the source code of this file.
Classes | |
| struct | blender::bke::VolumeRuntime |
Namespaces | |
| namespace | blender |
| namespace | blender::bke |
| namespace | blender::bke::bake |
Enumerations | |
| enum | { BKE_VOLUME_BATCH_DIRTY_ALL = 0 } |
Variables | |
| void(* | BKE_volume_batch_cache_dirty_tag_cb )(Volume *volume, int mode) |
| void(* | BKE_volume_batch_cache_free_cb )(Volume *volume) |
Volume data-block.
Definition in file BKE_volume.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| BKE_VOLUME_BATCH_DIRTY_ALL | |
Definition at line 60 of file BKE_volume.hh.
Definition at line 319 of file blenkernel/intern/volume.cc.
References BKE_id_new(), and name.
Referenced by BKE_object_obdata_add_from_type(), and blender::io::usd::USDVolumeReader::create_object().
| void BKE_volume_batch_cache_dirty_tag | ( | Volume * | volume, |
| int | mode ) |
Definition at line 823 of file blenkernel/intern/volume.cc.
References Volume::batch_cache, and BKE_volume_batch_cache_dirty_tag_cb.
Referenced by BKE_object_batch_cache_dirty_tag().
| void BKE_volume_batch_cache_free | ( | Volume * | volume | ) |
Definition at line 830 of file blenkernel/intern/volume.cc.
References Volume::batch_cache, and BKE_volume_batch_cache_free_cb.
Referenced by volume_free_data().
Definition at line 956 of file blenkernel/intern/volume.cc.
References BKE_id_copy_ex(), Volume::id, and LIB_ID_COPY_LOCALIZE.
Referenced by blender::bke::VolumeComponent::copy(), blender::bke::VolumeComponent::ensure_owns_direct_data(), and blender::bke::VolumeComponent::get_for_write().
| void BKE_volume_count_memory | ( | const Volume & | volume, |
| blender::MemoryCounter & | memory ) |
Definition at line 596 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by blender::bke::VolumeComponent::count_memory().
Definition at line 767 of file blenkernel/intern/volume.cc.
References BKE_object_eval_assign_data(), BKE_object_free_derived_caches(), BKE_volume_new_for_eval(), Object::data, depsgraph, Volume::id, blender::bke::ReadOnly, blender::bke::GeometrySet::replace_volume(), take_volume_ownership_from_geometry_set(), and volume_evaluate_modifiers().
Referenced by BKE_object_handle_data_update(), and blender::ed::object::object_force_modifier_update_for_bind().
| void BKE_volume_eval_geometry | ( | Depsgraph * | depsgraph, |
| Volume * | volume ) |
Definition at line 726 of file blenkernel/intern/volume.cc.
References BKE_volume_unload(), DEG_get_bmain(), DEG_get_original(), DEG_is_active(), depsgraph, Volume::runtime, volume_sequence_frame(), and volume_update_simplify_level().
Referenced by blender::deg::DepsgraphNodeBuilder::build_object_data_geometry_datablock().
| const blender::bke::VolumeGridData * BKE_volume_grid_active_get_for_read | ( | const Volume * | volume | ) |
Definition at line 901 of file blenkernel/intern/volume.cc.
References Volume::active_grid, BKE_volume_grid_get(), BKE_volume_num_grids(), and clamp_i().
Referenced by blender::draw::DRW_volume_batch_cache_get_selection_surface(), blender::draw::DRW_volume_batch_cache_get_wireframes_face(), and blender::workbench::VolumePass::object_sync_volume().
| void BKE_volume_grid_add | ( | Volume * | volume, |
| const blender::bke::VolumeGridData & | grid ) |
Adds a new grid to the volume with the name stored in the grid. The caller is responsible for making sure that the user count already contains the volume as a user.
Definition at line 1011 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by blender::nodes::geo_eval_log::ViewerNodeLog::main_geometry(), and blender::nodes::node_geo_import_vdb::node_geo_exec().
| bool BKE_volume_grid_determinant_valid | ( | double | determinant | ) |
OpenVDB crashes when the determinant of the transform matrix becomes too small.
Definition at line 1021 of file blenkernel/intern/volume.cc.
References determinant(), and UNUSED_VARS.
Referenced by BKE_volume_grid_transform_valid(), BKE_volume_voxel_size_valid(), and blender::geometry::transform_volume().
| const blender::bke::VolumeGridData * BKE_volume_grid_find | ( | const Volume * | volume, |
| blender::StringRef | name ) |
Definition at line 912 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_get(), BKE_volume_num_grids(), blender::bke::volume_grid::get_name(), i, and name.
Referenced by BKE_volume_set_velocity_grid_by_name(), modify_mesh(), and blender::draw::volume_object_grids_init().
| blender::bke::VolumeGridData * BKE_volume_grid_find_for_write | ( | Volume * | volume, |
| blender::StringRef | name ) |
Definition at line 926 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_get(), BKE_volume_grid_get_for_write(), BKE_volume_num_grids(), blender::bke::volume_grid::get_name(), i, and name.
| const blender::bke::VolumeGridData * BKE_volume_grid_get | ( | const Volume * | volume, |
| int | grid_index ) |
Definition at line 869 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by BKE_volume_grid_active_get_for_read(), BKE_volume_grid_find(), BKE_volume_grid_find_for_write(), BKE_volume_is_points_only(), BKE_volume_min_max(), blender::io::usd::USDVolumeWriter::do_write(), blender::nodes::geo_eval_log::GeometryInfoLog::GeometryInfoLog(), blender::ed::spreadsheet::VolumeDataSource::get_column_values(), blender::io::hydra::VolumeData::init(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_geo_exec(), and blender::bke::bake::serialize_geometry_set().
| blender::bke::VolumeGridData * BKE_volume_grid_get_for_write | ( | Volume * | volume, |
| int | grid_index ) |
Definition at line 885 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by BKE_volume_grid_find_for_write(), displace_volume(), and blender::geometry::transform_volume().
| void BKE_volume_grid_remove | ( | Volume * | volume, |
| const blender::bke::VolumeGridData * | grid ) |
Definition at line 996 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
| bool BKE_volume_grid_transform_valid | ( | const blender::float4x4 & | transform | ) |
Definition at line 1037 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_determinant_valid(), blender::math::determinant(), and transform().
| void BKE_volume_grids_backup_restore | ( | Volume * | volume, |
| VolumeGridVector * | grids, | ||
| const char * | filepath ) |
Definition at line 791 of file blenkernel/intern/volume.cc.
References BLI_assert, Volume::filepath, Volume::id, ID_TAG_COPIED_ON_EVAL, Volume::runtime, STREQ, ID::tag, and UNUSED_VARS.
Referenced by blender::deg::VolumeBackup::restore_to_volume().
| const char * BKE_volume_grids_error_msg | ( | const Volume * | volume | ) |
Definition at line 849 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by blender::ed::object::volume_import_exec().
| const char * BKE_volume_grids_frame_filepath | ( | const Volume * | volume | ) |
Definition at line 859 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by blender::io::hydra::VolumeData::init().
| void BKE_volume_init_grids | ( | Volume * | volume | ) |
Definition at line 308 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by volume_blend_read_after_liblink(), and volume_init_data().
| bool BKE_volume_is_loaded | ( | const Volume * | volume | ) |
Definition at line 412 of file blenkernel/intern/volume.cc.
References Volume::filepath, Volume::runtime, and UNUSED_VARS.
Referenced by BKE_volume_load().
| bool BKE_volume_is_points_only | ( | const Volume * | volume | ) |
Definition at line 651 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_get(), BKE_volume_num_grids(), blender::bke::volume_grid::get_type(), i, and VOLUME_GRID_POINTS.
Referenced by blender::ed::object::volume_import_exec().
| bool BKE_volume_is_y_up | ( | const Volume * | volume | ) |
Definition at line 631 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by blender::ed::object::volume_import_exec().
Definition at line 468 of file blenkernel/intern/volume.cc.
References BKE_volume_is_loaded(), BKE_volume_set_velocity_grid_by_name(), BLI_exists(), BLI_path_basename(), CLOG_INFO, FILE_MAX, Volume::id, lock, LOG, ID::name, Volume::runtime, STRNCPY(), UNUSED_VARS, and VOLUME_FRAME_NONE.
Referenced by BKE_volume_min_max(), BKE_volume_save(), displace_volume(), blender::io::usd::USDVolumeWriter::do_write(), blender::io::hydra::VolumeData::init(), modify_mesh(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_geo_exec(), blender::workbench::VolumePass::object_sync_volume(), blender::draw::volume_grid_cache_get(), blender::ed::object::volume_import_exec(), blender::draw::volume_object_grids_init(), and volume_update_simplify_level().
| std::optional< blender::Bounds< blender::float3 > > BKE_volume_min_max | ( | const Volume * | volume | ) |
Definition at line 609 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_get(), BKE_volume_load(), BKE_volume_num_grids(), G, i, blender::bounds::merge(), result, and UNUSED_VARS.
Referenced by BKE_object_boundbox_get(), blender::bke::GeometrySet::compute_boundbox_without_instances(), blender::io::usd::USDVolumeWriter::do_write(), and ObjectInfos::sync().
Definition at line 943 of file blenkernel/intern/volume.cc.
References BKE_id_new_nomain(), Volume::display, Volume::id, Volume::mat, MEM_dupallocN(), ID::name, Volume::render, STRNCPY(), and Volume::totcol.
Referenced by BKE_volume_data_update(), and mesh_to_volume().
| int BKE_volume_num_grids | ( | const Volume * | volume | ) |
Definition at line 839 of file blenkernel/intern/volume.cc.
References Volume::runtime, and UNUSED_VARS.
Referenced by BKE_volume_grid_active_get_for_read(), BKE_volume_grid_find(), BKE_volume_grid_find_for_write(), BKE_volume_is_points_only(), BKE_volume_min_max(), blender::ed::spreadsheet::VolumeGridsViewItem::build_row(), displace_volume(), blender::io::usd::USDVolumeWriter::do_write(), blender::nodes::geo_eval_log::GeometryInfoLog::GeometryInfoLog(), blender::io::hydra::VolumeData::init(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_geo_exec(), blender::bke::GeometrySet::operator<<, blender::bke::bake::serialize_geometry_set(), blender::ed::spreadsheet::VolumeDataSource::tot_rows(), blender::geometry::transform_volume(), and blender::draw::volume_object_grids_init().
| bool BKE_volume_save | ( | const Volume * | volume, |
| const Main * | bmain, | ||
| ReportList * | reports, | ||
| const char * | filepath ) |
Definition at line 553 of file blenkernel/intern/volume.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_as(), BKE_reportf(), BKE_volume_load(), e, blender::Vector< T, InlineBufferCapacity, Allocator >::last(), RPT_ERROR, Volume::runtime, and UNUSED_VARS.
| bool BKE_volume_set_velocity_grid_by_name | ( | Volume * | volume, |
| blender::StringRef | base_name ) |
Definition at line 423 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_find(), i, Volume::runtime, STRNCPY(), and Volume::velocity_grid.
Referenced by BKE_volume_load().
| float BKE_volume_simplify_factor | ( | const Depsgraph * | depsgraph | ) |
Definition at line 1058 of file blenkernel/intern/volume.cc.
References DAG_EVAL_RENDER, DEG_get_input_scene(), DEG_get_mode(), depsgraph, RenderData::mode, Scene::r, R_SIMPLIFY, and RenderData::simplify_volumes.
| int BKE_volume_simplify_level | ( | const Depsgraph * | depsgraph | ) |
Definition at line 1042 of file blenkernel/intern/volume.cc.
References ceilf, DAG_EVAL_RENDER, DEG_get_input_scene(), DEG_get_mode(), depsgraph, log2, RenderData::mode, Scene::r, R_SIMPLIFY, and RenderData::simplify_volumes.
Referenced by volume_update_simplify_level().
| void BKE_volume_unload | ( | Volume * | volume | ) |
Definition at line 537 of file blenkernel/intern/volume.cc.
References CLOG_INFO, Volume::id, LOG, ID::name, Volume::runtime, and UNUSED_VARS.
Referenced by BKE_packedfile_unpack_volume(), BKE_volume_eval_geometry(), blender::io::usd::USDVolumeWriter::do_write(), blender::io::hydra::VolumeData::init(), and blender::ed::object::volume_import_exec().
| bool BKE_volume_voxel_size_valid | ( | const blender::float3 & | voxel_size | ) |
References depsgraph, and transform().
Referenced by blender::nodes::node_geo_volume_cube_cc::node_geo_exec().
| void BKE_volumes_init | ( | ) |
Definition at line 124 of file blenkernel/intern/volume.cc.
Referenced by main().
|
extern |
Definition at line 820 of file blenkernel/intern/volume.cc.
Referenced by BKE_volume_batch_cache_dirty_tag(), and DRW_module_init().
Definition at line 821 of file blenkernel/intern/volume.cc.
Referenced by BKE_volume_batch_cache_free(), and DRW_module_init().