48 #ifndef CGAL_PREDICATES_KERNEL_FTC3_H
49 #define CGAL_PREDICATES_KERNEL_FTC3_H
62 const FT &qx,
const FT &qy,
const FT &qz)
65 if (c !=
EQUAL)
return c;
67 if (c !=
EQUAL)
return c;
75 const FT &qx,
const FT &qy,
const FT &qz)
86 const FT &qx,
const FT &qy,
const FT &qz)
97 const FT &qx,
const FT &qy,
const FT &qz,
98 const FT &rx,
const FT &ry,
const FT &rz)
112 template <
class FT >
116 const FT &qx,
const FT &qy,
const FT &qz,
117 const FT &rx,
const FT &ry,
const FT &rz,
118 const FT &sx,
const FT &sy,
const FT &sz)
125 template <
class FT >
130 const FT &rx,
const FT &ry,
const FT &rz,
131 const FT &sx,
const FT &sy,
const FT &sz,
132 const FT &px,
const FT &py,
const FT &pz)
145 template <
class FT >
150 const FT &px,
const FT &py,
const FT &pz,
151 const FT &qx,
const FT &qy,
const FT &qz,
152 const FT &rx,
const FT &ry,
const FT &rz)
154 if (px < qx)
return !(rx < qx);
155 if (qx < px)
return !(qx < rx);
156 if (py < qy)
return !(ry < qy);
157 if (qy < py)
return !(qy < ry);
158 if (pz < qz)
return !(rz < qz);
159 if (qz < pz)
return !(qz < rz);
163 template <
class FT >
168 const FT &px,
const FT &py,
const FT &pz,
169 const FT &qx,
const FT &qy,
const FT &qz,
170 const FT &rx,
const FT &ry,
const FT &rz)
172 if (px < qx)
return (qx < rx);
173 if (qx < px)
return (rx < qx);
174 if (py < qy)
return (qy < ry);
175 if (qy < py)
return (ry < qy);
176 if (pz < qz)
return (qz < rz);
177 if (qz < pz)
return (rz < qz);
181 template <
class FT >
185 const FT &dx2,
const FT &dy2,
const FT &dz2)
199 const FT &px,
const FT &py,
const FT &pz)
208 const FT &qx,
const FT &qy,
const FT &qz,
209 const FT &rx,
const FT &ry,
const FT &rz,
210 const FT &sx,
const FT &sy,
const FT &sz,
211 const FT &tx,
const FT &ty,
const FT &tz)
239 const FT &qx,
const FT &qy,
const FT &qz,
240 const FT &rx,
const FT &ry,
const FT &rz,
241 const FT &sx,
const FT &sy,
const FT &sz,
242 const FT &tx,
const FT &ty,
const FT &tz)
256 template <
class FT >
260 const FT &qx,
const FT &qy,
const FT &qz,
261 const FT &rx,
const FT &ry,
const FT &rz)
267 template <
class FT >
272 const FT &qx,
const FT &qy,
const FT &qz,
273 const FT &rx,
const FT &ry,
const FT &rz)
278 template <
class FT >
283 const FT &qx,
const FT &qy,
const FT &qz,
284 const FT &rx,
const FT &ry,
const FT &rz)
289 template <
class FT >
293 const FT &pa,
const FT &pb,
const FT &pc,
294 const FT &px,
const FT &py,
const FT &pz,
295 const FT &qx,
const FT &qy,
const FT &qz)
301 template <
class FT >
306 const FT &pa,
const FT &pb,
const FT &pc,
307 const FT &px,
const FT &py,
const FT &pz,
308 const FT &qx,
const FT &qy,
const FT &qz)
313 template <
class FT >
318 const FT &pa,
const FT &pb,
const FT &pc,
319 const FT &px,
const FT &py,
const FT &pz,
320 const FT &qx,
const FT &qy,
const FT &qz)
325 template <
class FT >
329 const FT &ppx,
const FT &ppy,
const FT &ppz,
330 const FT &pqx,
const FT &pqy,
const FT &pqz,
331 const FT &prx,
const FT &pry,
const FT &prz,
332 const FT &px,
const FT &py,
const FT &pz,
333 const FT &qx,
const FT &qy,
const FT &qz)
336 pqx-ppx, pqy-ppy, pqz-ppz,
337 prx-ppx, pry-ppy, prz-ppz,
338 qx-px, qy-py, qz-pz));
341 template <
class FT >
346 const FT &ppx,
const FT &ppy,
const FT &ppz,
347 const FT &pqx,
const FT &pqy,
const FT &pqz,
348 const FT &prx,
const FT &pry,
const FT &prz,
349 const FT &px,
const FT &py,
const FT &pz,
350 const FT &qx,
const FT &qy,
const FT &qz)
353 prx, pry, prz, px, py, pz, qx, qy, qz) ==
LARGER;
356 template <
class FT >
361 const FT &ppx,
const FT &ppy,
const FT &ppz,
362 const FT &pqx,
const FT &pqy,
const FT &pqz,
363 const FT &prx,
const FT &pry,
const FT &prz,
364 const FT &px,
const FT &py,
const FT &pz,
365 const FT &qx,
const FT &qy,
const FT &qz)
368 prx, pry, prz, px, py, pz, qx, qy, qz) ==
SMALLER;
373 #ifdef CGAL_ARITHMETIC_FILTER_H
374 #include <CGAL/Arithmetic_filter/predicates/kernel_ftC3.h>
377 #endif // CGAL_PREDICATES_KERNEL_FTC3_H
CGAL_KERNEL_MEDIUM_INLINE Orientation orientationC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz, const FT &sx, const FT &sy, const FT &sz)
CGAL_KERNEL_MEDIUM_INLINE bool has_smaller_signed_dist_to_planeC3(const FT &ppx, const FT &ppy, const FT &ppz, const FT &pqx, const FT &pqy, const FT &pqz, const FT &prx, const FT &pry, const FT &prz, const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
CGAL_KERNEL_INLINE Comparison_result cmp_dist_to_pointC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz)
static SURF_BEGIN_NAMESPACE double sign(double x)
Sign sign_of_determinant3x3(const FT &a00, const FT &a01, const FT &a02, const FT &a10, const FT &a11, const FT &a12, const FT &a20, const FT &a21, const FT &a22)
CGAL_KERNEL_MEDIUM_INLINE bool dominanceC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
CGAL_BEGIN_NAMESPACE Sign sign_of_determinant2x2(const FT &a00, const FT &a01, const FT &a10, const FT &a11)
#define CGAL_KERNEL_INLINE
CGAL_KERNEL_MEDIUM_INLINE bool has_larger_signed_dist_to_directionC3(const FT &pa, const FT &pb, const FT &pc, const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
Orientation orientationC2(const FT &px, const FT &py, const FT &qx, const FT &qy, const FT &rx, const FT &ry)
CGAL_KERNEL_MEDIUM_INLINE bool has_larger_signed_dist_to_planeC3(const FT &ppx, const FT &ppy, const FT &ppz, const FT &pqx, const FT &pqy, const FT &pqz, const FT &prx, const FT &pry, const FT &prz, const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
CGAL_KERNEL_MEDIUM_INLINE bool equal_directionC3(const FT &dx1, const FT &dy1, const FT &dz1, const FT &dx2, const FT &dy2, const FT &dz2)
CGAL_KERNEL_MEDIUM_INLINE Comparison_result cmp_signed_dist_to_planeC3(const FT &ppx, const FT &ppy, const FT &ppz, const FT &pqx, const FT &pqy, const FT &pqz, const FT &prx, const FT &pry, const FT &prz, const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
CGAL_KERNEL_MEDIUM_INLINE bool collinear_are_strictly_ordered_along_lineC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz)
#define CGAL_KERNEL_MEDIUM_INLINE
CGAL_KERNEL_MEDIUM_INLINE bool has_smaller_signed_dist_to_directionC3(const FT &pa, const FT &pb, const FT &pc, const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
#define CGAL_KERNEL_LARGE_INLINE
CGAL_KERNEL_INLINE FT squared_distanceC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
Sign sign_of_determinant4x4(const FT &a00, const FT &a01, const FT &a02, const FT &a03, const FT &a10, const FT &a11, const FT &a12, const FT &a13, const FT &a20, const FT &a21, const FT &a22, const FT &a23, const FT &a30, const FT &a31, const FT &a32, const FT &a33)
CGAL_KERNEL_MEDIUM_INLINE bool has_larger_dist_to_pointC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz)
CGAL_KERNEL_MEDIUM_INLINE bool collinearC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz)
CGAL_KERNEL_LARGE_INLINE Oriented_side side_of_oriented_sphereC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz, const FT &sx, const FT &sy, const FT &sz, const FT &tx, const FT &ty, const FT &tz)
CGAL_KERNEL_MEDIUM_INLINE bool collinear_are_ordered_along_lineC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz)
CGAL_BEGIN_NAMESPACE CGAL_KERNEL_MEDIUM_INLINE Comparison_result compare_lexicographically_xyzC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
CGAL_KERNEL_MEDIUM_INLINE bool strict_dominanceC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
CGAL_KERNEL_MEDIUM_INLINE Bounded_side side_of_bounded_sphereC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz, const FT &sx, const FT &sy, const FT &sz, const FT &tx, const FT &ty, const FT &tz)
CGAL_KERNEL_MEDIUM_INLINE Orientation coplanar_orientationC3(const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz, const FT &sx, const FT &sy, const FT &sz, const FT &px, const FT &py, const FT &pz)
#define CGAL_BEGIN_NAMESPACE
CGAL_KERNEL_MEDIUM_INLINE Comparison_result cmp_signed_dist_to_directionC3(const FT &pa, const FT &pb, const FT &pc, const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)
CGAL_KERNEL_INLINE Comparison_result compare(const NT &n1, const NT &n2)
CGAL_KERNEL_LARGE_INLINE Oriented_side side_of_oriented_planeC3(const FT &a, const FT &b, const FT &c, const FT &d, const FT &px, const FT &py, const FT &pz)
CGAL_KERNEL_INLINE FT scaled_distance_to_directionC3(const FT &pa, const FT &pb, const FT &pc, const FT &px, const FT &py, const FT &pz)
const Orientation COLLINEAR
#define CGAL_END_NAMESPACE
CGAL_KERNEL_MEDIUM_INLINE bool has_smaller_dist_to_pointC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz)