Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsh Bosamiya <ishbosamiya>2019-03-22 19:55:51 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-03-22 20:11:14 +0300
commitda5b6ed75bf08141dd19a0cc143d1a91b14a0f24 (patch)
tree761250222839c8c9800de88329d153a5ce7daf10 /source/blender/modifiers
parentc89dcc89e6ebc3882f66b3536a51bae83807ad6b (diff)
Modifiers: add minimum number of vertices to triangulate modifier.
This lets you only triangulate n-gons when setting the number to 5 or more. Differential Revision: https://developer.blender.org/D4367
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r--source/blender/modifiers/intern/MOD_triangulate.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/modifiers/intern/MOD_triangulate.c b/source/blender/modifiers/intern/MOD_triangulate.c
index e39698e142e..6bd24620da2 100644
--- a/source/blender/modifiers/intern/MOD_triangulate.c
+++ b/source/blender/modifiers/intern/MOD_triangulate.c
@@ -34,7 +34,7 @@
#include "MOD_modifiertypes.h"
-static Mesh *triangulate_mesh(Mesh *mesh, const int quad_method, const int ngon_method, const int flag)
+static Mesh *triangulate_mesh(Mesh *mesh, const int quad_method, const int ngon_method, const int min_vertices, const int flag)
{
Mesh *result;
BMesh *bm;
@@ -59,7 +59,7 @@ static Mesh *triangulate_mesh(Mesh *mesh, const int quad_method, const int ngon_
.cd_mask_extra = cddata_masks,
}));
- BM_mesh_triangulate(bm, quad_method, ngon_method, false, NULL, NULL, NULL);
+ BM_mesh_triangulate(bm, quad_method, ngon_method, min_vertices, false, NULL, NULL, NULL);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, &cddata_masks);
BM_mesh_free(bm);
@@ -98,6 +98,7 @@ static void initData(ModifierData *md)
md->mode |= eModifierMode_Editmode;
tmd->quad_method = MOD_TRIANGULATE_QUAD_SHORTEDGE;
tmd->ngon_method = MOD_TRIANGULATE_NGON_BEAUTY;
+ tmd->min_vertices = 4;
}
static Mesh *applyModifier(
@@ -107,7 +108,7 @@ static Mesh *applyModifier(
{
TriangulateModifierData *tmd = (TriangulateModifierData *)md;
Mesh *result;
- if (!(result = triangulate_mesh(mesh, tmd->quad_method, tmd->ngon_method, tmd->flag))) {
+ if (!(result = triangulate_mesh(mesh, tmd->quad_method, tmd->ngon_method, tmd->min_vertices, tmd->flag))) {
return mesh;
}