Skip to content

Commit 5ed0c36

Browse files
committed
Bug fix.
1 parent 3feb0cc commit 5ed0c36

File tree

2 files changed

+35
-13
lines changed

2 files changed

+35
-13
lines changed

src/main/java/mesh/modifier/BevelFacesModifier.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
package mesh.modifier;
22

3-
import java.util.ArrayList;
4-
53
import math.Mathf;
6-
import mesh.Face3D;
74
import mesh.Mesh3D;
8-
import mesh.util.Mesh3DUtil;
95

106
public class BevelFacesModifier implements IMeshModifier {
117

@@ -23,15 +19,7 @@ public BevelFacesModifier(float size) {
2319
public Mesh3D modify(Mesh3D mesh) {
2420
float scale = 1f - size;
2521
float amount = size;
26-
27-
ArrayList<Face3D> faces = new ArrayList<Face3D>(mesh.faces);
28-
29-
for (Face3D face : faces) {
30-
Mesh3DUtil.extrudeFace(mesh, face, scale, amount);
31-
}
32-
33-
mesh.faces.removeAll(faces);
34-
22+
mesh.apply(new ExtrudeModifier(scale, amount));
3523
return mesh;
3624
}
3725

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package bugs;
2+
3+
import static org.junit.Assert.assertTrue;
4+
import static org.junit.jupiter.api.Assertions.assertEquals;
5+
6+
import org.junit.jupiter.api.Test;
7+
8+
import mesh.Mesh3D;
9+
import mesh.creator.platonic.IcosahedronCreator;
10+
import mesh.modifier.BevelFacesModifier;
11+
import util.MeshTestUtil;
12+
13+
/**
14+
* Modifier removed faces.
15+
*/
16+
public class BevelFacesModifierBug {
17+
18+
@Test
19+
public void test() {
20+
IcosahedronCreator creator = new IcosahedronCreator();
21+
Mesh3D mesh = creator.create();
22+
mesh.apply(new BevelFacesModifier());
23+
assertTrue(MeshTestUtil.isManifold(mesh));
24+
}
25+
26+
@Test
27+
public void testexpectedFaceCount() {
28+
int expectedFaceCount = 80;
29+
Mesh3D mesh = new IcosahedronCreator().create();
30+
mesh.apply(new BevelFacesModifier());
31+
assertEquals(expectedFaceCount, mesh.getFaceCount());
32+
}
33+
34+
}

0 commit comments

Comments
 (0)