|
Blender V4.3
|
#include <memory>#include <optional>#include "BLI_bounds_types.hh"#include "BLI_math_vector_types.hh"#include "BLI_memory_counter_fwd.hh"#include "BKE_volume_grid_fwd.hh"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 } |
Functions | |
| void | BKE_volumes_init () |
| void | BKE_volume_init_grids (Volume *volume) |
| void * | BKE_volume_add (Main *bmain, const char *name) |
| bool | BKE_volume_is_y_up (const Volume *volume) |
| bool | BKE_volume_is_points_only (const Volume *volume) |
| void | BKE_volume_eval_geometry (Depsgraph *depsgraph, Volume *volume) |
| void | BKE_volume_data_update (Depsgraph *depsgraph, Scene *scene, Object *object) |
| void | BKE_volume_grids_backup_restore (Volume *volume, VolumeGridVector *grids, const char *filepath) |
| void | BKE_volume_batch_cache_dirty_tag (Volume *volume, int mode) |
| void | BKE_volume_batch_cache_free (Volume *volume) |
| bool | BKE_volume_load (const Volume *volume, const Main *bmain) |
| void | BKE_volume_unload (Volume *volume) |
| bool | BKE_volume_is_loaded (const Volume *volume) |
| int | BKE_volume_num_grids (const Volume *volume) |
| const char * | BKE_volume_grids_error_msg (const Volume *volume) |
| const char * | BKE_volume_grids_frame_filepath (const Volume *volume) |
| const blender::bke::VolumeGridData * | BKE_volume_grid_get (const Volume *volume, int grid_index) |
| blender::bke::VolumeGridData * | BKE_volume_grid_get_for_write (Volume *volume, int grid_index) |
| const blender::bke::VolumeGridData * | BKE_volume_grid_active_get_for_read (const Volume *volume) |
| const blender::bke::VolumeGridData * | BKE_volume_grid_find (const Volume *volume, const char *name) |
| blender::bke::VolumeGridData * | BKE_volume_grid_find_for_write (Volume *volume, const char *name) |
| bool | BKE_volume_set_velocity_grid_by_name (Volume *volume, const char *base_name) |
| Volume * | BKE_volume_new_for_eval (const Volume *volume_src) |
| Volume * | BKE_volume_copy_for_eval (const Volume *volume_src) |
| void | BKE_volume_grid_remove (Volume *volume, const blender::bke::VolumeGridData *grid) |
| void | BKE_volume_grid_add (Volume *volume, const blender::bke::VolumeGridData &grid) |
| bool | BKE_volume_grid_determinant_valid (double determinant) |
| int | BKE_volume_simplify_level (const Depsgraph *depsgraph) |
| float | BKE_volume_simplify_factor (const Depsgraph *depsgraph) |
| bool | BKE_volume_save (const Volume *volume, const Main *bmain, ReportList *reports, const char *filepath) |
| void | BKE_volume_count_memory (const Volume &volume, blender::MemoryCounter &memory) |
| std::optional< blender::Bounds< blender::float3 > > | BKE_volume_min_max (const Volume *volume) |
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 56 of file BKE_volume.hh.
| void * BKE_volume_add | ( | Main * | bmain, |
| const char * | name ) |
Definition at line 324 of file blenkernel/intern/volume.cc.
References BKE_id_new(), and ID_VO.
Referenced by BKE_object_obdata_add_from_type(), and blender::io::usd::USDVolumeReader::create_object().
Definition at line 829 of file blenkernel/intern/volume.cc.
References 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 836 of file blenkernel/intern/volume.cc.
References BKE_volume_batch_cache_free_cb.
Referenced by volume_free_data().
Definition at line 961 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 601 of file blenkernel/intern/volume.cc.
References UNUSED_VARS.
Referenced by blender::bke::VolumeComponent::count_memory().
Definition at line 773 of file blenkernel/intern/volume.cc.
References BKE_object_eval_assign_data(), BKE_object_free_derived_caches(), BKE_volume_new_for_eval(), 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 732 of file blenkernel/intern/volume.cc.
References BKE_volume_unload(), DEG_get_bmain(), DEG_get_original_id(), 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 907 of file blenkernel/intern/volume.cc.
References 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 UNUSED_VARS.
| 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 blender::nodes::node_geo_volume_cube_cc::node_geo_exec(), and blender::geometry::transform_volume().
| const blender::bke::VolumeGridData * BKE_volume_grid_find | ( | const Volume * | volume, |
| const char * | name ) |
Definition at line 918 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_get(), BKE_volume_num_grids(), and blender::bke::volume_grid::get_name().
Referenced by BKE_volume_set_velocity_grid_by_name(), drw_volume_object_grids_init(), modify_mesh(), blender::nodes::node_geo_get_named_grid_cc::node_geo_exec(), and blender::draw::volume_object_grids_init().
| blender::bke::VolumeGridData * BKE_volume_grid_find_for_write | ( | Volume * | volume, |
| const char * | name ) |
Definition at line 931 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_get(), BKE_volume_grid_get_for_write(), BKE_volume_num_grids(), and blender::bke::volume_grid::get_name().
Definition at line 875 of file blenkernel/intern/volume.cc.
References 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::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().
Definition at line 891 of file blenkernel/intern/volume.cc.
References 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 UNUSED_VARS.
Referenced by blender::nodes::node_geo_get_named_grid_cc::node_geo_exec().
| void BKE_volume_grids_backup_restore | ( | Volume * | volume, |
| VolumeGridVector * | grids, | ||
| const char * | filepath ) |
Definition at line 797 of file blenkernel/intern/volume.cc.
References BLI_assert, ID_TAG_COPIED_ON_EVAL, STREQ, and UNUSED_VARS.
Referenced by blender::deg::VolumeBackup::restore_to_volume().
| const char * BKE_volume_grids_error_msg | ( | const Volume * | volume | ) |
Definition at line 855 of file blenkernel/intern/volume.cc.
References UNUSED_VARS.
Referenced by blender::ed::object::volume_import_exec().
| const char * BKE_volume_grids_frame_filepath | ( | const Volume * | volume | ) |
Definition at line 865 of file blenkernel/intern/volume.cc.
References UNUSED_VARS.
Referenced by blender::io::hydra::VolumeData::init().
| void BKE_volume_init_grids | ( | Volume * | volume | ) |
Definition at line 313 of file blenkernel/intern/volume.cc.
References UNUSED_VARS.
Referenced by volume_blend_read_after_liblink(), and volume_init_data().
| bool BKE_volume_is_loaded | ( | const Volume * | volume | ) |
Definition at line 417 of file blenkernel/intern/volume.cc.
References UNUSED_VARS.
Referenced by BKE_volume_load().
| bool BKE_volume_is_points_only | ( | const Volume * | volume | ) |
Definition at line 656 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_get(), BKE_volume_num_grids(), blender::bke::volume_grid::get_type(), and VOLUME_GRID_POINTS.
Referenced by blender::ed::object::volume_import_exec().
| bool BKE_volume_is_y_up | ( | const Volume * | volume | ) |
Definition at line 636 of file blenkernel/intern/volume.cc.
References UNUSED_VARS.
Referenced by blender::ed::object::volume_import_exec().
Definition at line 473 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, lock, LOG, STRNCPY, UNUSED_VARS, and VOLUME_FRAME_NONE.
Referenced by BKE_volume_min_max(), BKE_volume_save(), displace_volume(), blender::io::usd::USDVolumeWriter::do_write(), drw_volume_object_grids_init(), 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 614 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_get(), BKE_volume_load(), BKE_volume_num_grids(), G, 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 drw_call_calc_orco().
Definition at line 948 of file blenkernel/intern/volume.cc.
References BKE_id_new_nomain(), Volume::display, Volume::id, ID_VO, Volume::mat, MEM_dupallocN, ID::name, Volume::render, STRNCPY, and Volume::totcol.
Referenced by BKE_volume_data_update(), and mesh_to_volume().
Definition at line 845 of file blenkernel/intern/volume.cc.
References 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::io::hydra::VolumeData::init(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_geo_exec(), 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 558 of file blenkernel/intern/volume.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_as(), BKE_reportf(), BKE_volume_load(), e, file, blender::Vector< T, InlineBufferCapacity, Allocator >::last(), RPT_ERROR, and UNUSED_VARS.
| bool BKE_volume_set_velocity_grid_by_name | ( | Volume * | volume, |
| const char * | base_name ) |
Definition at line 428 of file blenkernel/intern/volume.cc.
References BKE_volume_grid_find(), and STRNCPY.
Referenced by BKE_volume_load().
| float BKE_volume_simplify_factor | ( | const Depsgraph * | depsgraph | ) |
Definition at line 1048 of file blenkernel/intern/volume.cc.
References DAG_EVAL_RENDER, DEG_get_input_scene(), DEG_get_mode(), depsgraph, and R_SIMPLIFY.
| int BKE_volume_simplify_level | ( | const Depsgraph * | depsgraph | ) |
Definition at line 1032 of file blenkernel/intern/volume.cc.
References ceilf, DAG_EVAL_RENDER, DEG_get_input_scene(), DEG_get_mode(), depsgraph, and R_SIMPLIFY.
Referenced by volume_update_simplify_level().
| void BKE_volume_unload | ( | Volume * | volume | ) |
Definition at line 542 of file blenkernel/intern/volume.cc.
References CLOG_INFO, LOG, 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().
| void BKE_volumes_init | ( | ) |
Definition at line 130 of file blenkernel/intern/volume.cc.
Referenced by main().
|
extern |
Definition at line 826 of file blenkernel/intern/volume.cc.
Referenced by BKE_volume_batch_cache_dirty_tag(), and DRW_engines_register().
Definition at line 827 of file blenkernel/intern/volume.cc.
Referenced by BKE_volume_batch_cache_free(), and DRW_engines_register().