Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_solidify.c
| Show All 21 Lines | |||||
| */ | */ | ||||
| #include <string.h> | #include <string.h> | ||||
| #include "BLI_utildefines.h" | #include "BLI_utildefines.h" | ||||
| #include "BLT_translation.h" | #include "BLT_translation.h" | ||||
| #include "DNA_defaults.h" | |||||
| #include "DNA_mesh_types.h" | #include "DNA_mesh_types.h" | ||||
| #include "DNA_screen_types.h" | #include "DNA_screen_types.h" | ||||
| #include "BKE_context.h" | #include "BKE_context.h" | ||||
| #include "BKE_particle.h" | #include "BKE_particle.h" | ||||
| #include "BKE_screen.h" | #include "BKE_screen.h" | ||||
| #include "UI_interface.h" | #include "UI_interface.h" | ||||
| #include "UI_resources.h" | #include "UI_resources.h" | ||||
| #include "RNA_access.h" | #include "RNA_access.h" | ||||
| #include "MOD_modifiertypes.h" | #include "MOD_modifiertypes.h" | ||||
| #include "MOD_ui_common.h" | #include "MOD_ui_common.h" | ||||
| #include "MOD_solidify_util.h" | #include "MOD_solidify_util.h" | ||||
| #ifdef __GNUC__ | |||||
| # pragma GCC diagnostic error "-Wsign-conversion" | |||||
| #endif | |||||
| static bool dependsOnNormals(ModifierData *md) | static bool dependsOnNormals(ModifierData *md) | ||||
| { | { | ||||
| const SolidifyModifierData *smd = (SolidifyModifierData *)md; | const SolidifyModifierData *smd = (SolidifyModifierData *)md; | ||||
| /* even when we calculate our own normals, | /* even when we calculate our own normals, | ||||
| * the vertex normals are used as a fallback | * the vertex normals are used as a fallback | ||||
| * if manifold is enabled vertex normals are not used */ | * if manifold is enabled vertex normals are not used */ | ||||
| return smd->mode == MOD_SOLIDIFY_MODE_EXTRUDE; | return smd->mode == MOD_SOLIDIFY_MODE_EXTRUDE; | ||||
| } | } | ||||
| static void initData(ModifierData *md) | static void initData(ModifierData *md) | ||||
| { | { | ||||
| SolidifyModifierData *smd = (SolidifyModifierData *)md; | SolidifyModifierData *smd = (SolidifyModifierData *)md; | ||||
| smd->offset = 0.01f; | |||||
| smd->offset_fac = -1.0f; | BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(smd, modifier)); | ||||
| smd->flag = MOD_SOLIDIFY_RIM; | |||||
| smd->mode = MOD_SOLIDIFY_MODE_EXTRUDE; | MEMCPY_STRUCT_AFTER(smd, DNA_struct_default_get(SolidifyModifierData), modifier); | ||||
| smd->nonmanifold_offset_mode = MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS; | |||||
| smd->nonmanifold_boundary_mode = MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE; | |||||
| smd->merge_tolerance = 0.0001f; | |||||
| smd->bevel_convex = 0.0f; | |||||
| } | } | ||||
| #ifdef __GNUC__ | |||||
| # pragma GCC diagnostic error "-Wsign-conversion" | |||||
| #endif | |||||
| static void requiredDataMask(Object *UNUSED(ob), | static void requiredDataMask(Object *UNUSED(ob), | ||||
| ModifierData *md, | ModifierData *md, | ||||
| CustomData_MeshMasks *r_cddata_masks) | CustomData_MeshMasks *r_cddata_masks) | ||||
| { | { | ||||
| SolidifyModifierData *smd = (SolidifyModifierData *)md; | SolidifyModifierData *smd = (SolidifyModifierData *)md; | ||||
| /* ask for vertexgroups if we need them */ | /* ask for vertexgroups if we need them */ | ||||
| if (smd->defgrp_name[0] != '\0' || smd->shell_defgrp_name[0] != '\0' || | if (smd->defgrp_name[0] != '\0' || smd->shell_defgrp_name[0] != '\0' || | ||||
| ▲ Show 20 Lines • Show All 214 Lines • Show Last 20 Lines | |||||