コード例 #1
0
ファイル: TweakTools.py プロジェクト: wswenyue/Field
 def __isub__(self, intersectWith):
     if (isinstance(intersectWith, Area)):
         a1 = Area(LineUtils().lineToGeneralPath(self.autoStroke()))
         a1.subtract(intersectWith)
         self.__dict__["line"] = self.maybeFix(LineUtils().piToCachedLine(
             a1.getPathIterator(None)))
     return self
コード例 #2
0
def fixAreatreeArea(areatree):
    # Append a 1-pixel square area for nodes without any area
    # this will fix using findZDisplayables for finding areatree, 
    #     including connector.getTargets(), connector.getOrigins() etc.
    if not isinstance(areatree, AreaTree):
        print "Error: input must be an AreaTree"
        return
    root = areatree.getRoot()
    if root is None:
        return
    for nd in root.getSubtreeNodes():
        a = nd.getArea()
        a.add(Area(Rectangle(int(nd.getX()), int(nd.getY()), 1, 1)))
        nd.setData(a)
コード例 #3
0
        layerset = areatree.getLayerSet()
        calibration = layerset.getCalibration()
        affine = areatree.getAffineTransform()
        # outAndInArray = areatree.findConnectors()
        for nd in root.getSubtreeNodes():
            # get node coordinates, from tut on web
            fp = array([nd.getX(), nd.getY()], 'f')
            affine.transform(fp, 0, fp, 0, 1)
            x = fp[0] * calibration.pixelWidth
            y = fp[1] * calibration.pixelHeight
            z = nd.getLayer().getZ(
            ) * calibration.pixelWidth  # a TrakEM2 oddity

            # get node connections, in/out synapse number, synapse id
            # NOTE: this method seems to be affected by display zoom value
            area = Area(Rectangle(int(fp[0]), int(fp[1]), 1, 1))
            # area.transform(affine)
            inAndOuts = layerset.findZDisplayables(Connector, nd.getLayer(),
                                                   area, False, False)
            outgoing = []
            incoming = []
            for connector in inAndOuts:
                if connector is None:
                    break
                if connector.intersectsOrigin(area, nd.getLayer()):
                    outgoing.append(connector)
                else:
                    incoming.append(connector)
            nInputs = len(incoming)
            nOutputs = len(outgoing)
            outgoingIds = [oc.getId() for oc in outgoing]
コード例 #4
0
ファイル: Proxy2D.py プロジェクト: WSCU/Reactive2d
def squarea(
    self, offset
):  #This is the default area generator. It will be overridden by certain shapes.
    return Area(Rectangle2D.Double(-offset.x, -offset.y, 1, 1))
コード例 #5
0
ファイル: TweakTools.py プロジェクト: wswenyue/Field
 def area(self):
     return Area(LineUtils().lineToGeneralPath(self.__dict__["line"]))
コード例 #6
0
ファイル: NewCachedLines.py プロジェクト: wswenyue/Field
def toArea2(self):
	"""Convert this line to a java.geom.Area"""
	return Area(LineUtils().lineToGeneralPath(self))