コード例 #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()
コード例 #2
0
ファイル: path_tests.py プロジェクト: MiaoLi/trimesh
 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))
コード例 #3
0
ファイル: path_tests.py プロジェクト: MiaoLi/trimesh
 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)
コード例 #4
0
ファイル: path_tests.py プロジェクト: Marviel/trimesh
    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()
コード例 #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)
コード例 #6
0
ファイル: test_paths.py プロジェクト: embr/trimesh
    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)