Blender
V3.3
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.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 "DNA_simulation_types.h"
#include "BLI_blenlib.h"
#include "BLI_endian_switch.h"
#include "BLI_math.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "PIL_time.h"
#include "BKE_appdir.h"
#include "BKE_cloth.h"
#include "BKE_collection.h"
#include "BKE_dynamicpaint.h"
#include "BKE_fluid.h"
#include "BKE_global.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_modifier.h"
#include "BKE_object.h"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
#include "BKE_scene.h"
#include "BKE_softbody.h"
#include "BLO_read_write.h"
#include "DEG_depsgraph_query.h"
#include "BIK_api.h"
#include <dirent.h>
Go to the source code of this file.
Classes | |
struct | PTCacheIDsFromObjectData |
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) |
Typedefs | |
typedef bool(* | ForeachPtcacheCb) (PTCacheID *pid, void *userdata) |
typedef struct PTCacheIDsFromObjectData | PTCacheIDsFromObjectData |
Variables | |
static CLG_LogRef | LOG = {"bke.pointcache"} |
static int | ptcache_data_size [] |
static int | ptcache_extra_datasize [] |
static const char * | ptcache_data_struct [] |
static const char * | ptcache_extra_struct [] |
#define DPAINT_CACHE_VERSION "1.01" |
Definition at line 676 of file pointcache.c.
#define DURIAN_POINTCACHE_LIB_OK 1 |
Definition at line 103 of file pointcache.c.
Definition at line 75 of file pointcache.c.
Definition at line 1307 of file pointcache.c.
Definition at line 1306 of file pointcache.c.
Definition at line 88 of file pointcache.c.
Definition at line 94 of file pointcache.c.
Definition at line 1121 of file pointcache.c.
typedef struct PTCacheIDsFromObjectData PTCacheIDsFromObjectData |
PointCache* BKE_ptcache_add | ( | ListBase * | ptcaches | ) |
Definition at line 3014 of file pointcache.c.
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(), initData(), 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 3156 of file pointcache.c.
References PTCacheBaker::anim_init, PTCacheBaker::bake, 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(), PTCacheID::cache, PTCacheID::calldata, RenderData::cfra, DEG_get_evaluated_object(), PTCacheBaker::depsgraph, depsgraph, PointCache::endframe, ListBase::first, PointCache::flag, float(), RenderData::framelen, G, GS, ID_OB, if(), PointCache::last_exact, MAX2, MAX_DUPLI_RECUR, MAXFRAME, MIN2, ID::name, PTCacheID::next, NULL, Base::object, PTCacheID::owner_id, ParticleSystem::part, PART_EMITTER, PART_HAIR, PART_PHYS_KEYED, ParticleSettings::phystype, PTCacheBaker::pid, PIL_check_seconds_timer(), 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, Scene::r, PTCacheBaker::render, PTCacheBaker::scene, scene, SETLOOPER_VIEW_LAYER, RenderData::sfra, PointCache::startframe, PTCacheID::type, ParticleSettings::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 3896 of file pointcache.c.
References BLO_read_data_address, BLO_read_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 3820 of file pointcache.c.
References BLO_write_raw(), BLO_write_struct, BLO_write_struct_array_by_name(), BPHYS_TOT_DATA, PTCacheMem::data, PTCacheMem::data_types, PTCacheMem::extradata, LISTBASE_FOREACH, MEM_allocN_len, ptcache_data_struct, PTCACHE_DISK_CACHE, ptcache_extra_struct, and PTCacheMem::totpoint.
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 3104 of file pointcache.c.
References BLI_addtail(), BLI_listbase_clear(), ListBase::first, LIB_ID_COPY_CACHES, PointCache::next, and ptcache_copy().
int BKE_ptcache_data_size | ( | int | data_type | ) |
Size of cache data type.
Definition at line 1707 of file pointcache.c.
References ptcache_data_size.
Referenced by direct_link_pointcache_cb().
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 3517 of file pointcache.c.
References BLI_join_dirfile(), BLI_rename(), BLI_strncpy(), PTCacheID::cache, closedir(), dirent::d_name, len, MAX_PTCACHE_FILE, MAX_PTCACHE_PATH, PointCache::name, NULL, opendir(), ptcache_filename(), ptcache_filename_ext_append(), ptcache_frame_from_filename(), ptcache_path(), readdir(), STREQ, and STREQLEN.
Convert disk cache to memory cache.
Definition at line 3421 of file pointcache.c.
References BKE_ptcache_id_clear(), BLI_addtail(), PTCacheID::cache, PointCache::endframe, PointCache::flag, PointCache::mem_cache, NULL, 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_free | ( | PointCache * | cache | ) |
Definition at line 3041 of file pointcache.c.
References BKE_ptcache_free_mem(), PointCache::cached_frames, PointCache::edit, PointCache::free_edit, PointCache::mem_cache, and MEM_freeN.
Referenced by BKE_modifier_blend_read_data(), BKE_ptcache_free_list(), and ptcache_remove_exec().
Definition at line 3052 of file pointcache.c.
References BKE_ptcache_free(), and BLI_pophead().
Referenced by BKE_fluid_modifier_copy(), BKE_fluid_modifier_freeDomain(), BKE_modifier_blend_write(), BKE_rigidbody_free_world(), copyData(), dynamicPaint_freeSurface(), dynamicPaint_Modifier_copy(), freeData(), psys_free(), and sbFree().
Definition at line 3029 of file pointcache.c.
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 2592 of file pointcache.c.
References BKE_ptcache_id_exist(), BLI_delete(), BLI_freelinkN(), BLI_freelistN(), BLI_join_dirfile(), 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, MIN2, PTCacheMem::next, NULL, opendir(), PTCacheID::owner_id, PTCACHE_BAKED, PTCACHE_CLEAR_AFTER, PTCACHE_CLEAR_ALL, PTCACHE_CLEAR_BEFORE, PTCACHE_CLEAR_FRAME, PTCACHE_DISK_CACHE, ptcache_filename(), ptcache_filename_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 2742 of file pointcache.c.
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_filename(), 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 1092 of file pointcache.c.
References BKE_ptcache_ids_from_object(), BLI_freelistN(), LISTBASE_FOREACH, MAX_DUPLI_RECUR, result, and scene.
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 962 of file pointcache.c.
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, NULL, 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, PTCacheID::ptcaches, ClothModifierData::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 1016 of file pointcache.c.
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, NULL, 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, surface, 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.c.
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, PTCacheID::flag, SPHFluidSettings::flag, ParticleSettings::flag, ParticleSettings::fluid, Object::id, PointCache::index, PTCacheID::info_types, PTCacheID::interpolate_extra_data, PTCacheID::interpolate_point, PTCacheID::max_step, NULL, 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, PTCacheID::ptcaches, ParticleSystem::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, PTCacheID::type, ParticleSettings::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 1054 of file pointcache.c.
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, NULL, 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 999 of file pointcache.c.
References PTCacheID::cache, PTCacheID::cache_ptr, PTCacheID::calldata, FluidModifierData::domain, Object::id, PointCache::index, PTCacheID::owner_id, FluidDomainSettings::point_cache, PTCACHE_TYPE_SMOKE_DOMAIN, PTCacheID::ptcaches, FluidDomainSettings::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.c.
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, NULL, 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 2870 of file pointcache.c.
References BKE_ptcache_id_clear(), BKE_ptcache_invalidate(), PTCacheID::cache, PTCacheID::calldata, RenderData::cfra, clear(), cloth_free_modifier(), dynamicPaint_clearSurface(), PointCache::flag, psys_reset(), PSYS_RESET_DEPSGRAPH, PTCACHE_BAKED, PTCACHE_CLEAR_AFTER, PTCACHE_CLEAR_ALL, PTCACHE_OUTDATED, PTCACHE_REDO_NEEDED, PTCACHE_RESET_BAKED, PTCACHE_RESET_DEPSGRAPH, PTCACHE_RESET_OUTDATED, PTCACHE_TYPE_CLOTH, PTCACHE_TYPE_DYNAMICPAINT, PTCACHE_TYPE_PARTICLES, PTCACHE_TYPE_SOFTBODY, Scene::r, reset, sbFreeSimulation(), scene, 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 2773 of file pointcache.c.
References BKE_scene_ctime_get(), BKE_scene_frame_to_ctime(), PTCacheID::cache, PointCache::cached_frames, PointCache::cached_frames_len, RenderData::cfra, closedir(), dirent::d_name, PointCache::endframe, ListBase::first, PointCache::flag, PTCacheMem::frame, len, MAX2, MAX_PTCACHE_FILE, MAX_PTCACHE_PATH, PointCache::mem_cache, MEM_callocN, MEM_freeN, PTCacheMem::next, NULL, opendir(), PTCACHE_DISK_CACHE, ptcache_filename(), ptcache_filename_ext_append(), ptcache_frame_from_filename(), ptcache_path(), Scene::r, readdir(), scene, PointCache::startframe, STREQLEN, and time.
Referenced by BKE_ptcache_toggle_disk_cache(), clothModifier_do(), dynamicPaint_frameUpdate(), sbObjectStep(), and system_step().
Definition at line 1250 of file pointcache.c.
References data, ListBase::first, foreach_object_ptcache(), ListBase::last, NULL, ptcache_ids_from_object_cb(), and scene.
Referenced by BKE_ptcache_bake(), BKE_ptcache_id_find(), blo_do_versions_250(), blender::deg::DepsgraphRelationBuilder::build_object_pointcache(), 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.c.
References PointCache::flag, PointCache::last_exact, MIN2, PTCACHE_SIMULATION_VALID, PointCache::simframe, and PointCache::startframe.
Referenced by BKE_ptcache_id_reset(), clothModifier_do(), do_init_cloth(), psys_reset(), sbObjectStep(), and system_step().
Loads simulation from external (disk) cache files.
Definition at line 3574 of file pointcache.c.
References BLI_snprintf(), BLI_strncpy(), PTCacheID::cache, PointCache::cached_frames, PointCache::cached_frames_len, closedir(), dirent::d_name, PointCache::endframe, PointCache::flag, PointCache::index, len, MAX2, MAX_PTCACHE_FILE, MAX_PTCACHE_PATH, MAXFRAME, MEM_freeN, MIN2, NULL, 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_filename(), 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(), PointCache::startframe, STREQLEN, PointCache::totpoint, and PTCacheID::type.
void BKE_ptcache_make_particle_key | ( | ParticleKey * | key, |
int | index, | ||
void ** | data, | ||
float | time | ||
) |
Definition at line 257 of file pointcache.c.
References ParticleKey::ave, BPHYS_DATA_AVELOCITY, BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, BPHYS_DATA_VELOCITY, ParticleKey::co, data, NULL, OB_NEGX, OB_POSZ, PTCACHE_DATA_TO, ParticleKey::rot, time, ParticleKey::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 1727 of file pointcache.c.
References BPHYS_DATA_INDEX, data, PTCacheMem::data, high(), low(), 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().
Definition at line 1772 of file pointcache.c.
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 1762 of file pointcache.c.
References BPHYS_TOT_DATA, PTCacheMem::data, PTCacheMem::data_types, and NULL.
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 1782 of file pointcache.c.
References BKE_ptcache_mem_index_find(), BPHYS_TOT_DATA, PTCacheMem::data, PTCacheMem::data_types, NULL, point_index, and ptcache_data_size.
Referenced by PE_create_particle_edit(), and ptcache_write().
Convert memory cache to disk cache.
Definition at line 3445 of file pointcache.c.
References BKE_ptcache_id_clear(), BKE_ptcache_write(), PTCacheID::cache, ListBase::first, PointCache::flag, PointCache::mem_cache, PTCacheMem::next, PTCACHE_BAKED, PTCACHE_CLEAR_ALL, PTCACHE_DISK_CACHE, and ptcache_mem_frame_to_disk().
Referenced by BKE_ptcache_toggle_disk_cache().
Check whether object has a point cache.
Definition at line 1263 of file pointcache.c.
References foreach_object_ptcache(), NULL, ptcache_object_has_cb(), and scene.
Referenced by blender::deg::DepsgraphNodeBuilder::build_object_pointcache(), and blender::deg::DepsgraphRelationBuilder::build_particle_systems().
Definition at line 2930 of file pointcache.c.
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, ParticleSystem::clmd, 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, MOD_FLUID_TYPE_DOMAIN, Object::modifiers, ModifierData::next, ParticleSystem::next, OB_ARMATURE, ParticleSystem::part, PART_HAIR, Object::particlesystem, Object::pose, PSYS_RESET_ALL, PTCACHE_BAKED, PTCACHE_OUTDATED, RBO_FLAG_NEEDS_RESHAPE, ParticleSystem::recalc, reset, Object::rigidbody_constraint, Object::rigidbody_object, Scene::rigidbody_world, scene, Object::soft, surface, DynamicPaintCanvasSettings::surfaces, ModifierData::type, FluidModifierData::type, Object::type, and ParticleSettings::type.
Referenced by BKE_object_eval_ptcache_reset(), ED_object_editmode_exit_ex(), SCULPT_dynamic_topology_disable_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 3124 of file pointcache.c.
References PTCacheBaker::anim_init, PTCacheBaker::bake, BKE_ptcache_bake(), PTCacheBaker::bmain, Scene::physics_settings, PhysicsSettings::quick_cache_step, PTCacheBaker::quick_step, PTCacheBaker::render, PTCacheBaker::scene, scene, and PTCacheBaker::view_layer.
Main cache reading call. Possible to get old or interpolated result.
Definition at line 2280 of file pointcache.c.
References BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), PTCacheID::cache, PTCacheID::calldata, PointCache::flag, blender::math::floor(), PTCacheID::interpolate_point, PointCache::last_exact, MAX2, 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().
Convert disk cache to memory cache and vice versa. Clears the cache that was converted.
Definition at line 3472 of file pointcache.c.
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, NULL, PTCacheID::owner_id, PTCACHE_CLEAR_ALL, PTCACHE_DISK_CACHE, and PTCACHE_FLAG_INFO_DIRTY.
Definition at line 3687 of file pointcache.c.
References BKE_ptcache_id_exist(), BLI_snprintf(), BLI_str_format_byte_unit(), BLI_str_format_int_grouped(), BLI_strncpy(), BPHYS_TOT_DATA, PTCacheID::cache, PTCacheID::calldata, PTCacheExtra::data, PTCacheMem::data, PointCache::endframe, PTCacheMem::extradata, ListBase::first, PointCache::flag, PointCache::info, PointCache::last_exact, MEM_allocN_len, PointCache::mem_cache, PTCacheExtra::next, PTCacheMem::next, NULL, PTCACHE_DISK_CACHE, PTCACHE_EXTERNAL, PTCACHE_FLAG_INFO_DIRTY, PTCACHE_FRAMES_SKIPPED, PTCACHE_OUTDATED, PTCACHE_TYPE_SMOKE_DOMAIN, PointCache::startframe, TIP_, PTCacheID::totpoint, PointCache::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.c.
References PointCache::flag, PTCACHE_SIMULATION_VALID, and PointCache::simframe.
Referenced by clothModifier_do(), dynamicPaint_frameUpdate(), sbObjectStep(), and system_step().
int BKE_ptcache_write | ( | PTCacheID * | pid, |
unsigned int | cfra | ||
) |
Main cache writing call. Writes cache to disk or memory.
Definition at line 2540 of file pointcache.c.
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.c.
References BLI_listbase_clear(), BLO_read_list_cb(), PointCache::cached_frames, PointCache::cached_frames_len, direct_link_pointcache_cb(), PointCache::edit, PointCache::flag, PointCache::free_edit, PointCache::mem_cache, NULL, PTCACHE_DISK_CACHE, PTCACHE_SIMULATION_VALID, and PointCache::simframe.
Referenced by BKE_ptcache_blend_read_data().
|
static |
Definition at line 3854 of file pointcache.c.
References BKE_ptcache_data_size(), BLI_endian_switch_int32_array(), BLO_read_data_address, BLO_read_list(), BLO_read_requires_endian_switch(), BPHYS_TOT_DATA, data, PTCacheMem::data, PTCacheMem::extradata, LISTBASE_FOREACH, ptcache_data_struct, and PTCacheMem::totpoint.
Referenced by direct_link_pointcache().
|
static |
Definition at line 1153 of file pointcache.c.
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, Object::modifiers, NULL, surface, DynamicPaintCanvasSettings::surfaces, and FluidModifierData::type.
Referenced by foreach_object_ptcache().
|
static |
Definition at line 1123 of file pointcache.c.
References BKE_ptcache_id_from_particles(), callback, ELEM, ListBase::first, NULL, PART_FLUID, PART_HAIR, PART_PHYS_KEYED, PART_PHYS_NO, Object::particlesystem, and PSYS_HAIR_DYNAMICS.
Referenced by foreach_object_ptcache().
|
static |
Definition at line 1191 of file pointcache.c.
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(), Object::instance_collection, NULL, Object::rigidbody_object, Scene::rigidbody_world, scene, and Object::soft.
Referenced by BKE_ptcache_ids_from_object(), and BKE_ptcache_object_has().
|
static |
Definition at line 160 of file pointcache.c.
References BLI_addtail(), count, data, PTCacheExtra::data, PTCacheMem::extradata, MEM_callocN, MEM_mallocN, ptcache_extra_datasize, size(), PTCacheExtra::totdata, type, and PTCacheExtra::type.
Referenced by ptcache_cloth_extra_write(), and ptcache_particle_extra_write().
|
static |
Definition at line 132 of file pointcache.c.
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 147 of file pointcache.c.
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.c.
References BKE_modifier_set_error(), BLI_assert, GS, ClothModifierData::hairdata, ID_OB, ClothModifierData::modifier, ID::name, and NULL.
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 624 of file pointcache.c.
References Cloth::average_acceleration, 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.c.
References Cloth::average_acceleration, 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.c.
References BKE_ptcache_make_particle_key(), ClothModifierData::clothObject, ParticleKey::co, copy_v3_v3(), data, mul_v3_fl(), psys_interpolate_particle(), ClothVertex::v, ParticleKey::vel, Cloth::verts, and ClothVertex::x.
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 553 of file pointcache.c.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, BPHYS_DATA_XCONST, ClothModifierData::clothObject, data, PTCACHE_DATA_TO, ClothVertex::v, Cloth::verts, ClothVertex::x, and ClothVertex::xconst.
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 642 of file pointcache.c.
References ClothModifierData::clothObject, and Cloth::mvert_num.
Referenced by BKE_ptcache_id_from_cloth().
Definition at line 541 of file pointcache.c.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, BPHYS_DATA_XCONST, ClothModifierData::clothObject, data, PTCACHE_DATA_FROM, ClothVertex::v, Cloth::verts, ClothVertex::x, and ClothVertex::xconst.
Referenced by BKE_ptcache_id_from_cloth().
|
static |
Definition at line 3061 of file pointcache.c.
References BLI_addtail(), BLI_listbase_clear(), BPHYS_TOT_DATA, PointCache::cached_frames, PointCache::cached_frames_len, PTCacheMem::data, PointCache::edit, ListBase::first, PointCache::flag, PointCache::mem_cache, MEM_dupallocN, PTCacheMem::next, NULL, PTCACHE_DISK_CACHE, PTCACHE_EXTERNAL, PTCACHE_IGNORE_LIBPATH, and PointCache::simframe.
Referenced by BKE_ptcache_copy_list().
|
static |
Definition at line 1802 of file pointcache.c.
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().
Definition at line 1825 of file pointcache.c.
References BPHYS_TOT_DATA, from, and ptcache_data_size.
Referenced by ptcache_disk_frame_to_mem(), and ptcache_mem_frame_to_disk().
|
static |
Definition at line 1814 of file pointcache.c.
References BPHYS_TOT_DATA, data, PTCacheMem::data, and MEM_freeN.
Referenced by ptcache_mem_clear().
|
static |
Definition at line 1931 of file pointcache.c.
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, NULL, pf, 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, PTCacheID::type, and PTCacheExtra::type.
Referenced by BKE_ptcache_disk_to_mem(), ptcache_interpolate(), ptcache_read(), and ptcache_write().
|
static |
Definition at line 669 of file pointcache.c.
Referenced by BKE_ptcache_id_from_dynamicpaint().
|
static |
Definition at line 715 of file pointcache.c.
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, surface, and UNPACK4.
Referenced by BKE_ptcache_id_from_dynamicpaint().
|
static |
Definition at line 658 of file pointcache.c.
References surface.
Referenced by BKE_ptcache_id_from_dynamicpaint().
|
static |
Definition at line 678 of file pointcache.c.
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, usdtokens::out(), pf, ptcache_file_compressed_write(), ptcache_file_write(), and surface.
Referenced by BKE_ptcache_id_from_dynamicpaint().
|
static |
Definition at line 1837 of file pointcache.c.
References BLI_freelistN(), PTCacheExtra::data, PTCacheMem::extradata, ListBase::first, MEM_freeN, and PTCacheExtra::next.
Referenced by ptcache_mem_clear().
|
static |
Definition at line 1497 of file pointcache.c.
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 1505 of file pointcache.c.
References len, MEM_callocN, MEM_freeN, NULL, pf, ptcache_file_read(), r, result, and size().
Referenced by ptcache_disk_frame_to_mem(), and ptcache_dynamicpaint_read().
|
static |
Definition at line 1554 of file pointcache.c.
References LZO_OUT_LEN, MEM_callocN, MEM_freeN, usdtokens::out(), pf, ptcache_file_write(), r, size(), and void.
Referenced by ptcache_dynamicpaint_write(), and ptcache_mem_frame_to_disk().
|
static |
Definition at line 1633 of file pointcache.c.
References BPHYS_TOT_DATA, pf, ptcache_data_size, and ptcache_file_read().
Referenced by ptcache_disk_frame_to_mem().
|
static |
Definition at line 1646 of file pointcache.c.
References BPHYS_TOT_DATA, pf, ptcache_data_size, and ptcache_file_write().
Referenced by ptcache_mem_frame_to_disk().
|
static |
Definition at line 1270 of file pointcache.c.
References PTCacheID::file_type, PTCACHE_EXT, and PTCACHE_FILE_PTCACHE.
Referenced by BKE_ptcache_load_external(), and ptcache_filename_ext_append().
|
static |
Definition at line 1659 of file pointcache.c.
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 1689 of file pointcache.c.
References pf.
Referenced by ptcache_mem_frame_to_disk(), and ptcache_write_stream().
|
static |
Caller must close after!
Definition at line 1451 of file pointcache.c.
References BKE_main_blendfile_path_from_global(), BLI_fopen(), BLI_make_existing_file(), PTCacheID::cache, PointCache::flag, ID::lib, MAX_PTCACHE_FILE, MEM_mallocN, NULL, PTCacheID::owner_id, pf, PTCACHE_EXTERNAL, PTCACHE_FILE_READ, PTCACHE_FILE_UPDATE, PTCACHE_FILE_WRITE, and ptcache_filename().
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 1712 of file pointcache.c.
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, NULL, and pf.
Referenced by ptcache_disk_frame_to_mem(), ptcache_mem_frame_to_disk(), and ptcache_read_stream().
|
static |
Definition at line 1625 of file pointcache.c.
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 1629 of file pointcache.c.
Referenced by ptcache_dynamicpaint_write(), ptcache_file_compressed_write(), ptcache_file_data_write(), and ptcache_mem_frame_to_disk().
|
static |
Definition at line 1404 of file pointcache.c.
References BKE_main_blendfile_path_from_global(), BLI_snprintf(), PTCacheID::cache, PointCache::flag, len, MAX_PTCACHE_FILE, PointCache::name, ID::name, PTCacheID::owner_id, PTCACHE_EXTERNAL, ptcache_filename_ext_append(), and ptcache_path().
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 1352 of file pointcache.c.
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_filename().
|
static |
Definition at line 1873 of file pointcache.c.
References BKE_ptcache_id_exist(), PTCacheID::cache, PointCache::endframe, ListBase::first, PointCache::flag, PTCacheMem::frame, ListBase::last, PointCache::mem_cache, PTCacheMem::next, NULL, 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 1282 of file pointcache.c.
References BLI_strncpy(), frame_len(), and len.
Referenced by BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), and BKE_ptcache_load_external().
Definition at line 1241 of file pointcache.c.
References BLI_addtail(), data, and MEM_mallocN.
Referenced by BKE_ptcache_ids_from_object().
Definition at line 2223 of file pointcache.c.
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, PTCacheID::interpolate_extra_data, PTCacheID::interpolate_point, PointCache::mem_cache, MEM_freeN, MIN2, PTCacheMem::next, NULL, 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 1852 of file pointcache.c.
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 2022 of file pointcache.c.
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, NULL, usdtokens::out(), pf, 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, PTCacheID::type, PTCacheExtra::type, and PTCacheID::write_header.
Referenced by BKE_ptcache_mem_to_disk(), and ptcache_write().
Definition at line 1258 of file pointcache.c.
Referenced by BKE_ptcache_object_has().
|
static |
Definition at line 1858 of file pointcache.c.
References PTCACHE_TYPE_CLOTH, PTCACHE_TYPE_PARTICLES, PTCACHE_TYPE_SOFTBODY, and PTCacheID::type.
Referenced by BKE_ptcache_load_external().
|
static |
Definition at line 471 of file pointcache.c.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 520 of file pointcache.c.
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 508 of file pointcache.c.
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 387 of file pointcache.c.
References BKE_ptcache_make_particle_key(), BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, BPHYS_DATA_VELOCITY, data, ParticleData::dietime, if(), interp_qt_qtqt(), MAX2, MIN2, mul_v3_fl(), ParticleSystem::part, ParticleSystem::particles, ParticleSystem::pointcache, psys_interpolate_particle(), rot, ParticleKey::rot, ParticleData::state, PointCache::step, sub_v3_v3v3(), time, ParticleKey::time, ParticleData::time, ParticleSettings::timetweak, ParticleSystem::totpart, unit_qt(), and ParticleKey::vel.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 319 of file pointcache.c.
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, data, BoidParticle::data, ParticleData::dietime, if(), ParticleData::lifetime, mul_v3_fl(), NULL, ParticleSystem::part, PART_PHYS_BOIDS, ParticleSystem::particles, ParticleSettings::phystype, ParticleData::prev_state, PTCACHE_DATA_TO, ParticleKey::rot, ParticleData::size, ParticleData::state, sub_v3_v3v3(), time, ParticleKey::time, ParticleData::time, ParticleSettings::timetweak, ParticleSystem::totpart, unit_qt(), and ParticleKey::vel.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 465 of file pointcache.c.
References ParticleSystem::totpart.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 478 of file pointcache.c.
References ParticleData::dietime, ParticleSettings::flag, 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 273 of file pointcache.c.
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, data, BoidParticle::data, ParticleData::dietime, ParticleSettings::flag, if(), ParticleData::lifetime, NULL, 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, time, ParticleKey::time, ParticleData::time, and ParticleKey::vel.
Referenced by BKE_ptcache_id_from_particles().
|
static |
Definition at line 1309 of file pointcache.c.
References BKE_main_blendfile_path_from_global(), BKE_tempdir_session, BLI_path_abs(), BLI_path_is_rel(), BLI_path_slash_ensure(), BLI_snprintf(), BLI_split_file_part(), PTCacheID::cache, file, PointCache::flag, if(), lib, ID::lib, MAX_PTCACHE_PATH, NULL, 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_filename().
|
static |
Definition at line 2166 of file pointcache.c.
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, MIN2, PTCacheMem::next, NULL, 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().
|
static |
Definition at line 2118 of file pointcache.c.
References PTCacheID::calldata, error(), PTCacheID::error, G, G_DEBUG, NULL, PTCacheID::owner_id, pf, 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.c.
Referenced by BKE_ptcache_id_from_rigidbody().
|
static |
Definition at line 809 of file pointcache.c.
References BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, data, interp_qt_qtqt(), interp_v3_v3v3(), NULL, RigidBodyWorld::objects, RigidBodyOb::orn, pos, RigidBodyOb::pos, PTCACHE_DATA_TO, RBO_TYPE_ACTIVE, Object::rigidbody_object, t, and RigidBodyOb::type.
Referenced by BKE_ptcache_id_from_rigidbody().
|
static |
Definition at line 783 of file pointcache.c.
References BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, data, NULL, 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().
|
static |
Definition at line 848 of file pointcache.c.
References RigidBodyWorld::numbodies.
Referenced by BKE_ptcache_id_from_rigidbody().
Definition at line 759 of file pointcache.c.
References BPHYS_DATA_LOCATION, BPHYS_DATA_ROTATION, data, NULL, 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 248 of file pointcache.c.
Referenced by BKE_ptcache_id_from_softbody().
|
static |
Definition at line 203 of file pointcache.c.
References BKE_ptcache_make_particle_key(), SoftBody::bpoint, ParticleKey::co, copy_v3_v3(), data, mul_v3_fl(), BodyPoint::pos, psys_interpolate_particle(), BodyPoint::vec, and ParticleKey::vel.
Referenced by BKE_ptcache_id_from_softbody().
|
static |
Definition at line 188 of file pointcache.c.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, SoftBody::bpoint, data, BodyPoint::pos, PTCACHE_DATA_TO, and BodyPoint::vec.
Referenced by BKE_ptcache_id_from_softbody().
|
static |
Definition at line 243 of file pointcache.c.
References SoftBody::totpoint.
Referenced by BKE_ptcache_id_from_softbody().
Definition at line 178 of file pointcache.c.
References BPHYS_DATA_LOCATION, BPHYS_DATA_VELOCITY, SoftBody::bpoint, data, BodyPoint::pos, PTCACHE_DATA_FROM, and BodyPoint::vec.
Referenced by BKE_ptcache_id_from_softbody().
|
static |
Definition at line 2413 of file pointcache.c.
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, NULL, 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().
|
static |
Definition at line 2486 of file pointcache.c.
References BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), PTCacheID::cache, PointCache::endframe, PointCache::flag, PTCacheMem::frame, ListBase::last, PointCache::mem_cache, NULL, PTCacheMem::prev, PTCACHE_CLEAR_ALL, PTCACHE_CLEAR_FRAME, PTCACHE_DISK_CACHE, PTCACHE_REDO_NEEDED, PointCache::startframe, and PointCache::step.
Referenced by BKE_ptcache_write().
|
static |
Definition at line 2375 of file pointcache.c.
References BKE_ptcache_id_clear(), PTCacheID::calldata, PTCacheID::data_types, error(), G, G_DEBUG, NULL, pf, 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 105 of file pointcache.c.
Referenced by ptcache_dynamicpaint_read().
|
static |
Definition at line 107 of file pointcache.c.
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 3805 of file pointcache.c.
Referenced by BKE_ptcache_blend_write(), and direct_link_pointcache_cb().
|
static |
Definition at line 118 of file pointcache.c.
Referenced by ptcache_add_extra_data(), ptcache_disk_frame_to_mem(), and ptcache_mem_frame_to_disk().
|
static |
Definition at line 3815 of file pointcache.c.
Referenced by BKE_ptcache_blend_write().