Blender  V3.3
Functions | Variables
cachefile.c File Reference
#include <string.h>
#include "DNA_anim_types.h"
#include "DNA_cachefile_types.h"
#include "DNA_constraint_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_fileops.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_path_util.h"
#include "BLI_string.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_anim_data.h"
#include "BKE_bpath.h"
#include "BKE_cachefile.h"
#include "BKE_idtype.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_modifier.h"
#include "BKE_scene.h"
#include "DEG_depsgraph_query.h"
#include "RE_engine.h"
#include "BLO_read_write.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Functions

static void cachefile_handle_free (CacheFile *cache_file)
 
static void cache_file_init_data (ID *id)
 
static void cache_file_copy_data (Main *UNUSED(bmain), ID *id_dst, const ID *id_src, const int UNUSED(flag))
 
static void cache_file_free_data (ID *id)
 
static void cache_file_foreach_path (ID *id, BPathForeachPathData *bpath_data)
 
static void cache_file_blend_write (BlendWriter *writer, ID *id, const void *id_address)
 
static void cache_file_blend_read_data (BlendDataReader *reader, ID *id)
 
void BKE_cachefiles_init (void)
 
void BKE_cachefiles_exit (void)
 
void BKE_cachefile_reader_open (CacheFile *cache_file, struct CacheReader **reader, Object *object, const char *object_path)
 
void BKE_cachefile_reader_free (CacheFile *cache_file, struct CacheReader **reader)
 
voidBKE_cachefile_add (Main *bmain, const char *name)
 
void BKE_cachefile_reload (Depsgraph *depsgraph, CacheFile *cache_file)
 
void BKE_cachefile_eval (Main *bmain, Depsgraph *depsgraph, CacheFile *cache_file)
 
bool BKE_cachefile_filepath_get (const Main *bmain, const Depsgraph *depsgraph, const CacheFile *cache_file, char r_filepath[FILE_MAX])
 
double BKE_cachefile_time_offset (const CacheFile *cache_file, const double time, const double fps)
 
bool BKE_cache_file_uses_render_procedural (const CacheFile *cache_file, Scene *scene)
 
CacheFileLayerBKE_cachefile_add_layer (CacheFile *cache_file, const char filename[1024])
 
CacheFileLayerBKE_cachefile_get_active_layer (CacheFile *cache_file)
 
void BKE_cachefile_remove_layer (CacheFile *cache_file, CacheFileLayer *layer)
 

Variables

IDTypeInfo IDType_ID_CF
 
static SpinLock spin
 

Function Documentation

◆ BKE_cache_file_uses_render_procedural()

bool BKE_cache_file_uses_render_procedural ( const CacheFile cache_file,
Scene scene 
)

◆ BKE_cachefile_add()

void* BKE_cachefile_add ( Main bmain,
const char *  name 
)

Definition at line 324 of file cachefile.c.

References BKE_id_new(), and ID_CF.

Referenced by blender::io::usd::import_startjob(), and import_startjob().

◆ BKE_cachefile_add_layer()

CacheFileLayer* BKE_cachefile_add_layer ( CacheFile cache_file,
const char  filename[1024] 
)

◆ BKE_cachefile_eval()

void BKE_cachefile_eval ( Main bmain,
Depsgraph depsgraph,
CacheFile cache_file 
)

◆ BKE_cachefile_filepath_get()

bool BKE_cachefile_filepath_get ( const Main bmain,
const Depsgraph depsgraph,
const CacheFile cache_file,
char  r_filepath[FILE_MAX] 
)

◆ BKE_cachefile_get_active_layer()

CacheFileLayer* BKE_cachefile_get_active_layer ( CacheFile cache_file)

◆ BKE_cachefile_reader_free()

void BKE_cachefile_reader_free ( CacheFile cache_file,
struct CacheReader **  reader 
)

◆ BKE_cachefile_reader_open()

void BKE_cachefile_reader_open ( CacheFile cache_file,
struct CacheReader **  reader,
Object object,
const char *  object_path 
)

◆ BKE_cachefile_reload()

