21 #define PTCACHE_CLEAR_ALL 0
22 #define PTCACHE_CLEAR_FRAME 1
23 #define PTCACHE_CLEAR_BEFORE 2
24 #define PTCACHE_CLEAR_AFTER 3
27 #define PTCACHE_RESET_DEPSGRAPH 0
28 #define PTCACHE_RESET_BAKED 1
29 #define PTCACHE_RESET_OUTDATED 2
33 #define PTCACHE_EXT ".bphys"
34 #define PTCACHE_PATH "blendcache_"
37 #define PTCACHE_FILE_READ 0
38 #define PTCACHE_FILE_WRITE 1
39 #define PTCACHE_FILE_UPDATE 2
42 #define PTCACHE_TYPE_SOFTBODY 0
43 #define PTCACHE_TYPE_PARTICLES 1
44 #define PTCACHE_TYPE_CLOTH 2
45 #define PTCACHE_TYPE_SMOKE_DOMAIN 3
46 #define PTCACHE_TYPE_SMOKE_HIGHRES 4
47 #define PTCACHE_TYPE_DYNAMICPAINT 5
48 #define PTCACHE_TYPE_RIGIDBODY 6
49 #define PTCACHE_TYPE_SIM_PARTICLES 7
52 #define PTCACHE_TYPEFLAG_COMPRESS (1 << 16)
53 #define PTCACHE_TYPEFLAG_EXTRADATA (1 << 17)
55 #define PTCACHE_TYPEFLAG_TYPEMASK 0x0000FFFF
56 #define PTCACHE_TYPEFLAG_FLAGMASK 0xFFFF0000
59 #define PTCACHE_READ_EXACT 1
60 #define PTCACHE_READ_INTERPOLATED 2
61 #define PTCACHE_READ_OLD 3
103 #define PTCACHE_VEL_PER_SEC 1
136 const float *old_data);
187 #define PEK_USE_WCO 8
203 #define PEP_EDIT_RECALC 2
204 #define PEP_TRANSFORM 4
349 const struct ListBase *ptcaches_old,
383 const char *name_src,
384 const char *name_dst);
int BKE_ptcache_data_size(int data_type)
bool BKE_ptcache_id_exist(PTCacheID *id, int cfra)
void BKE_ptcache_mem_pointers_incr(void *cur[BPHYS_TOT_DATA])
void BKE_ptcache_free_mem(struct ListBase *mem_cache)
void BKE_ptcache_ids_from_object(struct ListBase *lb, struct Object *ob, struct Scene *scene, int duplis)
struct PTCacheFile PTCacheFile
bool BKE_ptcache_object_has(struct Scene *scene, struct Object *ob, int duplis)
void BKE_ptcache_id_time(PTCacheID *pid, struct Scene *scene, float cfra, int *startframe, int *endframe, float *timescale)
void BKE_ptcache_id_from_rigidbody(PTCacheID *pid, struct Object *ob, struct RigidBodyWorld *rbw)
struct PTCacheBaker PTCacheBaker
void BKE_ptcache_quick_cache_all(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer)
struct PointCache * BKE_ptcache_copy_list(struct ListBase *ptcaches_new, const struct ListBase *ptcaches_old, int flag)
void BKE_ptcache_id_from_particles(PTCacheID *pid, struct Object *ob, struct ParticleSystem *psys)
void BKE_ptcache_update_info(PTCacheID *pid)
void BKE_ptcache_validate(struct PointCache *cache, int framenr)
void BKE_ptcache_bake(struct PTCacheBaker *baker)
void BKE_ptcache_toggle_disk_cache(struct PTCacheID *pid)
void BKE_ptcache_id_from_dynamicpaint(PTCacheID *pid, struct Object *ob, struct DynamicPaintSurface *surface)
struct PTCacheID PTCacheID
int BKE_ptcache_mem_pointers_seek(int point_index, struct PTCacheMem *pm, void *cur[BPHYS_TOT_DATA])
void BKE_ptcache_id_clear(PTCacheID *id, int mode, unsigned int cfra)
void BKE_ptcache_id_from_softbody(PTCacheID *pid, struct Object *ob, struct SoftBody *sb)
struct PTCacheEditKey PTCacheEditKey
void BKE_ptcache_disk_to_mem(struct PTCacheID *pid)
struct PTCacheEdit PTCacheEdit
void BKE_ptcache_blend_read_data(struct BlendDataReader *reader, struct ListBase *ptcaches, struct PointCache **ocache, int force_disk)
int BKE_ptcache_id_reset(struct Scene *scene, PTCacheID *id, int mode)
@ PT_CACHE_EDIT_UPDATE_PARTICLE_FROM_EVAL
struct PointCache * BKE_ptcache_add(struct ListBase *ptcaches)
void BKE_ptcache_load_external(struct PTCacheID *pid)
PTCacheID BKE_ptcache_id_find(struct Object *ob, struct Scene *scene, struct PointCache *cache)
int BKE_ptcache_read(PTCacheID *pid, float cfra, bool no_extrapolate_old)
int BKE_ptcache_mem_index_find(struct PTCacheMem *pm, unsigned int index)
void BKE_ptcache_make_particle_key(struct ParticleKey *key, int index, void **data, float time)
void BKE_ptcache_id_from_cloth(PTCacheID *pid, struct Object *ob, struct ClothModifierData *clmd)
int BKE_ptcache_write(PTCacheID *pid, unsigned int cfra)
void BKE_ptcache_mem_to_disk(struct PTCacheID *pid)
void BKE_ptcache_free_list(struct ListBase *ptcaches)
int BKE_ptcache_object_reset(struct Scene *scene, struct Object *ob, int mode)
struct PTCacheEditPoint PTCacheEditPoint
void BKE_ptcache_id_from_smoke(PTCacheID *pid, struct Object *ob, struct FluidModifierData *fmd)
void BKE_ptcache_free(struct PointCache *cache)
struct PTCacheData PTCacheData
void BKE_ptcache_invalidate(struct PointCache *cache)
struct PTCacheUndo PTCacheUndo
void BKE_ptcache_disk_cache_rename(struct PTCacheID *pid, const char *name_src, const char *name_dst)
void BKE_ptcache_mem_pointers_init(struct PTCacheMem *pm, void *cur[BPHYS_TOT_DATA])
void BKE_ptcache_blend_write(struct BlendWriter *writer, struct ListBase *ptcaches)
struct Depsgraph Depsgraph
SyclQueue void void size_t num_bytes void
struct @211::@212 surface
#define pf(_x, _i)
Prefetch 64.
void(* update_progress)(void *data, float progress, int *cancel)
struct Depsgraph * depsgraph
struct ViewLayer * view_layer
struct PTCacheEditKey * keys
struct ParticleSystemModifierData * psmd
struct ParticleCacheKey ** pathcache
PTCacheEditPoint * points
struct ParticleSystem * psys
struct ParticleSystemModifierData * psmd_eval
struct KDTree_3d * emitter_field
struct ParticleSystem * psys_eval
void * cur[BPHYS_TOT_DATA]
struct PointCache ** cache_ptr
int(* write_stream)(PTCacheFile *pf, void *calldata)
int(* write_point)(int index, void *calldata, void **data, int cfra)
int(* write_header)(PTCacheFile *pf)
void(* read_point)(int index, void *calldata, void **data, float cfra, const float *old_data)
void(* interpolate_extra_data)(void *calldata, struct PTCacheMem *pm, float cfra, float cfra1, float cfra2)
struct ListBase * ptcaches
void(* read_extra_data)(void *calldata, struct PTCacheMem *pm, float cfra)
void(* interpolate_point)(int index, void *calldata, void **data, float cfra, float cfra1, float cfra2, const float *old_data)
unsigned int default_step
int(* totpoint)(void *calldata, int cfra)
int(* totwrite)(void *calldata, int cfra)
void(* write_extra_data)(void *calldata, struct PTCacheMem *pm, int cfra)
int(* read_stream)(PTCacheFile *pf, void *calldata)
void(* error)(const struct ID *owner_id, void *calldata, const char *message)
int(* read_header)(PTCacheFile *pf)
struct PointCache * cache
struct ListBase mem_cache
struct KDTree_3d * emitter_field
struct PTCacheEditPoint * points
struct ParticleData * particles
struct ListBase mem_cache