Esempio n. 1
0
 def intersect_circle_plane(self, direction, triangle, start=None):
     if start is None:
         start = self.location
     (ccp, cp, d) = intersect_circle_plane(
         padd(psub(start, self.location), self.center),
         self.distance_radius, direction, triangle)
     if ccp and cp:
         cl = padd(cp, psub(start, ccp))
         return (cl, ccp, cp, d)
     return (None, None, None, INFINITE)
Esempio n. 2
0
 def intersect_circle_plane(self, direction, triangle, start=None):
     if start is None:
         start = self.location
     (ccp, cp, l) = intersect_circle_plane(start,
             self.distance_majorradius, direction, triangle)
     # offset intersection
     if ccp:
         cl = psub(cp, psub(ccp, start))
         return (cl, ccp, cp, l)
     return (None, None, None, INFINITE)
Esempio n. 3
0
 def intersect_circle_plane(self, direction, triangle, start=None):
     if start is None:
         start = self.location
     (ccp, cp, l) = intersect_circle_plane(start, self.distance_majorradius,
                                           direction, triangle)
     # offset intersection
     if ccp:
         cl = psub(cp, psub(ccp, start))
         return (cl, ccp, cp, l)
     return (None, None, None, INFINITE)
Esempio n. 4
0
 def intersect_circle_plane(self, direction, triangle, start=None):
     if start is None:
         start = self.location
     (ccp, cp, d) = intersect_circle_plane(
             start.sub(self.location).add(self.center), self.distance_radius,
             direction, triangle)
     if ccp and cp:
         cl = cp.add(start.sub(ccp))
         return (cl, ccp, cp, d)
     return (None, None, None, INFINITE)