Example #1
0
def test_topomesh():
    t = Topomesh(3)

    def dstr(did):
        return "%d (%d)" % (did, t.degree(did))

    dids = [t.add_wisp(d) for d in range(4)]

    print[dstr(did) for did in t.wisps()]
    print[dstr(did) for did in t.wisps(1)]

    for i in range(3):
        t.link(dids[i], dids[i + 1])

    did = dids[1]
    print "regions", did, [dstr(rid) for rid in t.regions(did)]
    print "borders", did, [dstr(bid) for bid in t.borders(did)]

    did = dids[2]
    print "regions2", did, [dstr(rid) for rid in t.regions(did, 2)]
    print "borders2", did, [dstr(bid) for bid in t.borders(did, 2)]

    t.remove_wisp(did)
    print[dstr(did) for did in t.wisps()]

    did = dids[1]
    print "regions", did, [dstr(rid) for rid in t.regions(did)]
    print "borders", did, [dstr(bid) for bid in t.borders(did)]
def test_topomesh():
    t = Topomesh(3)

    def dstr (did) :
    	return "%d (%d)" % (did, t.degree(did) )

    dids = [t.add_wisp(d) for d in range(4)]

    print [dstr(did) for did in t.wisps()]
Example #3
0
def test_algos():
    m = Topomesh(3)
    protected = [1]
    ##########################
    #
    #       single triangle
    #
    ##########################
    for i in xrange(3):
        m.add_wisp(0, i)
    for i in xrange(3):
        m.add_wisp(1, i)
        m.link(1, i, i)
        m.link(1, i, (i + 1) % 3)
    m.add_wisp(2, 3)
    for i in xrange(3):
        m.link(2, 3, i)
    m.add_wisp(3, 0)
    m.link(3, 0, 3)

    # flip
    for eid in m.wisps(1):
        assert not is_flip_topo_allowed(m, eid)
Example #4
0
def test_algos():
    m = Topomesh(3)
    protected = [1]
    ##########################
    #
    #       single triangle
    #
    ##########################
    for i in xrange(3):
        m.add_wisp(0, i)
    for i in xrange(3):
        m.add_wisp(1, i)
        m.link(1, i, i)
        m.link(1, i, (i + 1) % 3)
    m.add_wisp(2, 3)
    for i in xrange(3):
        m.link(2, 3, i)
    m.add_wisp(3, 0)
    m.link(3, 0, 3)

    # flip
    for eid in m.wisps(1):
        assert not is_flip_topo_allowed(m, eid)
#
##########################
for i in xrange(3):
    m.add_wisp(0, i)
for i in xrange(3):
    m.add_wisp(1, i)
    m.link(1, i, i)
    m.link(1, i, (i + 1) % 3)
m.add_wisp(2, 3)
for i in xrange(3):
    m.link(2, 3, i)
m.add_wisp(3, 0)
m.link(3, 0, 3)

#flip
for eid in m.wisps(1):
    assert not is_flip_topo_allowed(m, eid)

#collapse
for eid in m.wisps(1):
    assert not is_collapse_topo_allowed(m, eid, protected)

##########################
#
#       double triangles
#
##########################
m.add_wisp(0, 3)
m.add_wisp(1, 3)
m.link(1, 3, 0)
m.link(1, 3, 3)
#
##########################
for i in xrange(3):
    m.add_wisp(0, i)
for i in xrange(3):
    m.add_wisp(1, i)
    m.link(1, i, i)
    m.link(1, i, (i + 1) % 3)
m.add_wisp(2, 3)
for i in xrange(3):
    m.link(2, 3, i)
m.add_wisp(3, 0)
m.link(3, 0, 3)

# flip
for eid in m.wisps(1):
    assert not is_flip_topo_allowed(m, eid)

# collapse
for eid in m.wisps(1):
    assert not is_collapse_topo_allowed(m, eid, protected)

##########################
#
#       double triangles
#
##########################
m.add_wisp(0, 3)
m.add_wisp(1, 3)
m.link(1, 3, 0)
m.link(1, 3, 3)