Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
 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))
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
    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()
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)