private void checkPolyVertices(final Point3d[] pnts, final PolyTree ptree) throws Exception { final Vertex[] verts = ptree.poly_.getVerts(); final boolean[] marked = new boolean[verts.length]; for (int i = 0; i < marked.length; i++) marked[i] = false; for (final Point3d pnt : pnts) { int j; for (j = 0; j < verts.length; j++) if (!marked[j] && verts[j].coords.epsilonEquals(pnt, 1e-8)) { marked[j] = true; break; } if (j == verts.length) throw new Exception("vertex " + pnt + " missing in hull for " + ptree.getName()); } }