Blender  V3.3
Typedefs | Enumerations | Functions | Variables
BKE_volume.h File Reference

Volume data-block. More...

Go to the source code of this file.

Typedefs

typedef struct VolumeGrid VolumeGrid
 
typedef enum VolumeGridType VolumeGridType
 

Enumerations

enum  { BKE_VOLUME_BATCH_DIRTY_ALL = 0 }
 
enum  VolumeGridType {
  VOLUME_GRID_UNKNOWN = 0 , VOLUME_GRID_BOOLEAN , VOLUME_GRID_FLOAT , VOLUME_GRID_DOUBLE ,
  VOLUME_GRID_INT , VOLUME_GRID_INT64 , VOLUME_GRID_MASK , VOLUME_GRID_VECTOR_FLOAT ,
  VOLUME_GRID_VECTOR_DOUBLE , VOLUME_GRID_VECTOR_INT , VOLUME_GRID_POINTS
}
 

Functions

void BKE_volumes_init (void)
 
void BKE_volume_init_grids (struct Volume *volume)
 
voidBKE_volume_add (struct Main *bmain, const char *name)
 
struct BoundBoxBKE_volume_boundbox_get (struct Object *ob)
 
bool BKE_volume_is_y_up (const struct Volume *volume)
 
bool BKE_volume_is_points_only (const struct Volume *volume)
 
void BKE_volume_eval_geometry (struct Depsgraph *depsgraph, struct Volume *volume)
 
void BKE_volume_data_update (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *object)
 
void BKE_volume_grids_backup_restore (struct Volume *volume, struct VolumeGridVector *grids, const char *filepath)
 
void BKE_volume_batch_cache_dirty_tag (struct Volume *volume, int mode)
 
void BKE_volume_batch_cache_free (struct Volume *volume)
 
bool BKE_volume_load (const struct Volume *volume, const struct Main *bmain)
 
void BKE_volume_unload (struct Volume *volume)
 
bool BKE_volume_is_loaded (const struct Volume *volume)
 
int BKE_volume_num_grids (const struct Volume *volume)
 
const char * BKE_volume_grids_error_msg (const struct Volume *volume)
 
const char * BKE_volume_grids_frame_filepath (const struct Volume *volume)
 
const VolumeGridBKE_volume_grid_get_for_read (const struct Volume *volume, int grid_index)
 
VolumeGridBKE_volume_grid_get_for_write (struct Volume *volume, int grid_index)
 
const VolumeGridBKE_volume_grid_active_get_for_read (const struct Volume *volume)
 
const VolumeGridBKE_volume_grid_find_for_read (const struct Volume *volume, const char *name)
 
bool BKE_volume_set_velocity_grid_by_name (struct Volume *volume, const char *base_name)
 
bool BKE_volume_grid_load (const struct Volume *volume, const struct VolumeGrid *grid)
 
void BKE_volume_grid_unload (const struct Volume *volume, const struct VolumeGrid *grid)
 
bool BKE_volume_grid_is_loaded (const struct VolumeGrid *grid)
 
const char * BKE_volume_grid_name (const struct VolumeGrid *grid)
 
VolumeGridType BKE_volume_grid_type (const struct VolumeGrid *grid)
 
int BKE_volume_grid_channels (const struct VolumeGrid *grid)
 
void BKE_volume_grid_transform_matrix (const struct VolumeGrid *grid, float mat[4][4])
 
void BKE_volume_grid_transform_matrix_set (struct VolumeGrid *volume_grid, const float mat[4][4])
 
struct VolumeBKE_volume_new_for_eval (const struct Volume *volume_src)
 
struct VolumeBKE_volume_copy_for_eval (struct Volume *volume_src, bool reference)
 
struct VolumeGridBKE_volume_grid_add (struct Volume *volume, const char *name, VolumeGridType type)
 
void BKE_volume_grid_remove (struct Volume *volume, struct VolumeGrid *grid)
 
bool BKE_volume_grid_determinant_valid (double determinant)
 
int BKE_volume_simplify_level (const struct Depsgraph *depsgraph)
 
float BKE_volume_simplify_factor (const struct Depsgraph *depsgraph)
 
