From e4b49663f6c6f138a8718847b68d1d78fba8fe73 Mon Sep 17 00:00:00 2001 From: Sven Göthel Date: Wed, 14 Feb 2024 20:23:24 +0100 Subject: Bug 1501: Refine convex == !complex: Use 'complex' term, have env-property toggle OutlineShape's isComplex() for visibility We may use complex for other criteria than !convex, i.e. self-intersecting etc. --- .../jogamp/graph/curve/tess/CDTriangulator2D.java | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java') diff --git a/src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java b/src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java index 08b75478d..d69b33f1f 100644 --- a/src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java +++ b/src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java @@ -50,15 +50,13 @@ public class CDTriangulator2D implements Triangulator { protected static final boolean DEBUG = Debug.debug("graph.curve.Triangulation"); - private static final boolean FORCE_NONCONVEX = Debug.debug("graph.curve.triangulation.force.non-convex"); - private static final boolean FORCE_CONVEX = Debug.debug("graph.curve.triangulation.force.convex"); private static final boolean TEST_LINE_AA = Debug.debug("graph.curve.triangulation.LINE_AA"); private static final boolean TEST_MARK_LINE = Debug.debug("graph.curve.triangulation.MARK_AA"); private static final boolean TEST_ENABLED = TEST_LINE_AA || TEST_MARK_LINE; private final ArrayList loops = new ArrayList(); - private boolean convexFlag; + private boolean complexShape; private int addedVerticeCount; private int maxTriID; @@ -66,19 +64,13 @@ public class CDTriangulator2D implements Triangulator { /** Constructor for a new Delaunay triangulator */ public CDTriangulator2D() { - if( FORCE_NONCONVEX ) { - convexFlag = false; - } else { - convexFlag = true; - } + complexShape = false; reset(); } @Override - public void setConvexShape(final boolean convex) { - if( !FORCE_NONCONVEX && !FORCE_CONVEX ) { - convexFlag = convex; - } + public void setComplexShape(final boolean complex) { + complexShape = complex; } @Override @@ -114,7 +106,7 @@ public class CDTriangulator2D implements Triangulator { final GraphOutline innerPoly = extractBoundaryTriangles(sink, outline, false /* hole */, sharpness); // vertices.addAll(polyline.getVertices()); if( innerPoly.getGraphPoint().size() >= 3 ) { - loop = Loop.createBoundary(innerPoly, convexFlag); + loop = Loop.createBoundary(innerPoly, complexShape); if( null != loop ) { loops.add(loop); } -- cgit v1.2.3