Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_triangulate.c
| Show All 12 Lines | |||||
| * along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
| * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
| */ | */ | ||||
| /** \file | /** \file | ||||
| * \ingroup modifiers | * \ingroup modifiers | ||||
| */ | */ | ||||
| #include <string.h> | |||||
| #include "MEM_guardedalloc.h" | #include "MEM_guardedalloc.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_meshdata_types.h" | #include "DNA_meshdata_types.h" | ||||
| #include "DNA_object_types.h" | #include "DNA_object_types.h" | ||||
| #include "DNA_screen_types.h" | #include "DNA_screen_types.h" | ||||
| #include "BKE_context.h" | #include "BKE_context.h" | ||||
| #include "BKE_mesh.h" | #include "BKE_mesh.h" | ||||
| #include "BKE_modifier.h" | #include "BKE_modifier.h" | ||||
| ▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | static Mesh *triangulate_mesh(Mesh *mesh, | ||||
| return result; | return result; | ||||
| } | } | ||||
| static void initData(ModifierData *md) | static void initData(ModifierData *md) | ||||
| { | { | ||||
| TriangulateModifierData *tmd = (TriangulateModifierData *)md; | TriangulateModifierData *tmd = (TriangulateModifierData *)md; | ||||
| BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(tmd, modifier)); | |||||
| MEMCPY_STRUCT_AFTER(tmd, DNA_struct_default_get(TriangulateModifierData), modifier); | |||||
| /* Enable in editmode by default */ | /* Enable in editmode by default */ | ||||
| md->mode |= eModifierMode_Editmode; | md->mode |= eModifierMode_Editmode; | ||||
| tmd->quad_method = MOD_TRIANGULATE_QUAD_SHORTEDGE; | |||||
| tmd->ngon_method = MOD_TRIANGULATE_NGON_BEAUTY; | |||||
| tmd->min_vertices = 4; | |||||
| } | } | ||||
| static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *UNUSED(ctx), Mesh *mesh) | static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *UNUSED(ctx), Mesh *mesh) | ||||
| { | { | ||||
| TriangulateModifierData *tmd = (TriangulateModifierData *)md; | TriangulateModifierData *tmd = (TriangulateModifierData *)md; | ||||
| Mesh *result; | Mesh *result; | ||||
| if (!(result = triangulate_mesh( | if (!(result = triangulate_mesh( | ||||
| mesh, tmd->quad_method, tmd->ngon_method, tmd->min_vertices, tmd->flag))) { | mesh, tmd->quad_method, tmd->ngon_method, tmd->min_vertices, tmd->flag))) { | ||||
| ▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines | |||||