def testConstructeurs(filename, show=False): debug(titre='testConstructeurs %s' % filename.name) p = NSplineSimple() debug(paragraphe='1. constructeur vide') debug(p=p) p = NSplineSimple(cpoints=np.zeros((1, 2)), parent=None, methode=('cubic', 'periodic'), mode='rayon', name='SPLINE1') debug(paragraphe='2. constructeur presque vide') print p # for point in p.qcpolygon : # print point # for point in p.qdpolygon : # print point debug(paragraphe='3. p vide => p.cpoints=points de %s' % filename.name) points = pointsFromFile(filename) p.cpoints = points if show: p.plot(titre='cpoints=pointsFromFile()') S0 = NSplineSimple( points=pointsFromFile(filename), methode=('cubic', 'periodic'), # mode='courbure', name=filename.name) debug(S0) if show: S0.plot(titre=filename.name) debug(paragraphe='4. S = NSplineSimple(**dump00) (points:%s)' % filename.name) dump00 = S0.toDump() debug("dump00") pprint(dump00) S = NSplineSimple(**dump00) dump01 = S.toDump() pprint(dump01) debug("dump00!=dump01 : %s" % dictsAreNotEqual(dump00, dump01)) debug(paragraphe='4. S1 = S0.copy() (points:%s)' % filename.name) S = S0.copy() dump02 = S.toDump() debug("dump00!=dump02 : %s" % dictsAreNotEqual(dump00, dump02)) filename = Path(RUNS_DIR, 'spline.npkl') S0.save(filename=filename) S0.open(filename) # debug('S0.toDump()') # pprint(S0.toDump()) debug(S0) debug('S0.toDump()!=dump00', dictsAreNotEqual(S0.toDump(), dump02)) if show: S0.plot(titre='open pkl') S1 = S0.copy() d0, d1 = dump00, S1.toDump() debug('d0!=d1', dictsAreNotEqual(d0, d1)) if show: S1.plot(titre='copy') debug(titre='Fin testConstructeurs %s' % filename.name)
def testSaveRead(filename, show=True): u"""Diverses manières de lire, construire, sauvegarder une NSplineSimple""" debug(titre="testSaveRead : %s" % filename.name) print " ==> NSplineSimple::__init__()" S = NSplineSimple(points=pointsFromFile(filename), methode=('cubic', ((2, 0, 0), (1, 0, -5))), mode='courbure', name='SPLINE01') S4 = NSplineSimple() S4.load(S.toDump()) dump4 = S4.toDump() fname = Path(RUNS_DIR, filename.namebase + '#.pkl') print fname print " ==> cPickle::dump()/load()" with open(fname, 'w') as f: cPickle.dump(S.toDump(), f) with open(fname, 'r') as f: dump = cPickle.load(f) S1 = NSplineSimple(**dump) # S1.plot(plt) # if show : plt.show() dump = S.toDump() dump1 = S1.toDump() print 'dump==dump1 ?', dump == dump1 print " ==> file::read()/write() " fname = Path(RUNS_DIR, filename.namebase + '#.spl') S2 = NSplineSimple(**dump) dump2 = S2.toDump() with open(fname, 'w') as f: f.write(str(S2.toDump())) with open(fname, 'r') as f: dump = eval(f.read()) print " ==> NSplineSimple::load()" S3 = NSplineSimple(**dump) dump3 = S3.toDump() # dump3_1 = S3.toDump() print 'dump==dump1=dump2=dump3=dump4 ?', dump == dump1 == dump2 == dump3 == dump4 debug(dump=dump) # debug(dump1=dump1) # debug(dump2=dump2) # debug(dump3=dump3) # debug(dump4=dump4) # exit() debug(titre="Fin testSaveRead : %s" % filename.name)
def testModifLocales(filename, show=True): debug(titre="testModifLocales : %s" % filename.name) # exit() S = NSplineSimple(points=pointsFromFile(filename), methode=('cubic', ((2, 0, 0), (1, 0, -5))), mode='courbure', name='SPLINE01') mesure = mesures(S) debug('mesures') for key, value in mesure.items(): exec('%s=%s' % (key, value)) exec("print '%20s = %s'%(key,value)") if show: S.plot(titre=filename.name) try: i0 = S.insertPoint((0, 0)) if show and isinstance(i0, int): S.plot(titre='insertPoint((0,0)) en position %d' % i0) except ValueError as msg: debug('normal', msg) try: i1 = S.appendPoint((2, 1.5)) if show and isinstance(i1, int): S.plot(titre='appendPoint((2,1.5)) num=%d' % i1) except ValueError as msg: debug(msg) raise try: i2 = S.insertPoint((-2, 0)) if show: S.plot(titre='insertPoint((2,-2)) en position %d' % i2) except ValueError as msg: debug(msg) raise try: i3 = S.insertPoint((6, 0), len(S) / 2) if show: S.plot(titre='insertPoint((6,0),%d) en position %d' % (len(S) / 2, i3)) except ValueError as msg: debug(msg) raise S.removePoint(i3) S.removePoint(i2) S.removePoint(i1) if show: S.plot(titre='removePoint(%d,%d,%d)' % (i3, i2, i1)) S[1] = (4, -0.1) if show: S.plot(titre='S[1] = (4,-0.1)', show=True) print S[1] S._update() pprint(S.__dict__) dump = S.toDump() dump['methode'] = ('cubic', 'natural') S.load(dump) S.name = 'SPLINE3' if show: S.plot(titre='load(toDump())', show=True) print S debug(titre="Fin testModifLocales : %s" % filename.name)