HE_Mesh
6.0.1
|
Static Public Member Functions | |
static List< WB_Polygon > | decomposePolygon2D (WB_Polygon polygon) |
Static Private Member Functions | |
static void | decomposePolygon (final List< WB_Coord > pointlist, final List< WB_Polygon > accumulator) |
static void | decomposePolygon (final WB_CoordCollection pointlist, final List< WB_Polygon > accumulator) |
static boolean | isVisible (final WB_CoordCollection pointlist, final int i, final int j) |
Static Private Attributes | |
static WB_GeometryFactory | gf = new WB_GeometryFactory() |
Mark Bayazit's algorithm for concave polygon decomposition https://mpen.ca/406/bayazit
|
staticprivate |
References wblut.geom.WB_CoordCollection.getCollection().
|
staticprivate |
References wblut.geom.WB_Point.add(), wblut.geom.WB_GeometryFactory3D.createPoint(), wblut.geom.WB_GeometryFactory2D.createSimplePolygon(), wblut.geom.WB_PolygonDecomposer.decomposePolygon(), wblut.geom.WB_CoordCollection.get(), wblut.geom.WB_GeometryOp2D.getLineIntersectionInto2D(), wblut.geom.WB_Vector.getSqDistance2D(), wblut.geom.WB_GeometryOp2D.isLeftStrict2D(), wblut.geom.WB_GeometryOp2D.isReflex2D(), wblut.geom.WB_GeometryOp2D.isRight2D(), wblut.geom.WB_GeometryOp2D.isRightStrict2D(), wblut.geom.WB_PolygonDecomposer.isVisible(), wblut.geom.WB_Point.mulSelf(), wblut.geom.WB_MutableCoordinate.set(), wblut.geom.WB_CoordCollection.size(), and wblut.geom.WB_CoordCollection.subList().
|
static |
Decompose the given polygon into a reasonably small number of convex polygons. Additional points can be introduced by the algorithm. There is no guarantee that the number of polygons is optimal.
polygon | input polygon |
References wblut.geom.WB_GeometryFactory2D.createSimplePolygon(), wblut.geom.WB_PolygonDecomposer.decomposePolygon(), wblut.geom.WB_Polygon.getNumberOfShellPoints(), wblut.geom.WB_TriangleGenerator.getPoints(), and wblut.geom.WB_Polygon.isSimple().
|
staticprivate |
|
staticprivate |