77 bool imported =
false;
89 if (is_relative_path) {
96 "Volume \"%s\" failed to load: %s",
106 "Volume \"%s\" contains points, only voxel grids are supported",
148 ot->
name =
"Import OpenVDB Volume";
150 ot->
idname =
"OBJECT_OT_volume_import";
171 "use_sequence_detection",
174 "Automatically detect animated sequences in selected volume files (based on file names)");
struct Main * CTX_data_main(const bContext *C)
void BKE_id_delete(struct Main *bmain, void *idv) ATTR_NONNULL()
const char * BKE_main_blendfile_path(const struct Main *bmain) ATTR_NONNULL()
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_volume_unload(struct Volume *volume)
bool BKE_volume_is_points_only(const struct Volume *volume)
const char * BKE_volume_grids_error_msg(const struct Volume *volume)
bool BKE_volume_load(const struct Volume *volume, const struct Main *bmain)
bool BKE_volume_is_y_up(const struct Volume *volume)
#define LISTBASE_FOREACH(type, var, list)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
bool BLI_path_extension_replace(char *path, size_t maxlen, const char *ext) ATTR_NONNULL()
void BLI_path_rel(char *file, const char *relfile) ATTR_NONNULL()
void BLI_split_file_part(const char *string, char *file, size_t filelen)
#define STRNCPY(dst, src)
Object is a sort of wrapper for general info.
ListBase ED_image_filesel_detect_sequences(struct Main *bmain, struct wmOperator *op, bool detect_udim)
struct Object * ED_object_add_type(struct bContext *C, int type, const char *name, const float loc[3], const float rot[3], bool enter_editmode, unsigned short local_view_bits) ATTR_NONNULL(1) ATTR_RETURNS_NONNULL
bool ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, char view_align_axis, float r_loc[3], float r_rot[3], float r_scale[3], bool *r_enter_editmode, unsigned short *r_local_view_bits, bool *r_is_view_aligned)
void ED_object_add_generic_props(struct wmOperatorType *ot, bool do_editmode)
bool ED_operator_objectmode(struct bContext *C)
void OBJECT_OT_volume_import(wmOperatorType *ot)
static int volume_import_exec(bContext *C, wmOperator *op)
static int object_volume_add_exec(bContext *C, wmOperator *op)
static Object * object_volume_add(bContext *C, wmOperator *op, const char *name)
static int volume_import_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
void OBJECT_OT_volume_add(wmOperatorType *ot)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
void WM_event_add_fileselect(bContext *C, wmOperator *op)
void WM_operator_properties_filesel(wmOperatorType *ot, const int filter, const short type, const eFileSel_Action action, const eFileSel_Flag flag, const short display, const short sort)