Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_laplaciandeform.c
| Show First 20 Lines • Show All 816 Lines • ▼ Show 20 Lines | static void freeData(ModifierData *md) | ||||
| LaplacianSystem *sys = (LaplacianSystem *)lmd->cache_system; | LaplacianSystem *sys = (LaplacianSystem *)lmd->cache_system; | ||||
| if (sys) { | if (sys) { | ||||
| deleteLaplacianSystem(sys); | deleteLaplacianSystem(sys); | ||||
| } | } | ||||
| MEM_SAFE_FREE(lmd->vertexco); | MEM_SAFE_FREE(lmd->vertexco); | ||||
| lmd->total_verts = 0; | lmd->total_verts = 0; | ||||
| } | } | ||||
| static void panel_draw(const bContext *C, Panel *panel) | static void panel_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *row; | uiLayout *row; | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | |||||
| PointerRNA ob_ptr; | PointerRNA ob_ptr; | ||||
| modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr); | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr); | ||||
| bool is_bind = RNA_boolean_get(&ptr, "is_bind"); | bool is_bind = RNA_boolean_get(ptr, "is_bind"); | ||||
| bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0; | bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0; | ||||
| uiLayoutSetPropSep(layout, true); | uiLayoutSetPropSep(layout, true); | ||||
| uiItemR(layout, &ptr, "iterations", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "iterations", 0, NULL, ICON_NONE); | ||||
| modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL); | modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL); | ||||
| uiItemS(layout); | uiItemS(layout); | ||||
| row = uiLayoutRow(layout, true); | row = uiLayoutRow(layout, true); | ||||
| uiLayoutSetEnabled(row, has_vertex_group); | uiLayoutSetEnabled(row, has_vertex_group); | ||||
| uiItemO(row, | uiItemO(row, | ||||
| is_bind ? IFACE_("Unbind") : IFACE_("Bind"), | is_bind ? IFACE_("Unbind") : IFACE_("Bind"), | ||||
| ICON_NONE, | ICON_NONE, | ||||
| "OBJECT_OT_laplaciandeform_bind"); | "OBJECT_OT_laplaciandeform_bind"); | ||||
| modifier_panel_end(layout, &ptr); | modifier_panel_end(layout, ptr); | ||||
| } | } | ||||
| static void panelRegister(ARegionType *region_type) | static void panelRegister(ARegionType *region_type) | ||||
| { | { | ||||
| modifier_panel_register(region_type, eModifierType_LaplacianDeform, panel_draw); | modifier_panel_register(region_type, eModifierType_LaplacianDeform, panel_draw); | ||||
| } | } | ||||
| static void blendWrite(BlendWriter *writer, const ModifierData *md) | static void blendWrite(BlendWriter *writer, const ModifierData *md) | ||||
| ▲ Show 20 Lines • Show All 46 Lines • Show Last 20 Lines | |||||