48 #ifndef CGAL_CONSTRUCTIONS_KERNEL_FTC2_H
49 #define CGAL_CONSTRUCTIONS_KERNEL_FTC2_H
59 const FT &qx,
const FT &qy,
70 const FT &drx,
const FT &dry,
96 const FT &qx,
const FT &qy,
97 const FT &rx,
const FT &ry,
105 template <
class FT >
109 const FT &qx,
const FT &qy,
119 template <
class FT >
123 const FT &
dx,
const FT &
dy,
131 template <
class FT >
135 const FT &qx,
const FT &qy,
136 FT &a, FT &b, FT& c )
144 template <
class FT >
152 template <
class FT >
160 x = (-b-c)/a + FT(i)*b;
166 y = -(a+c)/b - FT(i)*a;
170 template <
class FT >
174 const FT &px,
const FT &py,
179 c = lb * px - la * py;
182 template <
class FT >
186 const FT &px,
const FT &py,
203 FT ab = la/lb, ba = lb/la, ca = lc/la;
204 y = ( -px + ab*py - ca ) / ( ba + ab );
214 x = (la * (lb * py - lc) - px * b2) /
d;
215 y = (lb * (lc - la * px) + py * a2) /
d;
219 template <
class FT >
223 const FT &qx,
const FT &qy,
224 const FT &rx,
const FT &ry,
234 template <
class FT >
238 const FT &qx,
const FT &qy,
239 const FT &rx,
const FT &ry)
246 template <
class FT >
250 const FT &qx,
const FT &qy)
255 template <
class FT >
259 const FT &px,
const FT &py)
263 return la*px + lb*py + lc;
266 template <
class FT >
270 const FT &px,
const FT &py)
273 return la*px + lb*py;
276 template <
class FT >
280 const FT &qx,
const FT &qy,
281 const FT &rx,
const FT &ry)
288 #endif // CGAL_CONSTRUCTIONS_KERNEL_FTC2_H
FT line_y_at_xC2(const FT &a, const FT &b, const FT &c, const FT &x)
CGAL_KERNEL_MEDIUM_INLINE void circumcenterC2(const FT &px, const FT &py, const FT &qx, const FT &qy, const FT &rx, const FT &ry, FT &x, FT &y)
CGAL_BEGIN_NAMESPACE FT det2x2_by_formula(const FT &a00, const FT &a01, const FT &a10, const FT &a11)
void line_get_pointC2(const FT &a, const FT &b, const FT &c, int i, FT &x, FT &y)
void int int REAL REAL * y
#define CGAL_KERNEL_INLINE
CGAL_KERNEL_INLINE FT squared_distanceC2(const FT &px, const FT &py, const FT &qx, const FT &qy)
void perpendicular_through_pointC2(const FT &la, const FT &lb, const FT &px, const FT &py, FT &a, FT &b, FT &c)
CGAL_BEGIN_NAMESPACE CGAL_KERNEL_INLINE void midpointC2(const FT &px, const FT &py, const FT &qx, const FT &qy, FT &x, FT &y)
void line_from_point_directionC2(const FT &px, const FT &py, const FT &dx, const FT &dy, FT &a, FT &b, FT &c)
CGAL_KERNEL_INLINE void bisector_of_pointsC2(const FT &px, const FT &py, const FT &qx, const FT &qy, FT &a, FT &b, FT &c)
CGAL_KERNEL_LARGE_INLINE void circumcenter_translateC2(const FT &dqx, const FT &dqy, const FT &drx, const FT &dry, FT &dcx, FT &dcy)
#define CGAL_KERNEL_MEDIUM_INLINE
CGAL_KERNEL_MEDIUM_INLINE FT squared_circumradiusC2(const FT &px, const FT &py, const FT &qx, const FT &qy, const FT &rx, const FT &ry, FT &x, FT &y)
#define CGAL_KERNEL_LARGE_INLINE
CGAL_KERNEL_MEDIUM_INLINE void line_project_pointC2(const FT &la, const FT &lb, const FT &lc, const FT &px, const FT &py, FT &x, FT &y)
CGAL_KERNEL_INLINE FT scaled_distance_to_directionC2(const FT &la, const FT &lb, const FT &px, const FT &py)
void line_from_pointsC2(const FT &px, const FT &py, const FT &qx, const FT &qy, FT &a, FT &b, FT &c)
#define CGAL_BEGIN_NAMESPACE
#define CGAL_kernel_assertion(EX)
#define CGAL_END_NAMESPACE
CGAL_KERNEL_INLINE FT scaled_distance_to_lineC2(const FT &la, const FT &lb, const FT &lc, const FT &px, const FT &py)