void BKE_cachefile_reload ( Depsgraph depsgraph,
CacheFile cache_file 
)

◆ BKE_cachefile_remove_layer()

void BKE_cachefile_remove_layer ( CacheFile cache_file,
CacheFileLayer layer 
)

Definition at line 457 of file cachefile.c.

References CacheFile::active_layer, BLI_remlink(), CacheFile::layers, and MEM_freeN.

Referenced by cachefile_layer_remove_exec().

◆ BKE_cachefile_time_offset()

double BKE_cachefile_time_offset ( const CacheFile cache_file,
const double  time,
const double  fps 
)

◆ BKE_cachefiles_exit()

void BKE_cachefiles_exit ( void  )

Definition at line 169 of file cachefile.c.

References BLI_spin_end(), and spin.

Referenced by BKE_blender_free().

◆ BKE_cachefiles_init()

void BKE_cachefiles_init ( void  )

Definition at line 164 of file cachefile.c.

References BLI_spin_init(), and spin.

Referenced by main().

◆ cache_file_blend_read_data()

static void cache_file_blend_read_data ( BlendDataReader reader,
ID id 
)
static

◆ cache_file_blend_write()

static void cache_file_blend_write ( BlendWriter writer,
ID id,
const void id_address 
)
static

◆ cache_file_copy_data()

static void cache_file_copy_data ( Main UNUSEDbmain,
ID id_dst,
const ID id_src,
const int   UNUSEDflag 
)
static

◆ cache_file_foreach_path()

static void cache_file_foreach_path ( ID id,
BPathForeachPathData bpath_data 
)
static

Definition at line 86 of file cachefile.c.

References BKE_bpath_foreach_path_fixed_process(), and CacheFile::filepath.

◆ cache_file_free_data()

static void cache_file_free_data ( ID id)
static

◆ cache_file_init_data()

static void cache_file_init_data ( ID id)
static

◆ cachefile_handle_free()

static void cachefile_handle_free ( CacheFile cache_file)
static

Variable Documentation

◆ IDType_ID_CF

IDTypeInfo IDType_ID_CF
Initial value:
= {
.id_code = ID_CF,
.id_filter = FILTER_ID_CF,
.main_listbase_index = INDEX_ID_CF,
.struct_size = sizeof(CacheFile),
.name = "CacheFile",
.name_plural = "cache_files",
.translation_context = BLT_I18NCONTEXT_ID_CACHEFILE,
.asset_type_info = NULL,
.copy_data = cache_file_copy_data,
.free_data = cache_file_free_data,
.make_local = NULL,
.foreach_id = NULL,
.foreach_cache = NULL,
.foreach_path = cache_file_foreach_path,
.owner_get = NULL,
.blend_write = cache_file_blend_write,
.blend_read_data = cache_file_blend_read_data,
.blend_read_lib = NULL,
.blend_read_expand = NULL,
.blend_read_undo_preserve = NULL,
.lib_override_apply_post = NULL,
}
@ IDTYPE_FLAGS_APPEND_IS_REUSABLE
Definition: BKE_idtype.h:39
#define BLT_I18NCONTEXT_ID_CACHEFILE
#define FILTER_ID_CF
Definition: DNA_ID.h:927
@ INDEX_ID_CF
Definition: DNA_ID.h:1017
@ ID_CF
Definition: DNA_ID_enums.h:78
struct CacheFile CacheFile
static void init_data(ModifierData *md)
static void cache_file_free_data(ID *id)
Definition: cachefile.c:78
static void cache_file_init_data(ID *id)
Definition: cachefile.c:53
static void cache_file_blend_write(BlendWriter *writer, ID *id, const void *id_address)
Definition: cachefile.c:92
static void cache_file_foreach_path(ID *id, BPathForeachPathData *bpath_data)
Definition: cachefile.c:86
static void cache_file_blend_read_data(BlendDataReader *reader, ID *id)
Definition: cachefile.c:115
static void cache_file_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, const int UNUSED(flag))
Definition: cachefile.c:64

Definition at line 131 of file cachefile.c.

◆ spin

SpinLock spin
static