def getQuadrantPoints(self):
        result = []

        angle = 0
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle,
                                          angle) == True:
            result.append(
                QgsPoint(self.center.x() + self.radius, self.center.y()))

        angle = math.pi / 2
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle,
                                          angle) == True:
            result.append(
                QgsPoint(self.center.x(),
                         self.center.y() + self.radius))

        angle = math.pi
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle,
                                          angle) == True:
            result.append(
                QgsPoint(self.center.x() - self.radius, self.center.y()))

        angle = math.pi * 3 / 2
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle,
                                          angle) == True:
            result.append(
                QgsPoint(self.center.x(),
                         self.center.y() - self.radius))

        return result
Exemple #2
0
    def getPerpendicularPoints(self, point):
        result = []
        angle = qad_utils.getAngleBy2Pts(self.center, point)
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
            result.append(qad_utils.getPolarPointByPtAngle(self.center, angle, self.radius))

        angle = angle + math.pi
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
            result.append(qad_utils.getPolarPointByPtAngle(self.center, angle, self.radius))

        return result
Exemple #3
0
   def getPerpendicularPoints(self, point):
      result = []
      angle = qad_utils.getAngleBy2Pts(self.center, point)
      if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
         result.append( qad_utils.getPolarPointByPtAngle(self.center,
                                                         angle,
                                                         self.radius))

      angle = angle + math.pi         
      if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
         result.append( qad_utils.getPolarPointByPtAngle(self.center,
                                                         angle,
                                                         self.radius))
         
      return result
Exemple #4
0
 def isPtOnArc(self, point):
     dist = qad_utils.getDistance(self.center, point)
     if qad_utils.doubleNear(self.radius, dist):
         angle = qad_utils.getAngleBy2Pts(self.center, point)
         return qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle)
     else:
         return False
Exemple #5
0
 def isPtOnArc(self, point):
    dist =  qad_utils.getDistance(self.center, point)
    if qad_utils.doubleNear(self.radius, dist):
       angle = qad_utils.getAngleBy2Pts(self.center, point)
       return qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle)
    else:
       return False
Exemple #6
0
    def getQuadrantPoints(self):
        result = []

        angle = 0
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
            result.append(QgsPoint(self.center.x() + self.radius, self.center.y()))

        angle = math.pi / 2
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
            result.append(QgsPoint(self.center.x(), self.center.y() + self.radius))

        angle = math.pi
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
            result.append(QgsPoint(self.center.x() - self.radius, self.center.y()))

        angle = math.pi * 3 / 2
        if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
            result.append(QgsPoint(self.center.x(), self.center.y() - self.radius))

        return result
Exemple #7
0
    def getTanPoints(self, point):
        result = []

        circle = QadCircle()
        circle.set(self.center, self.radius)
        points = circle.getTanPoints(point)
        tot = len(points)
        for p in points:
            angle = qad_utils.getAngleBy2Pts(self.center, p)
            if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
                result.append(p)

        return result
Exemple #8
0
 def getTanPoints(self, point):
    result = []
    
    circle = QadCircle()
    circle.set(self.center, self.radius)
    points = circle.getTanPoints(point)
    tot = len(points)
    for p in points:
       angle = qad_utils.getAngleBy2Pts(self.center, p)
       if qad_utils.isAngleBetweenAngles(self.startAngle, self.endAngle, angle) == True:
          result.append(p)
          
    return result