def _loadEdgeBoundary(menuitem, skeleton, name, edges, exterior): ## debug.fmsg() # "edges" is a list of pairs of integer indices into skeleton.nodes skelcontext = skeletoncontext.skeletonContexts[skeleton] skeleton = skelcontext.getObject() seglist = [ skeleton.getSegment(*[skeleton.nodes[i] for i in e]) for e in edges ] #Interface branch try: (segs, nodes, winding) = skeletonsegment.segSequence(seglist) startnode = skeleton.nodes[edges[0][0]] skelcontext.createEdgeBoundary(name, seglist, startnode, exterior, autoselect=0) except skeletonsegment.SequenceError: directionlist = [] for i in range(len(edges)): if seglist[i].get_nodes()[0] == skeleton.nodes[edges[i][0]]: directionlist.append(1) else: directionlist.append(-1) skelcontext.createNonsequenceableEdgeBoundary(name, seglist, directionlist, exterior, autoselect=0)
def _loadSegmentGroup(menuitem, skeleton, name, segments): ## debug.fmsg() # segments is a list of tuples of integer indices into skeleton.nodes. skelcontext = skeletoncontext.skeletonContexts[skeleton] skeleton = skelcontext.getObject() groupset = skelcontext.segmentgroups groupset.addGroup(name) groupset.addToGroup(**{name : [skeleton.getSegment(skeleton.nodes[i], skeleton.nodes[j]) for (i,j) in segments]})
def _loadSegmentGroup(menuitem, skeleton, name, segments): ## debug.fmsg() # segments is a list of tuples of integer indices into skeleton.nodes. skelcontext = skeletoncontext.skeletonContexts[skeleton] skeleton = skelcontext.getObject() groupset = skelcontext.segmentgroups groupset.addGroup(name) groupset.addToGroup( **{ name: [ skeleton.getSegment(skeleton.nodes[i], skeleton.nodes[j]) for (i, j) in segments ] })
def _loadEdgeBoundary(menuitem, skeleton, name, edges, exterior): ## debug.fmsg() # "edges" is a list of pairs of integer indices into skeleton.nodes skelcontext = skeletoncontext.skeletonContexts[skeleton] skeleton = skelcontext.getObject() seglist = [skeleton.getSegment( *[skeleton.nodes[i] for i in e] ) for e in edges] #Interface branch try: (segs, nodes, winding) = skeletonsegment.segSequence(seglist) startnode = skeleton.nodes[edges[0][0]] skelcontext.createEdgeBoundary(name, seglist, startnode, exterior, autoselect=0) except skeletonsegment.SequenceError: directionlist=[] for i in range(len(edges)): if seglist[i].get_nodes()[0]==skeleton.nodes[edges[i][0]]: directionlist.append(1) else: directionlist.append(-1) skelcontext.createNonsequenceableEdgeBoundary(name, seglist, directionlist, exterior, autoselect=0)