62 rna_Volume_update_filepath(bmain,
scene,
ptr);
68 static void rna_VolumeGrid_name_get(
PointerRNA *
ptr,
char *value)
92 static void rna_VolumeGrid_matrix_object_get(
PointerRNA *
ptr,
float *value)
104 static bool rna_VolumeGrid_load(
ID *
id,
VolumeGrid *grid)
109 static void rna_VolumeGrid_unload(
ID *
id,
VolumeGrid *grid)
152 static void rna_VolumeGrids_active_index_range(
169 static void rna_VolumeGrids_active_index_set(
PointerRNA *
ptr,
int value)
185 static void rna_VolumeGrids_error_message_get(
PointerRNA *
ptr,
char *value)
191 static int rna_VolumeGrids_error_message_length(
PointerRNA *
ptr)
198 static void rna_VolumeGrids_frame_filepath_get(
PointerRNA *
ptr,
char *value)
204 static int rna_VolumeGrids_frame_filepath_length(
PointerRNA *
ptr)
210 static bool rna_Volume_load(
Volume *volume,
Main *bmain)
215 static bool rna_Volume_save(
Volume *volume,
Main *bmain,
ReportList *reports,
const char *filepath)
234 prop,
"rna_VolumeGrid_name_get",
"rna_VolumeGrid_name_length",
NULL);
243 {
VOLUME_GRID_MASK,
"MASK", 0,
"Mask",
"No data, boolean mask of active voxels"},
251 "Points (Unsupported)",
252 "Points grid, currently unsupported by volume objects"},
273 prop,
"Matrix Object",
"Transformation matrix from voxel index to object space");
287 parm =
RNA_def_boolean(func,
"success", 0,
"",
"True if grid tree was successfully loaded");
293 func,
"Unload grid tree and voxel data from memory, leaving only metadata");
308 "rna_VolumeGrids_active_index_get",
309 "rna_VolumeGrids_active_index_set",
310 "rna_VolumeGrids_active_index_range");
317 prop,
"rna_VolumeGrids_error_message_get",
"rna_VolumeGrids_error_message_length",
NULL);
319 prop,
"Error Message",
"If loading grids failed, error message with details");
331 "Frame number that volume grids will be loaded at, based on scene time "
332 "and volume parameters");
337 prop,
"rna_VolumeGrids_frame_filepath_get",
"rna_VolumeGrids_frame_filepath_length",
NULL);
341 "Volume file used for loading the volume at the current frame. Empty "
342 "if the volume has not be loaded or the frame only exists in memory");
351 parm =
RNA_def_boolean(func,
"success", 0,
"",
"True if grid list was successfully loaded");
362 parm =
RNA_def_boolean(func,
"success", 0,
"",
"True if grid list was successfully loaded");
388 "Display single bounding box for the entire grid"},
393 "Display bounding boxes for nodes in the volume tree"},
398 "Display points for nodes in the volume tree"},
407 "Display one box or point for each intermediate tree node"},
412 "Display box for each leaf node containing 8x8 voxels"},
422 "Smoothed high quality interpolation, but slower"},
432 "Adjust slice direction according to the view direction"},
452 prop,
"Interpolation",
"Interpolation method to use for volumes in solid mode");
486 "Keep volume opacity and detail the same regardless of object scale"},
491 "Specify volume step size and density in world space"},
498 prop,
"Space",
"Specify volume density and step size in object or world space");
507 "Distance between volume samples. Lower values render more detail at "
508 "the cost of performance. If set to zero, the step size is "
509 "automatically determined based on voxel size");
519 "Value under which voxels are considered empty space to optimize rendering");
546 prop,
"Sequence",
"Whether the cache is separated in a series of files");
553 prop,
"Start Frame",
"Global starting frame of the sequence, assuming first has a #1");
564 prop,
"Offset",
"Offset the number of the frame to use in the animation");
573 "Repeat the start frame before, and the end frame after the frame range"},
579 "Repeat the frames, reversing the playback direction every other cycle"},
594 "rna_Volume_grids_begin",
595 "rna_Volume_grids_next",
596 "rna_Volume_grids_end",
597 "rna_Volume_grids_get",
598 "rna_Volume_grids_length",
const VolumeGrid * BKE_volume_grid_get_for_read(const struct Volume *volume, int grid_index)
VolumeGridType BKE_volume_grid_type(const struct VolumeGrid *grid)
@ VOLUME_GRID_VECTOR_FLOAT
@ VOLUME_GRID_VECTOR_DOUBLE
void BKE_volume_grid_transform_matrix(const struct VolumeGrid *grid, float mat[4][4])
void BKE_volume_unload(struct Volume *volume)
bool BKE_volume_save(const struct Volume *volume, const struct Main *bmain, struct ReportList *reports, const char *filepath)
const char * BKE_volume_grids_frame_filepath(const struct Volume *volume)
int BKE_volume_grid_channels(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)
int BKE_volume_num_grids(const struct Volume *volume)
const char * BKE_volume_grids_error_msg(const struct Volume *volume)
bool BKE_volume_is_loaded(const struct Volume *volume)
bool BKE_volume_grid_load(const struct Volume *volume, const struct VolumeGrid *grid)
bool BKE_volume_load(const struct Volume *volume, const struct Main *bmain)
MINLINE int max_ii(int a, int b)
MINLINE int clamp_i(int value, int min, int max)
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
@ ID_RECALC_COPY_ON_WRITE
@ VOLUME_WIREFRAME_POINTS
@ VOLUME_WIREFRAME_BOUNDS
@ VOLUME_DISPLAY_INTERP_CLOSEST
@ VOLUME_DISPLAY_INTERP_LINEAR
@ VOLUME_DISPLAY_INTERP_CUBIC
@ VOLUME_AXIS_SLICE_SINGLE
@ VOLUME_SEQUENCE_PING_PONG
@ VOLUME_WIREFRAME_COARSE
PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data)
void rna_def_animdata_common(StructRNA *srna)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
PropertyRNA * RNA_def_string_file_path(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
const int rna_matrix_dimsize_4x4[]
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
static const EnumPropertyItem space_items[]
static void rna_def_volume_display(BlenderRNA *brna)
static void rna_def_volume(BlenderRNA *brna)
static void rna_def_volume_render(BlenderRNA *brna)
static void rna_def_volume_grids(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_volume_grid(BlenderRNA *brna)
void RNA_def_volume(BlenderRNA *brna)
union CollectionPropertyIterator::@1099 internal
void WM_main_add_notifier(unsigned int type, void *reference)