31 #include "RNA_prototypes.h"
94 float (*vertexCos)[3],
121 printf(
"SurfaceModifier deformVerts: Should not happen!\n");
126 uint mesh_verts_num = 0, i = 0;
136 cfra != surmd->
cfra + 1) {
155 for (i = 0,
x = surmd->
x,
v = surmd->
v; i < mesh_verts_num; i++,
x++,
v++) {
173 if (has_poly || has_edge) {
192 uiItemL(layout,
TIP_(
"Settings are inside the Physics tab"), ICON_NONE);
215 "SurfaceModifierData",
217 &RNA_SurfaceModifier,
void free_bvhtree_from_mesh(struct BVHTreeFromMesh *data)
BVHTree * BKE_bvhtree_from_mesh_get(struct BVHTreeFromMesh *data, const struct Mesh *mesh, BVHCacheType bvh_cache_type, int tree_type)
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, int flag)
void BKE_id_free(struct Main *bmain, void *idv)
void BKE_mesh_vert_coords_apply(struct Mesh *mesh, const float(*vert_coords)[3])
@ eModifierTypeFlag_NoUserAdd
@ eModifierTypeFlag_AcceptsCVs
@ eModifierTypeFlag_AcceptsMesh
void BKE_modifier_copydata_generic(const struct ModifierData *md, struct ModifierData *md_dst, int flag)
@ eModifierTypeType_OnlyDeform
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])
#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 bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static void blendRead(BlendDataReader *UNUSED(reader), ModifierData *md)
static void copyData(const ModifierData *md_src, ModifierData *md_dst, const int flag)
static void deformVerts(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, float(*vertexCos)[3], int verts_num)
ModifierTypeInfo modifierType_Surface
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void initData(ModifierData *md)
static void panelRegister(ARegionType *region_type)
static void freeData(ModifierData *md)
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)
Mesh * MOD_deform_mesh_eval_get(Object *ob, struct BMEditMesh *em, Mesh *mesh, const float(*vertexCos)[3], const int verts_num, const bool use_normals, const bool use_orco)
void uiItemL(uiLayout *layout, const char *name, int icon)
ATTR_WARN_UNUSED_RESULT const BMVert * v
void(* MEM_freeN)(void *vmemh)
void *(* MEM_calloc_arrayN)(size_t len, size_t size, const char *str)
void *(* MEM_callocN)(size_t len, const char *str)
struct Depsgraph * depsgraph
struct BVHTreeFromMesh * bvhtree