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)