bool BKE_volume_save (const struct Volume *volume, const struct Main *bmain, struct ReportList *reports, const char *filepath)
 

Variables

void(* BKE_volume_batch_cache_dirty_tag_cb )(struct Volume *volume, int mode)
 
void(* BKE_volume_batch_cache_free_cb )(struct Volume *volume)
 

Detailed Description

Volume data-block.

Definition in file BKE_volume.h.

Typedef Documentation

◆ VolumeGrid

typedef struct VolumeGrid VolumeGrid

Definition at line 57 of file BKE_volume.h.

◆ VolumeGridType

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
BKE_VOLUME_BATCH_DIRTY_ALL 

Definition at line 49 of file BKE_volume.h.

◆ VolumeGridType

Enumerator
VOLUME_GRID_UNKNOWN 
VOLUME_GRID_BOOLEAN 
VOLUME_GRID_FLOAT 
VOLUME_GRID_DOUBLE 
VOLUME_GRID_INT 
VOLUME_GRID_INT64 
VOLUME_GRID_MASK 
VOLUME_GRID_VECTOR_FLOAT 
VOLUME_GRID_VECTOR_DOUBLE 
VOLUME_GRID_VECTOR_INT 
VOLUME_GRID_POINTS 

Definition at line 90 of file BKE_volume.h.

Function Documentation

◆ BKE_volume_add()

void* BKE_volume_add ( struct Main bmain,
const char *  name 
)

◆ BKE_volume_batch_cache_dirty_tag()

void BKE_volume_batch_cache_dirty_tag ( struct Volume volume,
int  mode 
)

◆ BKE_volume_batch_cache_free()

void BKE_volume_batch_cache_free ( struct Volume volume)

Definition at line 1222 of file volume.cc.

References Volume::batch_cache, and BKE_volume_batch_cache_free_cb.

Referenced by volume_free_data().

◆ BKE_volume_boundbox_get()

struct BoundBox* BKE_volume_boundbox_get ( struct Object ob)

◆ BKE_volume_copy_for_eval()

struct Volume* BKE_volume_copy_for_eval ( struct Volume volume_src,
bool  reference 
)

◆ BKE_volume_data_update()

void BKE_volume_data_update ( struct Depsgraph depsgraph,
struct Scene scene,
struct Object object 
)

◆ BKE_volume_eval_geometry()

void BKE_volume_eval_geometry ( struct Depsgraph depsgraph,
struct Volume volume 
)

◆ BKE_volume_grid_active_get_for_read()

const VolumeGrid* BKE_volume_grid_active_get_for_read ( const struct Volume volume)

◆ BKE_volume_grid_add()

struct VolumeGrid* BKE_volume_grid_add ( struct Volume volume,
const char *  name,
VolumeGridType  type 
)

◆ BKE_volume_grid_channels()

int BKE_volume_grid_channels ( const struct VolumeGrid grid)

◆ BKE_volume_grid_determinant_valid()

bool BKE_volume_grid_determinant_valid ( double  determinant)

Openvdb crashes when the determinant of the transform matrix becomes too small.

Definition at line 1593 of file volume.cc.

References blender::math::abs(), determinant(), and UNUSED_VARS.

Referenced by blender::nodes::transform_volume().

◆ BKE_volume_grid_find_for_read()

const VolumeGrid* BKE_volume_grid_find_for_read ( const struct Volume volume,
const char *  name 
)

◆ BKE_volume_grid_get_for_read()

const VolumeGrid* BKE_volume_grid_get_for_read ( const struct Volume volume,
int  grid_index 
)

◆ BKE_volume_grid_get_for_write()

VolumeGrid* BKE_volume_grid_get_for_write ( struct Volume volume,
int  grid_index 
)

Definition at line 1277 of file volume.cc.

References Volume_Runtime::grids, Volume::runtime, and UNUSED_VARS.

Referenced by displace_volume(), and blender::nodes::transform_volume().

◆ BKE_volume_grid_is_loaded()

bool BKE_volume_grid_is_loaded ( const struct VolumeGrid grid)

Referenced by volume_grid_cache_get().

◆ BKE_volume_grid_load()

