|
Blender V4.3
|
#include <algorithm>#include <cstdio>#include <cstdlib>#include <cstring>#include <sys/stat.h>#include <sys/types.h>#include <dirent.h>#include "CLG_log.h"#include "MEM_guardedalloc.h"#include "DNA_ID.h"#include "DNA_collection_types.h"#include "DNA_dynamicpaint_types.h"#include "DNA_fluid_types.h"#include "DNA_modifier_types.h"#include "DNA_object_force_types.h"#include "DNA_object_types.h"#include "DNA_particle_types.h"#include "DNA_rigidbody_types.h"#include "DNA_scene_types.h"#include "BLI_blenlib.h"#include "BLI_endian_switch.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_string.h"#include "BLI_time.h"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "BKE_appdir.hh"#include "BKE_cloth.hh"#include "BKE_collection.hh"#include "BKE_dynamicpaint.h"#include "BKE_fluid.h"#include "BKE_global.hh"#include "BKE_lib_id.hh"#include "BKE_main.hh"#include "BKE_modifier.hh"#include "BKE_object.hh"#include "BKE_particle.h"#include "BKE_pointcache.h"#include "BKE_scene.hh"#include "BKE_softbody.h"#include "BLO_read_write.hh"#include "DEG_depsgraph_query.hh"#include "BIK_api.h"Go to the source code of this file.
Macros | |
| #define | LZO_OUT_LEN(size) ((size) + (size) / 16 + 64 + 3) |
| #define | PTCACHE_DATA_FROM(data, type, from) |
| #define | PTCACHE_DATA_TO(data, type, index, to) |
| #define | DURIAN_POINTCACHE_LIB_OK 1 |
| #define | DPAINT_CACHE_VERSION "1.01" |
| #define | MAX_PTCACHE_PATH FILE_MAX |
| #define | MAX_PTCACHE_FILE (FILE_MAX * 2) |
Variables | |
| static CLG_LogRef | LOG = {"bke.pointcache"} |
| static int | ptcache_data_size [] |
| static int | ptcache_extra_datasize [] |
| #define DPAINT_CACHE_VERSION "1.01" |
Definition at line 676 of file pointcache.cc.
Referenced by ptcache_dynamicpaint_read(), and ptcache_dynamicpaint_write().
| #define DURIAN_POINTCACHE_LIB_OK 1 |
Definition at line 104 of file pointcache.cc.
| #define LZO_OUT_LEN | ( | size | ) | ((size) + (size) / 16 + 64 + 3) |
Definition at line 83 of file pointcache.cc.
Referenced by ptcache_dynamicpaint_write(), ptcache_file_compressed_write(), and ptcache_mem_frame_to_disk().
Definition at line 1309 of file pointcache.cc.
Referenced by BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), ptcache_file_open(), ptcache_filepath(), and ptcache_filepath_ext_append().
Definition at line 1308 of file pointcache.cc.
Referenced by BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), and ptcache_path().
| #define PTCACHE_DATA_FROM | ( | data, | |
| type, | |||
| from ) |
Definition at line 89 of file pointcache.cc.
Referenced by ptcache_cloth_write(), ptcache_particle_write(), ptcache_rigidbody_write(), and ptcache_softbody_write().
| #define PTCACHE_DATA_TO | ( | data, | |
| type, | |||
| index, | |||
| to ) |
Definition at line 95 of file pointcache.cc.
Referenced by BKE_ptcache_make_particle_key(), ptcache_cloth_read(), ptcache_particle_read(), ptcache_rigidbody_interpolate(), ptcache_rigidbody_read(), and ptcache_softbody_read().
| PointCache * BKE_ptcache_add | ( | ListBase * | ptcaches | ) |
Definition at line 3019 of file pointcache.cc.
References BLI_addtail(), PointCache::endframe, PointCache::index, MEM_callocN, PointCache::startframe, and PointCache::step.
Referenced by BKE_fluid_modifier_create_type_data(), BKE_modifier_blend_write(), blo_do_versions_280(), blo_do_versions_pre250(), dynamicPaint_createNewSurface(), init_data(), object_add_or_copy_particle_system(), ptcache_add_new_exec(), and sbNew().
| void BKE_ptcache_bake | ( | struct PTCacheBaker * | baker | ) |
Bake cache or simulate to current frame with settings defined in the baker. if bake is not given run simulations to current frame.
Definition at line 3161 of file pointcache.cc.
References PTCacheBaker::anim_init, PTCacheBaker::bake, PTCacheBaker::bake_job, BKE_ptcache_id_clear(), BKE_ptcache_id_from_particles(), BKE_ptcache_ids_from_object(), BKE_ptcache_write(), BKE_scene_graph_update_for_newframe(), BLI_assert, BLI_freelistN(), BLI_time_now_seconds(), PTCacheID::cache, PTCacheID::calldata, DEG_get_evaluated_object(), depsgraph, PTCacheBaker::depsgraph, PointCache::endframe, ListBase::first, PointCache::flag, float, G, GS, ID_OB, PointCache::last_exact, LISTBASE_FOREACH, MAX_DUPLI_RECUR, MAXFRAME, ID::name, PTCacheID::next, Base::object, PTCacheID::owner_id, ParticleSystem::part, PART_EMITTER, PART_HAIR, PART_PHYS_KEYED, ParticleSettings::phystype, PTCacheBaker::pid, printf, psys_eval_get(), psys_get_pointcache_start_end(), PTCACHE_BAKED, PTCACHE_BAKING, PTCACHE_CLEAR_ALL, PTCACHE_DISK_CACHE, ptcache_dt_to_str(), PTCACHE_OUTDATED, PTCACHE_REDO_NEEDED, PTCACHE_SIMULATION_VALID, PTCACHE_TYPE_PARTICLES, PTCACHE_TYPE_RIGIDBODY, PTCACHE_TYPE_SMOKE_DOMAIN, PTCACHE_TYPE_SMOKE_HIGHRES, PTCacheBaker::quick_step, PTCacheBaker::render, PTCacheBaker::scene, SETLOOPER_VIEW_LAYER, PointCache::startframe, ParticleSettings::type, PTCacheID::type, PTCacheBaker::update_progress, and PTCacheBaker::view_layer.
Referenced by BKE_ptcache_quick_cache_all(), ptcache_bake_exec(), ptcache_job_startjob(), and update_physics_cache().
| void BKE_ptcache_blend_read_data | ( | BlendDataReader * | reader, |
| ListBase * | ptcaches, | ||
| PointCache ** | ocache, | ||
| int | force_disk ) |
Definition at line 3899 of file pointcache.cc.
References BLO_read_struct, BLO_read_struct_list, direct_link_pointcache(), ListBase::first, ListBase::last, LISTBASE_FOREACH, and PTCACHE_DISK_CACHE.
Referenced by BKE_modifier_blend_read_data(), BKE_particle_system_blend_read_data(), object_blend_read_data(), and scene_blend_read_data().
| void BKE_ptcache_blend_write | ( | BlendWriter * | writer, |
| ListBase * | ptcaches ) |
Definition at line 3805 of file pointcache.cc.
References BKE_ptcache_data_size(), BLI_assert_unreachable, BLO_write_float_array(), BLO_write_struct, BLO_write_struct_array, BLO_write_uint32_array(), BPHYS_DATA_BOIDS, BPHYS_DATA_INDEX, BPHYS_EXTRA_CLOTH_ACCELERATION, BPHYS_EXTRA_FLUID_SPRINGS, BPHYS_TOT_DATA, float, LISTBASE_FOREACH, and PTCACHE_DISK_CACHE.
Referenced by BKE_modifier_blend_write(), BKE_particle_system_blend_write(), object_blend_write(), and scene_blend_write().
| PointCache * BKE_ptcache_copy_list | ( | ListBase * | ptcaches_new, |
| const ListBase * | ptcaches_old, | ||
| const int | flag ) |
Definition at line 3105 of file pointcache.cc.
References BLI_addtail(), BLI_listbase_clear(), ListBase::first, flag, LIB_ID_COPY_CACHES, PointCache::next, and ptcache_copy().
Size of cache data type.
Definition at line 1706 of file pointcache.cc.
References ptcache_data_size.
Referenced by BKE_ptcache_blend_write(), and direct_link_pointcache_mem().
| void BKE_ptcache_disk_cache_rename | ( | struct PTCacheID * | pid, |
| const char * | name_src, | ||
| const char * | name_dst ) |
Rename all disk cache files with a new name. Doesn't touch the actual content of the files.
Definition at line 3527 of file pointcache.cc.
References BLI_path_join, BLI_rename_overwrite(), PTCacheID::cache, closedir(), dirent::d_name, len, MAX_PTCACHE_FILE, MAX_PTCACHE_PATH, PointCache::name, opendir(), ptcache_filepath(), ptcache_filepath_ext_append(), ptcache_frame_from_filename(), ptcache_path(), readdir(), STREQ, STREQLEN, and STRNCPY.
| void BKE_ptcache_disk_to_mem | ( | struct PTCacheID * | pid | ) |
Convert disk cache to memory cache.
Definition at line 3431 of file pointcache.cc.
References BKE_ptcache_id_clear(), BLI_addtail(), PTCacheID::cache, PointCache::endframe, PointCache::flag, PointCache::mem_cache, PTCACHE_BAKED, PTCACHE_CLEAR_ALL, ptcache_disk_frame_to_mem(), and PointCache::startframe.
Referenced by BKE_ptcache_toggle_disk_cache(), and psys_make_temp_pointcache().
| void BKE_ptcache_foreach_object_cache | ( | Object & | ob, |
| Scene & | scene, | ||
| bool | duplis, | ||
| PointCacheIdFn | fn ) |
Definition at line 1255 of file pointcache.cc.
References foreach_object_ptcache().
Referenced by blender::deg::DepsgraphRelationBuilder::build_object_pointcache().
| void BKE_ptcache_free | ( | PointCache * | cache | ) |
Definition at line 3046 of file pointcache.cc.
References BKE_ptcache_free_mem(), PointCache::cached_frames, PointCache::edit, PointCache::free_edit, PointCache::mem_cache, and MEM_freeN().
Referenced by BKE_ptcache_free_list(), and ptcache_remove_exec().
| void BKE_ptcache_free_list | ( | ListBase * | ptcaches | ) |
Definition at line 3057 of file pointcache.cc.
References BKE_ptcache_free(), and BLI_pophead().
Referenced by BKE_fluid_modifier_copy(), BKE_modifier_blend_write(), BKE_rigidbody_free_world(), copy_data(), dynamicPaint_freeSurface(), dynamicPaint_Modifier_copy(), fluid_modifier_freeDomain(), free_data(), psys_free(), and sbFree().
| void BKE_ptcache_free_mem | ( | ListBase * | mem_cache | ) |
Definition at line 3034 of file pointcache.cc.
References BLI_freelistN(), ListBase::first, PTCacheMem::next, and ptcache_mem_clear().
Referenced by BKE_ptcache_free(), psys_clear_temp_pointcache(), undoptcache_free_data(), and undoptcache_to_editcache().
Definition at line 2594 of file pointcache.cc.
References BKE_ptcache_id_exist(), BLI_delete(), BLI_freelinkN(), BLI_freelistN(), BLI_path_join, BLI_strncpy(), PTCacheID::cache, PointCache::cached_frames, closedir(), dirent::d_name, PointCache::endframe, ListBase::first, PointCache::flag, PTCacheMem::frame, PointCache::last_exact, len, ID::lib, MAX_PTCACHE_FILE, MAX_PTCACHE_PATH, MEM_allocN_len, PointCache::mem_cache, PTCacheMem::next, opendir(), PTCacheID::owner_id, PTCACHE_BAKED, PTCACHE_CLEAR_AFTER, PTCACHE_CLEAR_ALL, PTCACHE_CLEAR_BEFORE, PTCACHE_CLEAR_FRAME, PTCACHE_DISK_CACHE, ptcache_filepath(), ptcache_filepath_ext_append(), PTCACHE_FLAG_INFO_DIRTY, ptcache_frame_from_filename(), PTCACHE_IGNORE_CLEAR, ptcache_mem_clear(), ptcache_path(), readdir(), PointCache::startframe, and STREQLEN.
Referenced by BKE_ptcache_bake(), BKE_ptcache_disk_to_mem(), BKE_ptcache_id_reset(), BKE_ptcache_mem_to_disk(), BKE_ptcache_read(), BKE_ptcache_toggle_disk_cache(), cloth_clear_cache(), free_hair(), psys_changed_type(), psys_prepare_physics(), ptcache_mem_frame_to_disk(), ptcache_write_needed(), ptcache_write_stream(), and system_step().
Definition at line 2746 of file pointcache.cc.
References BLI_exists(), PTCacheID::cache, PointCache::cached_frames, PointCache::endframe, ListBase::first, PointCache::flag, PTCacheMem::frame, MAX_PTCACHE_FILE, PointCache::mem_cache, PTCacheMem::next, PTCACHE_DISK_CACHE, ptcache_filepath(), and PointCache::startframe.
Referenced by BKE_ptcache_id_clear(), BKE_ptcache_read(), BKE_ptcache_update_info(), ptcache_find_frames_around(), ptcache_write(), and ptcache_write_needed().
| PTCacheID BKE_ptcache_id_find | ( | struct Object * | ob, |
| struct Scene * | scene, | ||
| struct PointCache * | cache ) |
| ob | Optional, may be NULL. |
| scene | Optional may be NULL. |
Definition at line 1094 of file pointcache.cc.
References BKE_ptcache_ids_from_object(), BLI_freelistN(), LISTBASE_FOREACH, MAX_DUPLI_RECUR, and result.
Referenced by ptcache_add_new_exec(), ptcache_baker_create(), and ptcache_remove_exec().
| void BKE_ptcache_id_from_cloth | ( | PTCacheID * | pid, |
| Object * | ob, | ||
| ClothModifierData * | clmd ) |
Definition at line 964 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, BPHYS_DATA_XCONST, PTCacheID::cache, PTCacheID::cache_ptr, PTCacheID::calldata, PTCacheID::data_types, PTCacheID::default_step, PTCacheID::error, PTCacheID::file_type, Object::id, PointCache::index, PTCacheID::info_types, PTCacheID::interpolate_extra_data, PTCacheID::interpolate_point, PTCacheID::max_step, PTCacheID::owner_id, ClothModifierData::point_cache, ptcache_basic_header_read(), ptcache_basic_header_write(), ptcache_cloth_error(), ptcache_cloth_extra_read(), ptcache_cloth_extra_write(), ptcache_cloth_interpolate(), ptcache_cloth_read(), ptcache_cloth_totpoint(), ptcache_cloth_write(), PTCACHE_FILE_PTCACHE, PTCACHE_TYPE_CLOTH, ClothModifierData::ptcaches, PTCacheID::ptcaches, PTCacheID::read_extra_data, PTCacheID::read_header, PTCacheID::read_point, PTCacheID::read_stream, PTCacheID::stack_index, PTCacheID::totpoint, PTCacheID::totwrite, PTCacheID::type, PTCacheID::write_extra_data, PTCacheID::write_header, PTCacheID::write_point, and PTCacheID::write_stream.
Referenced by BKE_ptcache_object_reset(), cloth_clear_cache(), clothModifier_do(), and foreach_object_modifier_ptcache().
| void BKE_ptcache_id_from_dynamicpaint | ( | PTCacheID * | pid, |
| Object * | ob, | ||
| DynamicPaintSurface * | surface ) |
Definition at line 1018 of file pointcache.cc.
References BPHYS_DATA_DYNAMICPAINT, PTCacheID::cache, PTCacheID::cache_ptr, PTCacheID::calldata, PTCacheID::data_types, PTCacheID::default_step, PTCacheID::error, PTCacheID::file_type, Object::id, PointCache::index, PTCacheID::info_types, PTCacheID::interpolate_extra_data, PTCacheID::interpolate_point, PTCacheID::max_step, PTCacheID::owner_id, ptcache_basic_header_read(), ptcache_basic_header_write(), ptcache_dynamicpaint_error(), ptcache_dynamicpaint_read(), ptcache_dynamicpaint_totpoint(), ptcache_dynamicpaint_write(), PTCACHE_FILE_PTCACHE, PTCACHE_TYPE_DYNAMICPAINT, PTCacheID::ptcaches, PTCacheID::read_extra_data, PTCacheID::read_header, PTCacheID::read_point, PTCacheID::read_stream, PTCacheID::stack_index, PTCacheID::totpoint, PTCacheID::totwrite, PTCacheID::type, PTCacheID::write_extra_data, PTCacheID::write_header, PTCacheID::write_point, and PTCacheID::write_stream.
Referenced by BKE_ptcache_object_reset(), dynamicPaint_frameUpdate(), and foreach_object_modifier_ptcache().
| void BKE_ptcache_id_from_particles | ( | PTCacheID * | pid, |
| Object * | ob, | ||
| ParticleSystem * | psys ) |
Definition at line 900 of file pointcache.cc.
References ParticleSettings::avefac, ParticleSettings::avemode, BPHYS_DATA_AVELOCITY, BPHYS_DATA_BOIDS, BPHYS_DATA_INDEX, BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, BPHYS_DATA_TIMES, BPHYS_DATA_VELOCITY, PTCacheID::cache, PTCacheID::cache_ptr, PTCacheID::calldata, PTCacheID::data_types, PTCacheID::default_step, PTCacheID::error, PTCacheID::file_type, ParticleSettings::flag, PTCacheID::flag, SPHFluidSettings::flag, ParticleSettings::fluid, Object::id, PointCache::index, PTCacheID::info_types, PTCacheID::interpolate_extra_data, PTCacheID::interpolate_point, PTCacheID::max_step, PTCacheID::owner_id, ParticleSystem::part, PART_AVE_RAND, PART_HAIR, PART_PHYS_BOIDS, PART_PHYS_FLUID, PART_ROT_VEL, PART_ROTATIONS, ParticleSettings::phystype, ParticleSystem::pointcache, ptcache_basic_header_read(), ptcache_basic_header_write(), PTCACHE_FILE_PTCACHE, ptcache_particle_error(), ptcache_particle_extra_read(), ptcache_particle_extra_write(), ptcache_particle_interpolate(), ptcache_particle_read(), ptcache_particle_totpoint(), ptcache_particle_totwrite(), ptcache_particle_write(), PTCACHE_TYPE_PARTICLES, PTCACHE_VEL_PER_SEC, ParticleSystem::ptcaches, PTCacheID::ptcaches, PTCacheID::read_extra_data, PTCacheID::read_header, PTCacheID::read_point, PTCacheID::read_stream, ParticleSettings::rotmode, SPH_VISCOELASTIC_SPRINGS, PTCacheID::stack_index, PTCacheID::totpoint, PTCacheID::totwrite, ParticleSettings::type, PTCacheID::type, PTCacheID::write_extra_data, PTCacheID::write_header, PTCacheID::write_point, and PTCacheID::write_stream.
Referenced by BKE_ptcache_bake(), BKE_ptcache_object_reset(), foreach_object_particle_ptcache(), free_hair(), psys_changed_type(), psys_make_temp_pointcache(), psys_prepare_physics(), and system_step().
| void BKE_ptcache_id_from_rigidbody | ( | PTCacheID * | pid, |
| Object * | ob, | ||
| RigidBodyWorld * | rbw ) |
Definition at line 1056 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, PTCacheID::cache, PTCacheID::cache_ptr, PTCacheID::calldata, PTCacheID::data_types, PTCacheID::default_step, PTCacheID::error, PTCacheID::file_type, Object::id, PointCache::index, PTCacheID::info_types, PTCacheID::interpolate_extra_data, PTCacheID::interpolate_point, PTCacheID::max_step, PTCacheID::owner_id, RigidBodyWorld_Shared::pointcache, ptcache_basic_header_read(), ptcache_basic_header_write(), PTCACHE_FILE_PTCACHE, ptcache_rigidbody_error(), ptcache_rigidbody_interpolate(), ptcache_rigidbody_read(), ptcache_rigidbody_totpoint(), ptcache_rigidbody_write(), PTCACHE_TYPE_RIGIDBODY, PTCacheID::ptcaches, RigidBodyWorld_Shared::ptcaches, PTCacheID::read_extra_data, PTCacheID::read_header, PTCacheID::read_point, PTCacheID::read_stream, RigidBodyWorld::shared, PTCacheID::stack_index, PTCacheID::totpoint, PTCacheID::totwrite, PTCacheID::type, PTCacheID::write_extra_data, PTCacheID::write_header, PTCacheID::write_point, and PTCacheID::write_stream.
Referenced by BKE_ptcache_object_reset(), foreach_object_ptcache(), and scene_lib_override_apply_post().
| void BKE_ptcache_id_from_smoke | ( | PTCacheID * | pid, |
| struct Object * | ob, | ||
| struct FluidModifierData * | fmd ) |
The fluid modifier does not actually use this anymore, but some parts of Blender expect that it still has a point cache currently. For example, the fluid modifier uses DEG_add_collision_relations, which internally creates relations with the point cache.
Definition at line 1001 of file pointcache.cc.
References PTCacheID::cache, PTCacheID::cache_ptr, PTCacheID::calldata, FluidModifierData::domain, Object::id, PointCache::index, PTCacheID::owner_id, FluidDomainSettings::point_cache, PTCACHE_TYPE_SMOKE_DOMAIN, FluidDomainSettings::ptcaches, PTCacheID::ptcaches, PTCacheID::stack_index, and PTCacheID::type.
Referenced by BKE_ptcache_object_reset(), and foreach_object_modifier_ptcache().
Definition at line 864 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, PTCacheID::cache, PTCacheID::cache_ptr, PTCacheID::calldata, PTCacheID::data_types, PTCacheID::default_step, PTCacheID::error, PTCacheID::file_type, Object::id, PointCache::index, PTCacheID::info_types, PTCacheID::interpolate_extra_data, PTCacheID::interpolate_point, PTCacheID::max_step, PTCacheID::owner_id, SoftBody_Shared::pointcache, ptcache_basic_header_read(), ptcache_basic_header_write(), PTCACHE_FILE_PTCACHE, ptcache_softbody_error(), ptcache_softbody_interpolate(), ptcache_softbody_read(), ptcache_softbody_totpoint(), ptcache_softbody_write(), PTCACHE_TYPE_SOFTBODY, PTCacheID::ptcaches, SoftBody_Shared::ptcaches, PTCacheID::read_extra_data, PTCacheID::read_header, PTCacheID::read_point, PTCacheID::read_stream, SoftBody::shared, PTCacheID::stack_index, PTCacheID::totpoint, PTCacheID::totwrite, PTCacheID::type, PTCacheID::write_extra_data, PTCacheID::write_header, PTCacheID::write_point, and PTCacheID::write_stream.
Referenced by BKE_ptcache_object_reset(), foreach_object_ptcache(), and sbObjectStep().
Definition at line 2874 of file pointcache.cc.
References BKE_ptcache_id_clear(), BKE_ptcache_invalidate(), PTCacheID::cache, PTCacheID::calldata, clear(), cloth_free_modifier(), dynamicPaint_clearSurface(), PointCache::flag, psys_reset(), PSYS_RESET_DEPSGRAPH, PTCACHE_BAKED, PTCACHE_CLEAR_AFTER, PTCACHE_CLEAR_ALL, PTCACHE_OUTDATED, PTCACHE_RESET_BAKED, PTCACHE_RESET_DEPSGRAPH, PTCACHE_RESET_OUTDATED, PTCACHE_TYPE_CLOTH, PTCACHE_TYPE_DYNAMICPAINT, PTCACHE_TYPE_PARTICLES, PTCACHE_TYPE_SOFTBODY, reset(), sbFreeSimulation(), and PTCacheID::type.
Referenced by BKE_ptcache_object_reset(), clothModifier_do(), dynamicPaint_frameUpdate(), sbObjectStep(), and system_step().
| void BKE_ptcache_id_time | ( | PTCacheID * | pid, |
| Scene * | scene, | ||
| float | cfra, | ||
| int * | startframe, | ||
| int * | endframe, | ||
| float * | timescale ) |
Definition at line 2777 of file pointcache.cc.
References BKE_scene_ctime_get(), BKE_scene_frame_to_ctime(), PTCacheID::cache, PointCache::cached_frames, PointCache::cached_frames_len, closedir(), dirent::d_name, PointCache::endframe, ListBase::first, PointCache::flag, PTCacheMem::frame, len, MAX_PTCACHE_FILE, MAX_PTCACHE_PATH, PointCache::mem_cache, MEM_callocN, MEM_freeN(), PTCacheMem::next, opendir(), PTCACHE_DISK_CACHE, ptcache_filepath(), ptcache_filepath_ext_append(), ptcache_frame_from_filename(), ptcache_path(), readdir(), PointCache::startframe, STREQLEN, and time.
Referenced by BKE_ptcache_toggle_disk_cache(), clothModifier_do(), dynamicPaint_frameUpdate(), sbObjectStep(), and system_step().
Definition at line 1244 of file pointcache.cc.
References BLI_addtail(), ListBase::first, foreach_object_ptcache(), ListBase::last, and MEM_mallocN.
Referenced by BKE_ptcache_bake(), BKE_ptcache_id_find(), blo_do_versions_250(), blender::ed::object::editmode_exit_ex(), object_cacheIgnoreClear(), object_lib_override_apply_post(), pe_get_current(), ptcache_free_bake_all_exec(), special_aftertrans_update__object(), and timeline_draw_cache().
| void BKE_ptcache_invalidate | ( | struct PointCache * | cache | ) |
Set correct flags after unsuccessful simulation step.
Definition at line 3796 of file pointcache.cc.
References PointCache::flag, PointCache::last_exact, PointCache::simframe, and PointCache::startframe.
Referenced by BKE_ptcache_id_reset(), clothModifier_do(), do_init_cloth(), psys_reset(), sbObjectStep(), and system_step().
| void BKE_ptcache_load_external | ( | struct PTCacheID * | pid | ) |
Loads simulation from external (disk) cache files.
Definition at line 3584 of file pointcache.cc.
References PTCacheID::cache, PointCache::cached_frames, PointCache::cached_frames_len, closedir(), dirent::d_name, PointCache::endframe, PointCache::flag, PointCache::index, len, MAX_PTCACHE_FILE, MAX_PTCACHE_PATH, MAXFRAME, MEM_freeN(), opendir(), pf, PTCACHE_BAKED, PTCACHE_DISK_CACHE, ptcache_file_close(), ptcache_file_extension(), ptcache_file_header_begin_read(), ptcache_file_open(), PTCACHE_FILE_READ, ptcache_file_read(), ptcache_filepath(), PTCACHE_FLAG_INFO_DIRTY, ptcache_frame_from_filename(), PTCACHE_FRAMES_SKIPPED, ptcache_old_elemsize(), PTCACHE_OUTDATED, ptcache_path(), PTCACHE_READ_INFO, PTCACHE_SIMULATION_VALID, PTCACHE_TYPE_SMOKE_DOMAIN, PTCacheID::read_header, readdir(), SNPRINTF, PointCache::startframe, STREQLEN, STRNCPY, PointCache::totpoint, and PTCacheID::type.
| void BKE_ptcache_make_particle_key | ( | ParticleKey * | key, |
| int | index, | ||
| void ** | data, | ||
| float | time ) |
Definition at line 256 of file pointcache.cc.
References ParticleKey::ave, BPHYS_DATA_AVELOCITY, BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, BPHYS_DATA_VELOCITY, ParticleKey::co, OB_NEGX, OB_POSZ, PTCACHE_DATA_TO, ParticleKey::rot, ParticleKey::time, time, vec_to_quat(), and ParticleKey::vel.
Referenced by get_pointcache_keys_for_time(), ptcache_cloth_interpolate(), ptcache_particle_interpolate(), ptcache_particle_read(), and ptcache_softbody_interpolate().
| int BKE_ptcache_mem_index_find | ( | struct PTCacheMem * | pm, |
| unsigned int | index ) |
Is point with index in memory cache? Check to see if point number "index" is in pm (uses binary search for index data).
Definition at line 1729 of file pointcache.cc.
References BPHYS_DATA_INDEX, data, PTCacheMem::data, and PTCacheMem::totpoint.
Referenced by BKE_ptcache_mem_pointers_seek(), get_pointcache_keys_for_time(), get_pointcache_times_for_particle(), and psys_get_dietime_from_cache().
| void BKE_ptcache_mem_pointers_incr | ( | void * | cur[BPHYS_TOT_DATA] | ) |
Definition at line 1774 of file pointcache.cc.
References BPHYS_TOT_DATA, and ptcache_data_size.
Referenced by PE_create_particle_edit(), ptcache_disk_frame_to_mem(), ptcache_interpolate(), ptcache_mem_frame_to_disk(), ptcache_read(), ptcache_write(), and undoptcache_to_editcache().
| void BKE_ptcache_mem_pointers_init | ( | PTCacheMem * | pm, |
| void * | cur[BPHYS_TOT_DATA] ) |
Definition at line 1764 of file pointcache.cc.
References BPHYS_TOT_DATA, PTCacheMem::data, and PTCacheMem::data_types.
Referenced by ptcache_disk_frame_to_mem(), ptcache_interpolate(), ptcache_mem_frame_to_disk(), ptcache_read(), ptcache_write(), and undoptcache_to_editcache().
| int BKE_ptcache_mem_pointers_seek | ( | int | point_index, |
| PTCacheMem * | pm, | ||
| void * | cur[BPHYS_TOT_DATA] ) |
Definition at line 1784 of file pointcache.cc.
References BKE_ptcache_mem_index_find(), BPHYS_TOT_DATA, PTCacheMem::data, PTCacheMem::data_types, and ptcache_data_size.
Referenced by PE_create_particle_edit(), and ptcache_write().
| void BKE_ptcache_mem_to_disk | ( | struct PTCacheID * | pid | ) |
Convert memory cache to disk cache.
Definition at line 3455 of file pointcache.cc.
References BKE_ptcache_id_clear(), BKE_ptcache_write(), PTCacheID::cache, ListBase::first, PointCache::flag, PointCache::mem_cache, PTCacheMem::next, PTCACHE_BAKED, PTCACHE_CLEAR_ALL, and ptcache_mem_frame_to_disk().
Referenced by BKE_ptcache_toggle_disk_cache().
Check whether object has a point cache.
Definition at line 1260 of file pointcache.cc.
References foreach_object_ptcache().
Referenced by blender::deg::DepsgraphNodeBuilder::build_object_pointcache(), and blender::deg::DepsgraphRelationBuilder::build_particle_systems().
Definition at line 2934 of file pointcache.cc.
References BIK_clear_cache(), BKE_ptcache_id_from_cloth(), BKE_ptcache_id_from_dynamicpaint(), BKE_ptcache_id_from_particles(), BKE_ptcache_id_from_rigidbody(), BKE_ptcache_id_from_smoke(), BKE_ptcache_id_from_softbody(), BKE_ptcache_id_reset(), PTCacheID::cache, FluidDomainSettings::cache_type, DynamicPaintModifierData::canvas, FluidModifierData::domain, eModifierType_Cloth, eModifierType_DynamicPaint, eModifierType_Fluid, ListBase::first, PointCache::flag, RigidBodyOb::flag, FLUID_DOMAIN_CACHE_REPLAY, ID_RECALC_PSYS_CHILD, ID_RECALC_PSYS_REDO, LISTBASE_FOREACH, MOD_FLUID_TYPE_DOMAIN, Object::modifiers, OB_ARMATURE, PART_HAIR, Object::particlesystem, Object::pose, PSYS_RESET_ALL, PTCACHE_BAKED, PTCACHE_OUTDATED, RBO_FLAG_NEEDS_RESHAPE, reset(), Object::rigidbody_constraint, Object::rigidbody_object, Object::soft, DynamicPaintCanvasSettings::surfaces, FluidModifierData::type, and Object::type.
Referenced by BKE_object_eval_ptcache_reset(), blender::ed::sculpt_paint::dyntopo::disable(), blender::ed::object::editmode_exit_ex(), and special_aftertrans_update__object().
| void BKE_ptcache_quick_cache_all | ( | struct Main * | bmain, |
| struct Scene * | scene, | ||
| struct ViewLayer * | view_layer ) |
Bakes cache with cache_step sized jumps in time, not accurate but very fast.
Definition at line 3125 of file pointcache.cc.
References PTCacheBaker::anim_init, PTCacheBaker::bake, BKE_ptcache_bake(), PTCacheBaker::bmain, PTCacheBaker::quick_step, PTCacheBaker::render, PTCacheBaker::scene, scene, and PTCacheBaker::view_layer.
Main cache reading call which reads cache from disk or memory. Possible to get old or interpolated result.
Definition at line 2282 of file pointcache.cc.
References BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), PTCacheID::cache, PTCacheID::calldata, PointCache::flag, floor(), int, PTCacheID::interpolate_point, PointCache::last_exact, PTCACHE_CLEAR_AFTER, ptcache_find_frames_around(), PTCACHE_FRAMES_SKIPPED, ptcache_interpolate(), PTCACHE_OUTDATED, ptcache_read(), PTCACHE_READ_EXACT, PTCACHE_READ_INFO, PTCACHE_READ_INTERPOLATED, PTCACHE_READ_OLD, ptcache_read_stream(), PTCacheID::read_point, PTCacheID::read_stream, ret, PointCache::simframe, and PTCacheID::totpoint.
Referenced by clothModifier_do(), dynamicPaint_frameUpdate(), sbObjectStep(), and system_step().
| void BKE_ptcache_toggle_disk_cache | ( | struct PTCacheID * | pid | ) |
Convert disk cache to memory cache and vice versa. Clears the cache that was converted.
Definition at line 3482 of file pointcache.cc.
References BKE_main_blendfile_path_from_global(), BKE_object_delete_ptcache(), BKE_ptcache_disk_to_mem(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), BKE_ptcache_mem_to_disk(), PTCacheID::cache, PointCache::cached_frames, PointCache::cached_frames_len, PointCache::flag, G, G_DEBUG, PointCache::index, PointCache::last_exact, MEM_freeN(), PTCacheID::owner_id, printf, PTCACHE_CLEAR_ALL, PTCACHE_DISK_CACHE, and PTCACHE_FLAG_INFO_DIRTY.
| void BKE_ptcache_update_info | ( | PTCacheID * | pid | ) |
Definition at line 3697 of file pointcache.cc.
References BKE_ptcache_id_exist(), BLI_str_format_byte_unit(), BLI_STR_FORMAT_INT32_GROUPED_SIZE, BLI_STR_FORMAT_INT64_BYTE_UNIT_SIZE, BLI_str_format_int_grouped(), BPHYS_TOT_DATA, PTCacheID::cache, PTCacheID::calldata, PTCacheMem::data, PointCache::endframe, PTCacheMem::extradata, ListBase::first, PointCache::flag, PointCache::info, PointCache::last_exact, LISTBASE_FOREACH, MEM_allocN_len, PointCache::mem_cache, PTCacheMem::next, PTCACHE_DISK_CACHE, PTCACHE_EXTERNAL, PTCACHE_FRAMES_SKIPPED, PTCACHE_OUTDATED, PTCACHE_TYPE_SMOKE_DOMAIN, RPT_, SNPRINTF, PointCache::startframe, STRNCPY, PointCache::totpoint, PTCacheID::totpoint, and PTCacheID::type.
| void BKE_ptcache_validate | ( | struct PointCache * | cache, |
| int | framenr ) |
Set correct flags after successful simulation step.
Definition at line 3789 of file pointcache.cc.
References PointCache::flag, PTCACHE_SIMULATION_VALID, and PointCache::simframe.
Referenced by clothModifier_do(), dynamicPaint_frameUpdate(), sbObjectStep(), and system_step().
Main cache writing call. Writes cache to disk or memory.
Definition at line 2542 of file pointcache.cc.
References PTCacheID::cache, PointCache::cached_frames, PTCacheID::calldata, PTCacheID::data_types, error(), PointCache::flag, PTCacheID::info_types, PointCache::last_exact, PTCACHE_FLAG_INFO_DIRTY, PTCACHE_FRAMES_SKIPPED, ptcache_write(), ptcache_write_needed(), ptcache_write_stream(), PointCache::startframe, PTCacheID::totpoint, PTCacheID::write_point, and PTCacheID::write_stream.
Referenced by BKE_ptcache_bake(), BKE_ptcache_mem_to_disk(), clothModifier_do(), dynamicPaint_frameUpdate(), sbObjectStep(), and system_step().
|
static |
Definition at line 3879 of file pointcache.cc.
References BLI_listbase_clear(), BLO_read_struct_list, PointCache::cached_frames, PointCache::cached_frames_len, direct_link_pointcache_mem(), PointCache::edit, PointCache::flag, PointCache::free_edit, LISTBASE_FOREACH, PointCache::mem_cache, PTCACHE_DISK_CACHE, and PointCache::simframe.
Referenced by BKE_ptcache_blend_read_data().
|
static |
Definition at line 3848 of file pointcache.cc.
References BKE_ptcache_data_size(), BLO_read_float_array(), BLO_read_struct_array, BLO_read_struct_list, BLO_read_uint32_array(), BPHYS_DATA_BOIDS, BPHYS_DATA_INDEX, BPHYS_EXTRA_CLOTH_ACCELERATION, BPHYS_EXTRA_FLUID_SPRINGS, BPHYS_TOT_DATA, PTCacheMem::data, PTCacheMem::extradata, float, LISTBASE_FOREACH, and PTCacheMem::totpoint.
Referenced by direct_link_pointcache().
|
static |
Definition at line 1156 of file pointcache.cc.
References BKE_ptcache_id_from_cloth(), BKE_ptcache_id_from_dynamicpaint(), BKE_ptcache_id_from_smoke(), callback, DynamicPaintModifierData::canvas, eModifierType_Cloth, eModifierType_DynamicPaint, eModifierType_Fluid, ListBase::first, MOD_FLUID_TYPE_DOMAIN, DynamicPaintCanvasSettings::surfaces, and FluidModifierData::type.
Referenced by foreach_object_ptcache().
|
static |
Definition at line 1124 of file pointcache.cc.
References BKE_ptcache_id_from_particles(), callback, ELEM, PART_FLUID, PART_HAIR, PART_PHYS_KEYED, PART_PHYS_NO, and PSYS_HAIR_DYNAMICS.
Referenced by foreach_object_ptcache().
|
static |
Definition at line 1195 of file pointcache.cc.
References BKE_ptcache_id_from_rigidbody(), BKE_ptcache_id_from_softbody(), callback, FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN, FOREACH_COLLECTION_OBJECT_RECURSIVE_END, foreach_object_modifier_ptcache(), foreach_object_particle_ptcache(), and foreach_object_ptcache().
Referenced by BKE_ptcache_foreach_object_cache(), BKE_ptcache_ids_from_object(), BKE_ptcache_object_has(), and foreach_object_ptcache().
|
static |
Definition at line 161 of file pointcache.cc.
References BLI_addtail(), count, PTCacheExtra::data, PTCacheMem::extradata, MEM_callocN, MEM_mallocN, ptcache_extra_datasize, PTCacheExtra::totdata, and PTCacheExtra::type.
Referenced by ptcache_cloth_extra_write(), and ptcache_particle_extra_write().
|
static |
Definition at line 133 of file pointcache.cc.
Referenced by BKE_ptcache_id_from_cloth(), BKE_ptcache_id_from_dynamicpaint(), BKE_ptcache_id_from_particles(), BKE_ptcache_id_from_rigidbody(), and BKE_ptcache_id_from_softbody().
|
static |
Definition at line 148 of file pointcache.cc.
References pf.
Referenced by BKE_ptcache_id_from_cloth(), BKE_ptcache_id_from_dynamicpaint(), BKE_ptcache_id_from_particles(), BKE_ptcache_id_from_rigidbody(), and BKE_ptcache_id_from_softbody().
|
static |
Definition at line 648 of file pointcache.cc.
References BKE_modifier_set_error(), BLI_assert, GS, ClothModifierData::hairdata, ID_OB, ClothModifierData::modifier, and ID::name.
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 624 of file pointcache.cc.
References BPHYS_EXTRA_CLOTH_ACCELERATION, ClothModifierData::clothObject, copy_v3_v3(), PTCacheExtra::data, PTCacheMem::extradata, ListBase::first, PTCacheExtra::next, PTCacheExtra::type, and zero_v3().
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 615 of file pointcache.cc.
References BPHYS_EXTRA_CLOTH_ACCELERATION, ClothModifierData::clothObject, is_zero_v3(), and ptcache_add_extra_data().
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 571 of file pointcache.cc.
References BKE_ptcache_make_particle_key(), ClothModifierData::clothObject, ParticleKey::co, copy_v3_v3(), mul_v3_fl(), psys_interpolate_particle(), ClothVertex::v, ParticleKey::vel, and ClothVertex::x.
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 553 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, BPHYS_DATA_XCONST, ClothModifierData::clothObject, PTCACHE_DATA_TO, ClothVertex::v, ClothVertex::x, and ClothVertex::xconst.
Referenced by BKE_ptcache_id_from_cloth().
Definition at line 642 of file pointcache.cc.
References ClothModifierData::clothObject, and Cloth::mvert_num.
Referenced by BKE_ptcache_id_from_cloth().
Definition at line 541 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, BPHYS_DATA_XCONST, ClothModifierData::clothObject, PTCACHE_DATA_FROM, ClothVertex::v, ClothVertex::x, and ClothVertex::xconst.
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 3064 of file pointcache.cc.
References BLI_addtail(), BLI_listbase_clear(), BPHYS_TOT_DATA, PointCache::cached_frames, PointCache::cached_frames_len, copy_data(), PTCacheMem::data, PointCache::edit, PointCache::flag, LISTBASE_FOREACH, PointCache::mem_cache, MEM_dupallocN, PTCACHE_DISK_CACHE, PTCACHE_EXTERNAL, PTCACHE_IGNORE_LIBPATH, and PointCache::simframe.
Referenced by BKE_ptcache_copy_list().
|
static |
Definition at line 1805 of file pointcache.cc.
References BPHYS_TOT_DATA, PTCacheMem::data, PTCacheMem::data_types, MEM_callocN, ptcache_data_size, and PTCacheMem::totpoint.
Referenced by ptcache_disk_frame_to_mem(), and ptcache_write().
|
static |
Definition at line 1828 of file pointcache.cc.
References BPHYS_TOT_DATA, and ptcache_data_size.
Referenced by ptcache_disk_frame_to_mem(), and ptcache_mem_frame_to_disk().
|
static |
Definition at line 1817 of file pointcache.cc.
References BPHYS_TOT_DATA, PTCacheMem::data, and MEM_freeN().
Referenced by ptcache_mem_clear().
|
static |
Definition at line 1934 of file pointcache.cc.
References BKE_ptcache_mem_pointers_incr(), BKE_ptcache_mem_pointers_init(), BLI_addtail(), BPHYS_TOT_DATA, PTCacheExtra::data, PTCacheMem::data, PTCacheMem::data_types, error(), PTCacheMem::extradata, PTCacheMem::frame, G, G_DEBUG, MEM_callocN, MEM_freeN(), pf, printf, ptcache_data_alloc(), ptcache_data_copy(), ptcache_data_size, ptcache_extra_datasize, ptcache_file_close(), ptcache_file_compressed_read(), ptcache_file_data_read(), ptcache_file_header_begin_read(), ptcache_file_open(), ptcache_file_pointers_init(), PTCACHE_FILE_READ, ptcache_file_read(), ptcache_mem_clear(), PTCACHE_TYPEFLAG_COMPRESS, PTCACHE_TYPEFLAG_EXTRADATA, PTCacheID::read_header, PTCacheExtra::totdata, PTCacheMem::totpoint, PTCacheExtra::type, and PTCacheID::type.
Referenced by BKE_ptcache_disk_to_mem(), ptcache_interpolate(), ptcache_read(), and ptcache_write().
|
static |
Definition at line 3141 of file pointcache.cc.
References BLI_snprintf(), and str.
Referenced by BKE_ptcache_bake().
|
static |
Definition at line 669 of file pointcache.cc.
Referenced by BKE_ptcache_id_from_dynamicpaint().
|
static |
Definition at line 715 of file pointcache.cc.
References CLOG_ERROR, DPAINT_CACHE_VERSION, ELEM, float, LOG, MOD_DPAINT_SURFACE_F_IMAGESEQ, MOD_DPAINT_SURFACE_T_DISPLACE, MOD_DPAINT_SURFACE_T_PAINT, MOD_DPAINT_SURFACE_T_WAVE, MOD_DPAINT_SURFACE_T_WEIGHT, pf, ptcache_file_compressed_read(), ptcache_file_read(), STREQLEN, and UNPACK4.
Referenced by BKE_ptcache_id_from_dynamicpaint().
Definition at line 658 of file pointcache.cc.
References DynamicPaintSurface::data, and PaintSurfaceData::total_points.
Referenced by BKE_ptcache_id_from_dynamicpaint().
|
static |
Definition at line 678 of file pointcache.cc.
References DPAINT_CACHE_VERSION, ELEM, float, LZO_OUT_LEN, MEM_callocN, MEM_freeN(), MOD_DPAINT_SURFACE_F_IMAGESEQ, MOD_DPAINT_SURFACE_T_DISPLACE, MOD_DPAINT_SURFACE_T_PAINT, MOD_DPAINT_SURFACE_T_WAVE, MOD_DPAINT_SURFACE_T_WEIGHT, pf, PTCACHE_COMPRESS_LZO, ptcache_file_compressed_write(), and ptcache_file_write().
Referenced by BKE_ptcache_id_from_dynamicpaint().
|
static |
Definition at line 1840 of file pointcache.cc.
References BLI_freelistN(), PTCacheExtra::data, PTCacheMem::extradata, ListBase::first, MEM_freeN(), and PTCacheExtra::next.
Referenced by ptcache_mem_clear().
|
static |
Definition at line 1496 of file pointcache.cc.
References MEM_freeN(), and pf.
Referenced by BKE_ptcache_load_external(), ptcache_disk_frame_to_mem(), ptcache_mem_frame_to_disk(), ptcache_read_stream(), and ptcache_write_stream().
|
static |
Definition at line 1504 of file pointcache.cc.
References len, MEM_callocN, MEM_freeN(), pf, ptcache_file_read(), and size().
Referenced by ptcache_disk_frame_to_mem(), and ptcache_dynamicpaint_read().
|
static |
Definition at line 1552 of file pointcache.cc.
References LZO_OUT_LEN, MEM_callocN, MEM_freeN(), pf, PTCACHE_COMPRESS_LZMA, PTCACHE_COMPRESS_LZO, and ptcache_file_write().
Referenced by ptcache_dynamicpaint_write(), and ptcache_mem_frame_to_disk().
|
static |
Definition at line 1631 of file pointcache.cc.
References BPHYS_TOT_DATA, pf, ptcache_data_size, and ptcache_file_read().
Referenced by ptcache_disk_frame_to_mem().
|
static |
Definition at line 1644 of file pointcache.cc.
References BPHYS_TOT_DATA, pf, ptcache_data_size, and ptcache_file_write().
Referenced by ptcache_mem_frame_to_disk().
|
static |
Definition at line 1272 of file pointcache.cc.
References PTCacheID::file_type, PTCACHE_EXT, and PTCACHE_FILE_PTCACHE.
Referenced by BKE_ptcache_load_external(), and ptcache_filepath_ext_append().
|
static |
Definition at line 1658 of file pointcache.cc.
References BLI_fseek(), error(), pf, PTCACHE_TYPEFLAG_FLAGMASK, PTCACHE_TYPEFLAG_TYPEMASK, and STREQLEN.
Referenced by BKE_ptcache_load_external(), ptcache_disk_frame_to_mem(), and ptcache_read_stream().
|
static |
Definition at line 1688 of file pointcache.cc.
References pf.
Referenced by ptcache_mem_frame_to_disk(), and ptcache_write_stream().
|
static |
Caller must close after!
Definition at line 1452 of file pointcache.cc.
References BKE_main_blendfile_path_from_global(), BLI_file_ensure_parent_dir_exists(), BLI_fopen(), PTCacheID::cache, PointCache::flag, PTCacheFile::fp, ID::lib, MAX_PTCACHE_FILE, MEM_mallocN, PTCacheID::owner_id, pf, PTCACHE_EXTERNAL, PTCACHE_FILE_READ, PTCACHE_FILE_UPDATE, PTCACHE_FILE_WRITE, and ptcache_filepath().
Referenced by BKE_ptcache_load_external(), ptcache_disk_frame_to_mem(), ptcache_mem_frame_to_disk(), ptcache_read_stream(), and ptcache_write_stream().
|
static |
Definition at line 1711 of file pointcache.cc.
References BPHYS_DATA_AVELOCITY, BPHYS_DATA_BOIDS, BPHYS_DATA_INDEX, BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, BPHYS_DATA_SIZE, BPHYS_DATA_TIMES, BPHYS_DATA_VELOCITY, and pf.
Referenced by ptcache_disk_frame_to_mem(), ptcache_mem_frame_to_disk(), and ptcache_read_stream().
|
static |
Definition at line 1623 of file pointcache.cc.
References pf.
Referenced by BKE_ptcache_load_external(), ptcache_disk_frame_to_mem(), ptcache_dynamicpaint_read(), ptcache_file_compressed_read(), and ptcache_file_data_read().
|
static |
Definition at line 1627 of file pointcache.cc.
References pf.
Referenced by ptcache_dynamicpaint_write(), ptcache_file_compressed_write(), ptcache_file_data_write(), and ptcache_mem_frame_to_disk().
|
static |
Definition at line 1401 of file pointcache.cc.
References BKE_main_blendfile_path_from_global(), BLI_snprintf_rlen(), BLI_strncpy_rlen(), PTCacheID::cache, PointCache::flag, len, MAX_PTCACHE_FILE, ID::name, PointCache::name, PTCacheID::owner_id, PTCACHE_EXTERNAL, ptcache_filepath_ext_append(), ptcache_path(), and UNUSED_VARS.
Referenced by BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), and ptcache_file_open().
|
static |
Definition at line 1349 of file pointcache.cc.
References BKE_object_insert_ptcache(), BLI_assert, BLI_snprintf_rlen(), PTCacheID::cache, PointCache::flag, GS, ID_OB, PointCache::index, len, MAX_PTCACHE_FILE, ID::name, PTCacheID::owner_id, PTCACHE_EXTERNAL, ptcache_file_extension(), and PTCacheID::stack_index.
Referenced by BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), and ptcache_filepath().
|
static |
Definition at line 1876 of file pointcache.cc.
References BKE_ptcache_id_exist(), PTCacheID::cache, PointCache::endframe, ListBase::first, PointCache::flag, PTCacheMem::frame, ListBase::last, PointCache::mem_cache, PTCacheMem::next, PTCacheMem::prev, PTCACHE_DISK_CACHE, and PointCache::startframe.
Referenced by BKE_ptcache_read().
|
static |
Similar to BLI_path_frame_get, but takes into account the stack-index which is after the frame.
Definition at line 1284 of file pointcache.cc.
References frame_len(), len, and STRNCPY.
Referenced by BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), and BKE_ptcache_load_external().
Definition at line 2224 of file pointcache.cc.
References BKE_ptcache_mem_pointers_incr(), BKE_ptcache_mem_pointers_init(), BPHYS_DATA_INDEX, BPHYS_TOT_DATA, PTCacheID::cache, PTCacheID::calldata, PTCacheID::data_types, PTCacheMem::data_types, PTCacheID::error, PTCacheMem::extradata, ListBase::first, PointCache::flag, float, PTCacheMem::frame, PTCacheID::interpolate_extra_data, PTCacheID::interpolate_point, PointCache::mem_cache, MEM_freeN(), PTCacheMem::next, PTCacheID::owner_id, PTCACHE_DISK_CACHE, ptcache_disk_frame_to_mem(), ptcache_mem_clear(), PTCacheID::totpoint, and PTCacheMem::totpoint.
Referenced by BKE_ptcache_read().
|
static |
Definition at line 1855 of file pointcache.cc.
References ptcache_data_free(), and ptcache_extra_free().
Referenced by BKE_ptcache_free_mem(), BKE_ptcache_id_clear(), ptcache_disk_frame_to_mem(), ptcache_interpolate(), ptcache_read(), and ptcache_write().
|
static |
Definition at line 2025 of file pointcache.cc.
References BKE_ptcache_id_clear(), BKE_ptcache_mem_pointers_incr(), BKE_ptcache_mem_pointers_init(), BPHYS_TOT_DATA, PTCacheID::cache, PointCache::compression, PTCacheExtra::data, PTCacheMem::data, PTCacheMem::data_types, error(), PTCacheMem::extradata, ListBase::first, PTCacheMem::frame, G, G_DEBUG, LZO_OUT_LEN, MEM_callocN, MEM_freeN(), PTCacheExtra::next, pf, printf, PTCACHE_CLEAR_FRAME, ptcache_data_copy(), ptcache_data_size, ptcache_extra_datasize, ptcache_file_close(), ptcache_file_compressed_write(), ptcache_file_data_write(), ptcache_file_header_begin_write(), ptcache_file_open(), ptcache_file_pointers_init(), PTCACHE_FILE_WRITE, ptcache_file_write(), PTCACHE_TYPEFLAG_COMPRESS, PTCACHE_TYPEFLAG_EXTRADATA, PTCacheExtra::totdata, PTCacheMem::totpoint, PTCacheExtra::type, PTCacheID::type, and PTCacheID::write_header.
Referenced by BKE_ptcache_mem_to_disk(), and ptcache_write().
Definition at line 1861 of file pointcache.cc.
References PTCACHE_TYPE_CLOTH, PTCACHE_TYPE_PARTICLES, PTCACHE_TYPE_SOFTBODY, and PTCacheID::type.
Referenced by BKE_ptcache_load_external().
|
static |
Definition at line 470 of file pointcache.cc.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 520 of file pointcache.cc.
References ParticleSystem::alloc_fluidsprings, BPHYS_EXTRA_FLUID_SPRINGS, PTCacheExtra::data, PTCacheMem::extradata, ListBase::first, ParticleSystem::fluid_springs, MEM_dupallocN, MEM_freeN(), PTCacheExtra::next, ParticleSystem::tot_fluidsprings, PTCacheExtra::totdata, and PTCacheExtra::type.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 507 of file pointcache.cc.
References BPHYS_EXTRA_FLUID_SPRINGS, SPHFluidSettings::flag, ParticleSettings::fluid, ParticleSystem::fluid_springs, ParticleSystem::part, PART_PHYS_FLUID, ParticleSettings::phystype, ptcache_add_extra_data(), SPH_VISCOELASTIC_SPRINGS, and ParticleSystem::tot_fluidsprings.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 386 of file pointcache.cc.
References BKE_ptcache_make_particle_key(), BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, BPHYS_DATA_VELOCITY, ParticleData::dietime, int, interp_qt_qtqt(), mul_v3_fl(), ParticleSystem::part, ParticleSystem::particles, ParticleSystem::pointcache, psys_interpolate_particle(), ParticleKey::rot, rot, ParticleData::state, PointCache::step, sub_v3_v3v3(), ParticleData::time, ParticleKey::time, ParticleSettings::timetweak, ParticleSystem::totpart, unit_qt(), and ParticleKey::vel.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 318 of file pointcache.cc.
References BKE_ptcache_make_particle_key(), ParticleData::boid, BPHYS_DATA_BOIDS, BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, BPHYS_DATA_SIZE, BPHYS_DATA_TIMES, BPHYS_DATA_VELOCITY, ParticleKey::co, BoidParticle::data, ParticleData::dietime, ParticleData::lifetime, mul_v3_fl(), ParticleSystem::part, PART_PHYS_BOIDS, ParticleSystem::particles, ParticleSettings::phystype, ParticleData::prev_state, PTCACHE_DATA_TO, ParticleKey::rot, ParticleData::size, ParticleData::state, sub_v3_v3v3(), ParticleData::time, ParticleKey::time, ParticleSettings::timetweak, ParticleSystem::totpart, unit_qt(), and ParticleKey::vel.
Referenced by BKE_ptcache_id_from_particles().
Definition at line 464 of file pointcache.cc.
References ParticleSystem::totpart.
Referenced by BKE_ptcache_id_from_particles().
Definition at line 477 of file pointcache.cc.
References ParticleData::dietime, ParticleSettings::flag, int, ParticleSystem::part, PART_DIED, ParticleSystem::particles, ParticleSystem::pointcache, PointCache::step, ParticleData::time, and ParticleSystem::totpart.
Referenced by BKE_ptcache_id_from_particles().
Definition at line 272 of file pointcache.cc.
References ParticleKey::ave, ParticleData::boid, BPHYS_DATA_AVELOCITY, BPHYS_DATA_BOIDS, BPHYS_DATA_INDEX, BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, BPHYS_DATA_SIZE, BPHYS_DATA_TIMES, BPHYS_DATA_VELOCITY, ParticleKey::co, BoidParticle::data, ParticleData::dietime, ParticleSettings::flag, int, ParticleData::lifetime, ParticleSystem::part, PART_DIED, PART_PHYS_BOIDS, ParticleSystem::particles, ParticleSettings::phystype, ParticleSystem::pointcache, ParticleData::prev_state, PTCACHE_DATA_FROM, ParticleKey::rot, ParticleData::size, ParticleData::state, PointCache::step, ParticleData::time, ParticleKey::time, and ParticleKey::vel.
Referenced by BKE_ptcache_id_from_particles().
Definition at line 1311 of file pointcache.cc.
References BKE_main_blendfile_path_from_global(), BKE_tempdir_session, BLI_path_abs(), BLI_path_extension_strip(), BLI_path_is_rel(), BLI_path_slash_ensure(), BLI_path_split_file_part(), BLI_snprintf(), BLI_strncpy(), PTCacheID::cache, dirname(), PointCache::flag, ID::lib, lib, MAX_PTCACHE_PATH, PTCacheID::owner_id, PointCache::path, PTCACHE_EXTERNAL, PTCACHE_IGNORE_LIBPATH, and PTCACHE_PATH.
Referenced by BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), and ptcache_filepath().
Definition at line 2167 of file pointcache.cc.
References BKE_ptcache_mem_pointers_incr(), BKE_ptcache_mem_pointers_init(), BPHYS_DATA_INDEX, BPHYS_TOT_DATA, PTCacheID::cache, PTCacheID::calldata, PTCacheID::data_types, PTCacheMem::data_types, PTCacheID::error, PTCacheMem::extradata, ListBase::first, PointCache::flag, PTCacheMem::frame, PointCache::mem_cache, MEM_freeN(), PTCacheMem::next, PTCacheID::owner_id, PTCACHE_DISK_CACHE, ptcache_disk_frame_to_mem(), ptcache_mem_clear(), PTCacheID::read_extra_data, PTCacheID::read_point, PTCacheID::totpoint, and PTCacheMem::totpoint.
Referenced by BKE_ptcache_read().
Definition at line 2119 of file pointcache.cc.
References PTCacheID::calldata, error(), PTCacheID::error, G, G_DEBUG, PTCacheID::owner_id, pf, printf, ptcache_file_close(), ptcache_file_header_begin_read(), ptcache_file_open(), ptcache_file_pointers_init(), PTCACHE_FILE_READ, PTCacheID::read_header, PTCacheID::read_stream, PTCacheID::totpoint, and PTCacheID::type.
Referenced by BKE_ptcache_read().
|
static |
Definition at line 855 of file pointcache.cc.
Referenced by BKE_ptcache_id_from_rigidbody().
|
static |
Definition at line 809 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, interp_qt_qtqt(), interp_v3_v3v3(), RigidBodyWorld::objects, RigidBodyOb::orn, pos, RigidBodyOb::pos, PTCACHE_DATA_TO, RBO_TYPE_ACTIVE, Object::rigidbody_object, and RigidBodyOb::type.
Referenced by BKE_ptcache_id_from_rigidbody().
|
static |
Definition at line 783 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, RigidBodyWorld::objects, RigidBodyOb::orn, RigidBodyOb::pos, PTCACHE_DATA_TO, RBO_TYPE_ACTIVE, Object::rigidbody_object, and RigidBodyOb::type.
Referenced by BKE_ptcache_id_from_rigidbody().
Definition at line 848 of file pointcache.cc.
References RigidBodyWorld::numbodies.
Referenced by BKE_ptcache_id_from_rigidbody().
Definition at line 759 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, RigidBodyWorld::objects, RigidBodyOb::orn, RigidBodyOb_Shared::physics_object, RigidBodyOb::pos, PTCACHE_DATA_FROM, RB_body_get_orientation(), RB_body_get_position(), RBO_TYPE_ACTIVE, Object::rigidbody_object, RigidBodyOb::shared, and RigidBodyOb::type.
Referenced by BKE_ptcache_id_from_rigidbody().
|
static |
Definition at line 247 of file pointcache.cc.
Referenced by BKE_ptcache_id_from_softbody().
|
static |
Definition at line 202 of file pointcache.cc.
References BKE_ptcache_make_particle_key(), SoftBody::bpoint, ParticleKey::co, copy_v3_v3(), mul_v3_fl(), BodyPoint::pos, psys_interpolate_particle(), BodyPoint::vec, and ParticleKey::vel.
Referenced by BKE_ptcache_id_from_softbody().
|
static |
Definition at line 187 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, SoftBody::bpoint, BodyPoint::pos, PTCACHE_DATA_TO, and BodyPoint::vec.
Referenced by BKE_ptcache_id_from_softbody().
Definition at line 242 of file pointcache.cc.
References SoftBody::totpoint.
Referenced by BKE_ptcache_id_from_softbody().
Definition at line 177 of file pointcache.cc.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, SoftBody::bpoint, BodyPoint::pos, PTCACHE_DATA_FROM, and BodyPoint::vec.
Referenced by BKE_ptcache_id_from_softbody().
Definition at line 2415 of file pointcache.cc.
References BKE_ptcache_id_exist(), BKE_ptcache_mem_pointers_incr(), BKE_ptcache_mem_pointers_init(), BKE_ptcache_mem_pointers_seek(), BLI_addtail(), BPHYS_TOT_DATA, PTCacheID::cache, PTCacheID::calldata, PTCacheID::data_types, PTCacheMem::data_types, error(), PointCache::flag, PTCacheMem::frame, PTCacheID::info_types, ListBase::last, PointCache::mem_cache, MEM_callocN, MEM_freeN(), ptcache_data_alloc(), PTCACHE_DISK_CACHE, ptcache_disk_frame_to_mem(), ptcache_mem_clear(), ptcache_mem_frame_to_disk(), PointCache::startframe, PTCacheID::totpoint, PTCacheMem::totpoint, PTCacheID::totwrite, PTCacheID::write_extra_data, and PTCacheID::write_point.
Referenced by BKE_ptcache_write().
Definition at line 2488 of file pointcache.cc.
References BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), PTCacheID::cache, PointCache::endframe, PointCache::flag, PTCacheMem::frame, ListBase::last, PointCache::mem_cache, PTCacheMem::prev, PTCACHE_CLEAR_ALL, PTCACHE_CLEAR_FRAME, PTCACHE_DISK_CACHE, PointCache::startframe, and PointCache::step.
Referenced by BKE_ptcache_write().
Definition at line 2377 of file pointcache.cc.
References BKE_ptcache_id_clear(), PTCacheID::calldata, PTCacheID::data_types, error(), G, G_DEBUG, pf, printf, PTCACHE_CLEAR_FRAME, ptcache_file_close(), ptcache_file_header_begin_write(), ptcache_file_open(), PTCACHE_FILE_WRITE, PTCacheID::type, PTCacheID::write_header, and PTCacheID::write_stream.
Referenced by BKE_ptcache_write().
|
static |
Definition at line 106 of file pointcache.cc.
Referenced by ptcache_dynamicpaint_read().
|
static |
Definition at line 108 of file pointcache.cc.
Referenced by BKE_ptcache_data_size(), BKE_ptcache_mem_pointers_incr(), BKE_ptcache_mem_pointers_seek(), ptcache_data_alloc(), ptcache_data_copy(), ptcache_disk_frame_to_mem(), ptcache_file_data_read(), ptcache_file_data_write(), and ptcache_mem_frame_to_disk().
|
static |
Definition at line 119 of file pointcache.cc.
Referenced by ptcache_add_extra_data(), ptcache_disk_frame_to_mem(), and ptcache_mem_frame_to_disk().