Blender V5.0
cachefile.cc File Reference
#include <cstring>
#include <optional>
#include "DNA_cachefile_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_mutex.hh"
#include "BLI_path_utils.hh"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLT_translation.hh"
#include "BKE_bpath.hh"
#include "BKE_cachefile.hh"
#include "BKE_idtype.hh"
#include "BKE_lib_id.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BKE_scene.hh"
#include "DEG_depsgraph_query.hh"
#include "RE_engine.h"
#include "BLO_read_write.hh"
#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 *, std::optional< Library * >, ID *id_dst, const ID *id_src, const int)
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_cachefile_reader_open (CacheFile *cache_file, CacheReader **reader, Object *object, const char *object_path)
void BKE_cachefile_reader_free (CacheFile *cache_file, CacheReader **reader)
void * BKE_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)
double BKE_cachefile_frame_offset (const CacheFile *cache_file, const double time)
CacheFileLayerBKE_cachefile_add_layer (CacheFile *cache_file, const char filepath[1024])
CacheFileLayerBKE_cachefile_get_active_layer (CacheFile *cache_file)
void BKE_cachefile_remove_layer (CacheFile *cache_file, CacheFileLayer *layer)

Variables

IDTypeInfo IDType_ID_CF

Function Documentation

◆ BKE_cachefile_add()

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

Definition at line 311 of file cachefile.cc.

References BKE_id_new(), and name.

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

◆ BKE_cachefile_add_layer()

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

Add a layer to the cache_file. Return NULL if the filepath is already that of an existing layer or if the number of layers exceeds the maximum allowed layer count.

Definition at line 418 of file cachefile.cc.

References CacheFile::active_layer, BLI_addtail(), BLI_listbase_count(), CacheFileLayer::filepath, CacheFile::layers, LISTBASE_FOREACH, MEM_callocN(), STREQ, and STRNCPY().

Referenced by cachefile_layer_add_exec().

◆ BKE_cachefile_eval()

◆ BKE_cachefile_filepath_get()

◆ BKE_cachefile_frame_offset()

double BKE_cachefile_frame_offset ( const CacheFile * cache_file,
const double time )

◆ BKE_cachefile_get_active_layer()

CacheFileLayer * BKE_cachefile_get_active_layer ( CacheFile * cache_file)

◆ BKE_cachefile_reader_free()

◆ BKE_cachefile_reader_open()

◆ 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 )

◆ BKE_cachefile_time_offset()

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

◆ cache_file_blend_read_data()

void cache_file_blend_read_data ( BlendDataReader * reader,
ID * id )
static

◆ cache_file_blend_write()

◆ cache_file_copy_data()

void cache_file_copy_data ( Main * ,
std::optional< Library * > ,
ID * id_dst,
const ID * id_src,
const int  )
static

◆ cache_file_foreach_path()

void cache_file_foreach_path ( ID * id,
BPathForeachPathData * bpath_data )
static

Definition at line 86 of file cachefile.cc.

References BKE_bpath_foreach_path_fixed_process(), and CacheFile::filepath.

◆ cache_file_free_data()

void cache_file_free_data ( ID * id)
static

◆ cache_file_init_data()

◆ cachefile_handle_free()

Variable Documentation

◆ IDType_ID_CF

IDTypeInfo IDType_ID_CF
Initial value:
= {
CacheFile::id_type,
0,
sizeof(CacheFile),
"CacheFile",
N_("cache_files"),
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
@ IDTYPE_FLAGS_APPEND_IS_REUSABLE
Definition BKE_idtype.hh:47
#define BLT_I18NCONTEXT_ID_CACHEFILE
#define FILTER_ID_CF
Definition DNA_ID.h:1225
@ INDEX_ID_CF
Definition DNA_ID.h:1317
static void cache_file_free_data(ID *id)
Definition cachefile.cc:78
static void cache_file_copy_data(Main *, std::optional< Library * >, ID *id_dst, const ID *id_src, const int)
Definition cachefile.cc:63
static void cache_file_init_data(ID *id)
Definition cachefile.cc:52
static void cache_file_blend_write(BlendWriter *writer, ID *id, const void *id_address)
Definition cachefile.cc:93
static void cache_file_foreach_path(ID *id, BPathForeachPathData *bpath_data)
Definition cachefile.cc:86
static void cache_file_blend_read_data(BlendDataReader *reader, ID *id)
Definition cachefile.cc:112
#define N_(msgid)

Definition at line 124 of file cachefile.cc.