def test_paths(self): for d in self.drawings: try: closed = len(d.polygons_closed) == len(d.paths) except: log.error('Failed on %s!', d.filename, exc_info=True) closed = False self.assertTrue(closed) for i in range(len(d.paths)): self.assertTrue(d.polygons_closed[i].is_valid) self.assertTrue(d.polygons_closed[i].area > tol.zero) export_dict = d.export(file_type='dict') export_svg = d.export(file_type='svg') d.simplify() split = d.split() log.info('Split %s into %d bodies, checking identifiers', d.filename, len(split)) for body in split: body.identifier if len(d.root) == 1: d.apply_obb()
def test_discrete(self): for d in self.drawings: self.assertTrue(len(d.polygons_closed) == len(d.paths)) for path in d.paths: verts = d.discretize_path(path) dists = np.sum((np.diff(verts, axis=0))**2, axis=1)**.5 self.assertTrue(np.all(dists > tol.zero)) circuit_test = euclidean(verts[0], verts[-1]) < tol.merge if not circuit_test: log.error('On file %s First and last vertex distance %f', d.filename, euclidean(verts[0], verts[-1])) self.assertTrue(circuit_test) is_ccw = vector.polygons.is_ccw(verts) if not is_ccw: log.error('%s not ccw: \n%s', d.filename, str(verts))
def test_paths(self): for d in self.drawings: self.assertTrue(len(d.paths) == len(d.polygons_closed)) for i in range(len(d.paths)): if not d.polygons_closed[i].is_valid: r = d.polygons_closed[i].buffer(0.0) d.show() self.assertTrue(d.polygons_closed[i].is_valid) self.assertTrue(d.polygons_closed[i].area > tol.zero) d.export('dict') d.export('svg') d.simplify() split = d.split() log.info('Split %s into %d bodies, checking identifiers', d.filename, len(split)) for body in split: try: body.identifier() except: log.error('Fatal error in computing identifier for %s!', d.filename, exc_info=True)
def test_paths(self): for d in self.drawings: try: closed = len(d.polygons_closed) == len(d.paths) except: log.error('Failed on %s!', d.filename, exc_info=True) closed = False self.assertTrue(closed) for i in range(len(d.paths)): self.assertTrue(d.polygons_closed[i].is_valid) self.assertTrue(d.polygons_closed[i].area > tol.zero) export_dict = d.export('dict') export_svg = d.export('svg') d.simplify() split = d.split() log.info('Split %s into %d bodies, checking identifiers', d.filename, len(split)) for body in split: body.identifier()
def test_discrete(self): for d in self.drawings: try: closed = len(d.polygons_closed) == len(d.paths) except: log.error('Failed on %s!', d.filename, exc_info=True) closed = False self.assertTrue(closed) for path in d.paths: verts = d.discretize_path(path) dists = np.sum((np.diff(verts, axis=0))**2, axis=1)**.5 self.assertTrue(np.all(dists > tol.zero)) circuit_test = euclidean(verts[0], verts[-1]) < tol.merge if not circuit_test: log.error('On file %s First and last vertex distance %f', d.filename, euclidean(verts[0], verts[-1])) self.assertTrue(circuit_test) is_ccw = vector.util.is_ccw(verts) if not is_ccw: log.error('discrete %s not ccw!', d.filename)