Exemplo n.º 1
0
    def method_14_closed(self, levelNum=8):
        point3dCollection = []
        count = len(self)
        if self.isCircle:
            return MathHelper.constructCircle(self[0].Position, self[0].bulge,
                                              50)

        i = 0
        while i < count:
            position = self[i].position
            bulge = self[i].Bulge
            if i != count - 1:
                point3d = self[i + 1].position
            else:
                point3d = self[0].position
            point3dCollection.append(position)
            #             if (not position.smethod_170(point3d)):
            if (not MathHelper.smethod_96(bulge)):
                if bulge < 0.25 and bulge > -0.25:
                    levelNum = 3
                MathHelper.getArc(position, point3d, bulge, levelNum,
                                  point3dCollection)
            i += 1
        point3dCollection.append(self[0].position)
        return point3dCollection
Exemplo n.º 2
0
 def getQgsPointList(self):
     pointList = []
     for i in range(self.NumberOfVertices):
         polylinePoint = self[i]
         pointList.append(polylinePoint.point3d)
         if not MathHelper.smethod_96(polylinePoint.bulge):
             if i != self.NumberOfVertices - 1:
                 point3d = self[i + 1].point3d
             else:
                 point3d = self[0].point3d
             MathHelper.getArc(polylinePoint.point3d, point3d, polylinePoint.bulge, 4, pointList)
     
     if self.Closed:
         pointList.append(self[0].point3d)
     return pointList
    def getCurve(self, smooth):
        point3dCollection = []
        count = len(self)
        i = 0
        while i < count:
            position = self[i].position
            bulge = self[i].Bulge
            if i != count - 1:
                point3d = self[i + 1].position
            else:
                point3d = self[0].position
            point3dCollection.append(position)
#             if (not position.smethod_170(point3d)):
            if (not MathHelper.smethod_96(bulge)):
                MathHelper.getArc(position, point3d, bulge, smooth, point3dCollection)
#                 print bulge
                
            i += 1 
        return point3dCollection
    def method_14(self, levelNum = 8):
        point3dCollection = []
        count = len(self)
        i = 0
        while i < count:
            position = self[i].position
            bulge = self[i].Bulge
            if i != count - 1:
                point3d = self[i + 1].position
            else:
                point3d = self[0].position
            point3dCollection.append(position)
#             if (not position.smethod_170(point3d)):
            if (not MathHelper.smethod_96(bulge)):
                if bulge < 0.25 and bulge > -0.25:
                    levelNum = 3
                MathHelper.getArc(position, point3d, bulge, levelNum, point3dCollection)
            i += 1
        return point3dCollection
Exemplo n.º 5
0
    def GetOffsetCurves(self, smooth):
        point3dCollection = []
        count = len(self)
        i = 0
        while i < count:
            position = self[i].point3d
            bulge = self.GetBulgeAt(i)
            if i != count - 1:
                point3d = self[i + 1].point3d
            else:
                point3d = self[0].point3d
            point3dCollection.append(position)
#             if (not position.smethod_170(point3d)):
            if (not MathHelper.smethod_96(bulge)):
                MathHelper.getArc(position, point3d, bulge, smooth, point3dCollection)
#                 print bulge
                
            i += 1 
#         point3dCollection.append(self[0].position)                   
        return point3dCollection
Exemplo n.º 6
0
 def GetArcSegmentAt(self, index):
     segment = []
     if self[index].bulge != 0.0:
         if index != self.NumberOfVertices - 1:
             MathHelper.getArc(self[index].point3d, self[index+1].point3d, self[index].bulge, 4, segment)
         else:
             if self.Closed:
                 MathHelper.getArc(self[index].point3d, self[0].point3d, self[index].bulge, 4, segment)
             else:
                 segment = None
     else:
         segment.append(self[index])
         if index != self.NumberOfVertices - 1:
             segment.append(self[index + 1])
         else:
             if self.Closed:
                 segment.append(self[0])
             else:
                 segment = None
     return segment