45 #include "RNA_prototypes.h"
87 uiItemR(layout,
ptr,
"object", 0,
nullptr, ICON_NONE);
88 uiItemR(layout,
ptr,
"density", 0,
nullptr, ICON_NONE);
93 uiItemR(
col,
ptr,
"exterior_band_width", 0,
nullptr, ICON_NONE);
97 uiItemR(subcol,
ptr,
"interior_band_width", 0,
nullptr, ICON_NONE);
128 if (object_to_convert ==
nullptr) {
132 if (
mesh ==
nullptr) {
160 const float voxel_size = geometry::volume_compute_voxel_size(ctx->
depsgraph,
164 mesh_to_own_object_space_transform);
168 if (input_volume ==
nullptr) {
176 geometry::volume_grid_add_from_mesh(volume,
179 mesh_to_own_object_space_transform,
201 if (result_volume != input_volume) {
207 N_(
"Mesh to Volume"),
208 "MeshToVolumeModifierData",
210 &RNA_MeshToVolumeModifier,
void * BKE_id_new_nomain(short type, const char *name)
void BKE_mesh_wrapper_ensure_mdata(struct Mesh *me)
void(* IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, int cb_flag)
void BKE_modifier_copydata_generic(const struct ModifierData *md, struct ModifierData *md_dst, int flag)
struct Mesh * BKE_modifier_get_evaluated_mesh_from_evaluated_object(struct Object *ob_eval)
@ eModifierTypeType_Constructive
void BKE_modifier_set_error(const struct Object *ob, struct ModifierData *md, const char *format,...) ATTR_PRINTF_FORMAT(3
General operations, lookup, etc. for blender objects.
const struct BoundBox * BKE_object_boundbox_get(struct Object *ob)
struct Volume * BKE_volume_new_for_eval(const struct Volume *volume_src)
void DEG_add_object_relation(struct DepsNodeHandle *node_handle, struct Object *object, eDepsObjectComponentType component, const char *description)
void DEG_add_modifier_to_transform_relation(struct DepsNodeHandle *node_handle, const char *description)
struct MeshToVolumeModifierData MeshToVolumeModifierData
@ eModifierType_MeshToVolume
MeshToVolumeModifierResolutionMode
@ MESH_TO_VOLUME_RESOLUTION_MODE_VOXEL_SIZE
@ MESH_TO_VOLUME_RESOLUTION_MODE_VOXEL_AMOUNT
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
static Volume * mesh_to_volume(ModifierData *md, const ModifierEvalContext *ctx, Volume *input_volume)
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
ModifierTypeInfo modifierType_MeshToVolume
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
static void modifyGeometrySet(ModifierData *md, const ModifierEvalContext *ctx, GeometrySet *geometry_set)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void initData(ModifierData *md)
static void panelRegister(ARegionType *region_type)
PointerRNA * modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
PanelType * modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw)
void uiLayoutSetActive(uiLayout *layout, bool active)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
void replace_volume(Volume *volume, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
Volume * get_volume_for_write()
float exterior_band_width
float interior_band_width
struct Depsgraph * depsgraph
struct DepsNodeHandle * node
union blender::geometry::MeshToVolumeResolution::@636 settings
MeshToVolumeModifierResolutionMode mode