Example #1
0
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)
Example #2
0
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)