bool BKE_volume_grid_load ( const struct Volume volume,
const struct VolumeGrid grid 
)

◆ BKE_volume_grid_name()

const char* BKE_volume_grid_name ( const struct VolumeGrid grid)

◆ BKE_volume_grid_remove()

void BKE_volume_grid_remove ( struct Volume volume,
struct VolumeGrid grid 
)

Definition at line 1578 of file volume.cc.

References Volume_Runtime::grids, Volume::runtime, and UNUSED_VARS.

◆ BKE_volume_grid_transform_matrix()

void BKE_volume_grid_transform_matrix ( const struct VolumeGrid grid,
float  mat[4][4] 
)

Transformation from index space to object space.

Referenced by blender::nodes::transform_volume().

◆ BKE_volume_grid_transform_matrix_set()

void BKE_volume_grid_transform_matrix_set ( struct VolumeGrid volume_grid,
const float  mat[4][4] 
)

Definition at line 1480 of file volume.cc.

References col, and UNUSED_VARS.

Referenced by blender::nodes::transform_volume().

◆ BKE_volume_grid_type()

VolumeGridType BKE_volume_grid_type ( const struct VolumeGrid grid)

◆ BKE_volume_grid_unload()

void BKE_volume_grid_unload ( const struct Volume volume,
const struct VolumeGrid grid 
)

Referenced by volume_grid_cache_get().

◆ BKE_volume_grids_backup_restore()

void BKE_volume_grids_backup_restore ( struct Volume volume,
struct VolumeGridVector *  grids,
const char *  filepath 
)

◆ BKE_volume_grids_error_msg()

const char* BKE_volume_grids_error_msg ( const struct Volume volume)

Referenced by volume_import_exec().

◆ BKE_volume_grids_frame_filepath()

const char* BKE_volume_grids_frame_filepath ( const struct Volume volume)

◆ BKE_volume_init_grids()

void BKE_volume_init_grids ( struct Volume volume)

◆ BKE_volume_is_loaded()

bool BKE_volume_is_loaded ( const struct Volume volume)

◆ BKE_volume_is_points_only()

bool BKE_volume_is_points_only ( const struct Volume volume)

Referenced by volume_import_exec().

◆ BKE_volume_is_y_up()

bool BKE_volume_is_y_up ( const struct Volume volume)

Referenced by volume_import_exec().

◆ BKE_volume_load()

bool BKE_volume_load ( const struct Volume volume,
const struct Main bmain 
)

◆ BKE_volume_new_for_eval()

struct Volume* BKE_volume_new_for_eval ( const struct Volume volume_src)

Referenced by mesh_to_volume().

◆ BKE_volume_num_grids()

int BKE_volume_num_grids ( const struct Volume volume)

◆ BKE_volume_save()

bool BKE_volume_save ( const struct Volume volume,
const struct Main bmain,
struct ReportList reports,
const char *  filepath 
)

◆ BKE_volume_set_velocity_grid_by_name()

bool BKE_volume_set_velocity_grid_by_name ( struct Volume volume,
const char *  base_name 
)

◆ BKE_volume_simplify_factor()

float BKE_volume_simplify_factor ( const struct Depsgraph depsgraph)

◆ BKE_volume_simplify_level()

int BKE_volume_simplify_level ( const struct Depsgraph depsgraph)

◆ BKE_volume_unload()

void BKE_volume_unload ( struct Volume volume)

◆ BKE_volumes_init()

void BKE_volumes_init ( void  )

Definition at line 500 of file volume.cc.

References initialize().

Referenced by main().

Variable Documentation

◆ BKE_volume_batch_cache_dirty_tag_cb

void(* BKE_volume_batch_cache_dirty_tag_cb) (struct Volume *volume, int mode) ( struct Volume volume,
int  mode 
)
extern

Definition at line 1212 of file volume.cc.

Referenced by BKE_volume_batch_cache_dirty_tag(), and DRW_engines_register().

◆ BKE_volume_batch_cache_free_cb

void(* BKE_volume_batch_cache_free_cb) (struct Volume *volume) ( struct Volume volume)
extern

Definition at line 1213 of file volume.cc.

Referenced by BKE_volume_batch_cache_free(), and DRW_engines_register().