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