Blender
V3.3
|
#include <DNA_pointcache_types.h>
Public Attributes | |
struct PointCache * | next |
struct PointCache * | prev |
int | flag |
int | step |
int | simframe |
int | startframe |
int | endframe |
int | editframe |
int | last_exact |
int | last_valid |
char | _pad [4] |
int | totpoint |
int | index |
short | compression |
char | _pad0 [2] |
char | name [64] |
char | prev_name [64] |
char | info [128] |
char | path [1024] |
char * | cached_frames |
int | cached_frames_len |
char | _pad1 [4] |
struct ListBase | mem_cache |
struct PTCacheEdit * | edit |
void(* | free_edit )(struct PTCacheEdit *edit) |
Definition at line 57 of file DNA_pointcache_types.h.
char PointCache::_pad[4] |
Definition at line 89 of file DNA_pointcache_types.h.
char PointCache::_pad0[2] |
Definition at line 97 of file DNA_pointcache_types.h.
char PointCache::_pad1[4] |
Definition at line 111 of file DNA_pointcache_types.h.
char* PointCache::cached_frames |
Array of length endframe - startframe + 1
with flags to indicate cached frames. Can be later used for other per frame flags too if needed.
Definition at line 109 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_free(), BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), BKE_ptcache_toggle_disk_cache(), BKE_ptcache_write(), direct_link_pointcache(), ptcache_copy(), and timeline_cache_find_next_cached_segment().
int PointCache::cached_frames_len |
Definition at line 110 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_id_time(), BKE_ptcache_load_external(), BKE_ptcache_toggle_disk_cache(), direct_link_pointcache(), and ptcache_copy().
short PointCache::compression |
Definition at line 96 of file DNA_pointcache_types.h.
Referenced by ptcache_mem_frame_to_disk().
struct PTCacheEdit* PointCache::edit |
Definition at line 115 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_free(), cloth_clear_cache(), direct_link_pointcache(), PE_create_particle_edit(), pe_get_current(), PE_get_current_from_psys(), psys_check_edited(), psys_in_edit_mode(), ptcache_copy(), and ptcache_free_bake().
int PointCache::editframe |
Frame being edited (runtime only).
Definition at line 84 of file DNA_pointcache_types.h.
int PointCache::endframe |
Simulation end frame.
Definition at line 82 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_add(), BKE_ptcache_bake(), BKE_ptcache_disk_to_mem(), BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), BKE_ptcache_update_info(), dynamicPaint_frameUpdate(), init_particle_interpolation(), ptcache_find_frames_around(), ptcache_write_needed(), system_step(), timeline_cache_draw_single(), and timeline_cache_find_next_cached_segment().
int PointCache::flag |
Generic flag.
Definition at line 60 of file DNA_pointcache_types.h.
Referenced by BKE_fluid_modifier_create_type_data(), BKE_modifier_blend_read_data(), BKE_modifier_blend_write(), BKE_ptcache_bake(), BKE_ptcache_disk_to_mem(), BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), BKE_ptcache_id_reset(), BKE_ptcache_id_time(), BKE_ptcache_invalidate(), BKE_ptcache_load_external(), BKE_ptcache_mem_to_disk(), BKE_ptcache_object_reset(), BKE_ptcache_read(), BKE_ptcache_toggle_disk_cache(), BKE_ptcache_update_info(), BKE_ptcache_validate(), BKE_ptcache_write(), blo_do_versions_250(), blo_do_versions_270(), blo_do_versions_pre250(), cached_step(), clothModifier_do(), direct_link_pointcache(), DRW_object_is_visible_psys_in_active_context(), dynamicPaint_frameUpdate(), modifyMesh(), object_lib_override_apply_post(), particles_are_dynamic(), PE_create_particle_edit(), pe_get_current(), PE_get_current_from_psys(), psys_clear_temp_pointcache(), psys_get_current_display_percentage(), psys_make_temp_pointcache(), psys_update_path_cache(), ptcache_bake_from_cache_exec(), ptcache_copy(), ptcache_file_open(), ptcache_filename(), ptcache_filename_ext_append(), ptcache_find_frames_around(), ptcache_free_bake(), ptcache_interpolate(), ptcache_path(), ptcache_poll(), ptcache_read(), ptcache_write(), ptcache_write_needed(), reset_particle(), sbObjectStep(), special_aftertrans_update__object(), system_step(), timeline_cache_modify_color_based_on_state(), and tot_particles().
void(* PointCache::free_edit) (struct PTCacheEdit *edit) |
Free callback.
Definition at line 117 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_free(), direct_link_pointcache(), and PE_create_particle_edit().
int PointCache::index |
Modifier stack index.
Definition at line 95 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_add(), 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_load_external(), BKE_ptcache_toggle_disk_cache(), and ptcache_filename_ext_append().
char PointCache::info[128] |
Definition at line 101 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_update_info().
int PointCache::last_exact |
Last exact frame that's cached.
Definition at line 86 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_bake(), BKE_ptcache_id_clear(), BKE_ptcache_invalidate(), BKE_ptcache_read(), BKE_ptcache_toggle_disk_cache(), BKE_ptcache_update_info(), BKE_ptcache_write(), clothModifier_do(), sbObjectStep(), and system_step().
int PointCache::last_valid |
Used for editing cache - what is the last baked frame.
Definition at line 88 of file DNA_pointcache_types.h.
struct ListBase PointCache::mem_cache |
Definition at line 111 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_disk_to_mem(), BKE_ptcache_free(), BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), BKE_ptcache_id_time(), BKE_ptcache_mem_to_disk(), BKE_ptcache_update_info(), direct_link_pointcache(), get_pointcache_keys_for_time(), get_pointcache_times_for_particle(), PE_create_particle_edit(), psys_clear_temp_pointcache(), psys_get_dietime_from_cache(), psys_make_temp_pointcache(), ptcache_copy(), ptcache_find_frames_around(), ptcache_interpolate(), ptcache_read(), ptcache_write(), ptcache_write_needed(), reset_particle(), undoptcache_from_editcache(), and undoptcache_to_editcache().
char PointCache::name[64] |
Definition at line 99 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_disk_cache_rename(), object_lib_override_apply_post(), and ptcache_filename().
struct PointCache* PointCache::next |
Definition at line 58 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_copy_list(), and object_lib_override_apply_post().
char PointCache::path[1024] |
File path, 1024 = FILE_MAX.
Definition at line 103 of file DNA_pointcache_types.h.
Referenced by ptcache_path().
struct PointCache * PointCache::prev |
Definition at line 58 of file DNA_pointcache_types.h.
char PointCache::prev_name[64] |
Definition at line 100 of file DNA_pointcache_types.h.
int PointCache::simframe |
Current frame of simulation (only if SIMULATION_VALID).
Definition at line 78 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_invalidate(), BKE_ptcache_read(), BKE_ptcache_validate(), clothModifier_do(), direct_link_pointcache(), ptcache_copy(), sbObjectStep(), and system_step().
int PointCache::startframe |
Simulation start frame.
Definition at line 80 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_add(), BKE_ptcache_bake(), BKE_ptcache_disk_to_mem(), BKE_ptcache_id_clear(), BKE_ptcache_id_exist(), BKE_ptcache_id_time(), BKE_ptcache_invalidate(), BKE_ptcache_load_external(), BKE_ptcache_update_info(), BKE_ptcache_write(), dynamicPaint_frameUpdate(), init_particle_interpolation(), OVERLAY_volume_extra(), ptcache_find_frames_around(), ptcache_write(), ptcache_write_needed(), scene_blend_read_data(), system_step(), timeline_cache_draw_cached_segments(), timeline_cache_draw_single(), timeline_cache_find_next_cached_segment(), and timeline_cache_segments_count().
int PointCache::step |
The number of frames between cached frames. This should probably be an upper bound for a per point adaptive step in the future, but for now it's the same for all points. Without adaptivity this can effect the perceived simulation quite a bit though. If for example particles are colliding with a horizontal plane (with high damping) they quickly come to a stop on the plane, however there are still forces acting on the particle (gravity and collisions), so the particle velocity isn't necessarily zero for the whole duration of the frame even if the particle seems stationary. If all simulation frames aren't cached (step > 1) these velocities are interpolated into movement for the non-cached frames. The result will look like the point is oscillating around the collision location. So for now cache step should be set to 1 for accurate reproduction of collisions.
Definition at line 75 of file DNA_pointcache_types.h.
Referenced by BKE_fluid_modifier_create_type_data(), BKE_modifier_blend_write(), BKE_ptcache_add(), blo_do_versions_pre250(), dynamics_step(), initData(), ptcache_add_new_exec(), ptcache_particle_interpolate(), ptcache_particle_totwrite(), ptcache_particle_write(), and ptcache_write_needed().
int PointCache::totpoint |
Number of cached points.
Definition at line 93 of file DNA_pointcache_types.h.
Referenced by BKE_ptcache_load_external(), BKE_ptcache_update_info(), and tot_particles().