Skip to content

Commit ad090b9

Browse files
committed
Made a few tweaks to the new "preserve selected faces" option of MMGRemesh.
1 parent e660932 commit ad090b9

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

MeshTools/FEMMGRemesh.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ MMGRemesh::MMGRemesh() : FEModifier("MMG Remesh")
4848
AddDoubleParam(1.3, "grad", "Gradation");
4949
AddDoubleParam(45, "angle", "Angle (degrees)");
5050
AddBoolParam(false, "Only remesh selection");
51-
AddBoolParam(false, "Preserve selected surface");
51+
AddBoolParam(false, "Preserve selected faces");
5252
}
5353

5454
FSMesh* MMGRemesh::Apply(FSMesh* pm)
@@ -193,10 +193,19 @@ FSMesh* MMGRemesh::RemeshTET4(FSMesh* pm)
193193
bool preserveSurface = GetBoolValue(PRESERVE_SURFACE);
194194
if (preserveSurface)
195195
{
196+
int nsel = 0;
196197
for (int i = 0; i < NF; ++i)
197198
{
198199
FSFace& f = pm->Face(i);
199-
if (f.IsSelected()) MMG3D_Set_requiredTriangle(mmgMesh, i + 1);
200+
if (f.IsSelected()) {
201+
MMG3D_Set_requiredTriangle(mmgMesh, i + 1);
202+
nsel++;
203+
}
204+
}
205+
if (nsel == 0)
206+
{
207+
SetError("No faces are selected.");
208+
return nullptr;
200209
}
201210
}
202211

0 commit comments

Comments
 (0)