27#include "RNA_prototypes.hh"
105 printf(
"SurfaceModifier deform_verts: Should not happen!\n");
110 uint mesh_verts_num = 0, i = 0;
113 surmd->
runtime.
mesh->vert_positions_for_write().copy_from(positions);
139 for (i = 0; i < mesh_verts_num; i++) {
140 float *vec = positions[i];
157 if (has_face || has_edge) {
179 uiItemL(layout,
RPT_(
"Settings are inside the Physics tab"), ICON_NONE);
199 "SurfaceModifierData",
201 &RNA_SurfaceModifier,
void free_bvhtree_from_mesh(BVHTreeFromMesh *data)
BVHTree * BKE_bvhtree_from_mesh_get(BVHTreeFromMesh *data, const Mesh *mesh, BVHCacheType bvh_cache_type, int tree_type)
@ BVHTREE_FROM_CORNER_TRIS
void BKE_id_free(Main *bmain, void *idv)
Mesh * BKE_mesh_copy_for_eval(const Mesh &source)
void BKE_modifier_copydata_generic(const ModifierData *md, ModifierData *md_dst, int flag)
@ eModifierTypeFlag_NoUserAdd
@ eModifierTypeFlag_AcceptsCVs
@ eModifierTypeFlag_AcceptsMesh
void mul_m4_v3(const float M[4][4], float r[3])
MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE void zero_v3(float r[3])
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
float DEG_get_ctime(const Depsgraph *graph)
#define DNA_struct_default_get(struct_name)
struct SurfaceModifierData SurfaceModifierData
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
static void init_data(ModifierData *md)
static void deform_verts(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, blender::MutableSpan< blender::float3 > positions)
static void panel_register(ARegionType *region_type)
ModifierTypeInfo modifierType_Surface
static void copy_data(const ModifierData *md_src, ModifierData *md_dst, const int flag)
static void blend_read(BlendDataReader *, ModifierData *md)
static void free_data(ModifierData *md)
static void panel_draw(const bContext *, Panel *panel)
static bool depends_on_time(Scene *, ModifierData *)
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
PanelType * modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw)
PointerRNA * modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
void uiItemL(uiLayout *layout, const char *name, int icon)
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void *(* MEM_calloc_arrayN)(size_t len, size_t size, const char *str)
void *(* MEM_callocN)(size_t len, const char *str)
float(* vert_positions_prev)[3]
float(* vert_velocities)[3]
struct BVHTreeFromMesh * bvhtree
SurfaceModifierData_Runtime runtime