Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
predicates_on_pointsS3.h File Reference
Include dependency graph for predicates_on_pointsS3.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class FT >
CGAL_BEGIN_NAMESPACE
Comparison_result 
compare_lexicographically_xyz (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
Comparison_result compare_lexicographically_xy (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool lexicographically_xyz_smaller_or_equal (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool lexicographically_xyz_smaller (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool lexicographically_xy_smaller (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool x_equal (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool y_equal (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool z_equal (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool equal_xy (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool equal_xyz (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
Comparison_result compare_x (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
Comparison_result compare_y (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
Comparison_result compare_z (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool less_x (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool less_y (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool less_z (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
bool collinear (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r)
 
template<class FT >
Orientation orientation (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r, const PointS3< FT > &s)
 
template<class FT >
bool coplanar (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r, const PointS3< FT > &s)
 
template<class FT >
bool are_positive_oriented (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r, const PointS3< FT > &s)
 
template<class FT >
bool are_negative_oriented (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r, const PointS3< FT > &s)
 
template<class FT >
bool are_ordered_along_line (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r)
 
template<class FT >
bool collinear_are_ordered_along_line (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r)
 
template<class FT >
bool are_strictly_ordered_along_line (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r)
 
template<class FT >
bool collinear_are_strictly_ordered_along_line (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r)
 
template<class FT >
Orientation coplanar_orientation (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r, const PointS3< FT > &s)
 
template<class FT >
Oriented_side side_of_oriented_sphere (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r, const PointS3< FT > &s, const PointS3< FT > &test)
 
template<class FT >
Bounded_side side_of_bounded_sphere (const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r, const PointS3< FT > &s, const PointS3< FT > &test)
 

Function Documentation

bool are_negative_oriented ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r,
const PointS3< FT > &  s 
)
inline

Definition at line 210 of file predicates_on_pointsS3.h.

References NEGATIVE, and orientation().

214 {
215  return orientation(p,q,r,s) == NEGATIVE;
216 }
Definition: enum.h:59
Orientation orientation(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)

Here is the call graph for this function:

bool are_ordered_along_line ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r 
)
inline

Definition at line 221 of file predicates_on_pointsS3.h.

References collinear(), and collinear_are_ordered_along_line().

224 {
225  return (collinear(p, q, r)) ? collinear_are_ordered_along_line(p, q, r)
226  : false;
227 }
bool collinear(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
bool collinear_are_ordered_along_line(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)

Here is the call graph for this function:

bool are_positive_oriented ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r,
const PointS3< FT > &  s 
)
inline

Definition at line 199 of file predicates_on_pointsS3.h.

References orientation(), and POSITIVE.

203 {
204  return orientation(p,q,r,s) == POSITIVE;
205 }
Definition: enum.h:61
Orientation orientation(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)

Here is the call graph for this function:

bool are_strictly_ordered_along_line ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r 
)
inline

Definition at line 246 of file predicates_on_pointsS3.h.

References collinear(), and collinear_are_strictly_ordered_along_line().

249 {
250  return (collinear(p, q, r))
252  : false;
253 }
bool collinear(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
bool collinear_are_strictly_ordered_along_line(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)

Here is the call graph for this function:

bool collinear ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r 
)

Definition at line 162 of file predicates_on_pointsS3.h.

References collinearC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

165 {
166  return collinearC3(p.x(), p.y(), p.z(),
167  q.x(), q.y(), q.z(),
168  r.x(), r.y(), r.z());
169 }
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)

Here is the call graph for this function:

bool collinear_are_ordered_along_line ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r 
)
inline

Definition at line 232 of file predicates_on_pointsS3.h.

References CGAL_kernel_exactness_precondition, collinear(), collinear_are_ordered_along_lineC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

235 {
237  return collinear_are_ordered_along_lineC3(p.x(),p.y(),p.z(),
238  q.x(),q.y(),q.z(),
239  r.x(),r.y(),r.z());
240 }
bool collinear(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
#define CGAL_kernel_exactness_precondition(EX)
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)

Here is the call graph for this function:

bool collinear_are_strictly_ordered_along_line ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r 
)
inline

Definition at line 259 of file predicates_on_pointsS3.h.

References CGAL_kernel_exactness_precondition, collinear(), collinear_are_strictly_ordered_along_lineC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

262 {
265  q.x(),q.y(),q.z(),
266  r.x(),r.y(),r.z());
267 }
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)
bool collinear(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
#define CGAL_kernel_exactness_precondition(EX)

Here is the call graph for this function:

Comparison_result compare_lexicographically_xy ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)

Definition at line 68 of file predicates_on_pointsS3.h.

References compare_lexicographically_xyC2(), PointS3< FT >::x(), and PointS3< FT >::y().

69 {
70  return compare_lexicographically_xyC2(p.x(),p.y(),
71  q.x(),q.y());
72 }
Comparison_result compare_lexicographically_xyC2(const FT &px, const FT &py, const FT &qx, const FT &qy)

Here is the call graph for this function:

CGAL_BEGIN_NAMESPACE Comparison_result compare_lexicographically_xyz ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)

Definition at line 60 of file predicates_on_pointsS3.h.

References compare_lexicographically_xyzC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

Referenced by lexicographically_xyz_smaller(), lexicographically_xyz_smaller_or_equal(), and Compare_xyz::operator()().

61 {
62  return compare_lexicographically_xyzC3(p.x(),p.y(),p.z(),
63  q.x(),q.y(),q.z());
64 }
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)

Here is the call graph for this function:

Here is the caller graph for this function:

Comparison_result compare_x ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 125 of file predicates_on_pointsS3.h.

References CGAL_NTS, CGAL::compare(), and PointS3< FT >::x().

126 { return CGAL_NTS compare(p.x(), q.x()); }
CGAL_KERNEL_INLINE Comparison_result compare(const NT &n1, const NT &n2)
Definition: number_utils.h:143
#define CGAL_NTS

Here is the call graph for this function:

Comparison_result compare_y ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 132 of file predicates_on_pointsS3.h.

References CGAL_NTS, CGAL::compare(), and PointS3< FT >::y().

133 { return CGAL_NTS compare(p.y(), q.y()); }
CGAL_KERNEL_INLINE Comparison_result compare(const NT &n1, const NT &n2)
Definition: number_utils.h:143
#define CGAL_NTS

Here is the call graph for this function:

Comparison_result compare_z ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 139 of file predicates_on_pointsS3.h.

References CGAL_NTS, CGAL::compare(), and PointS3< FT >::z().

Referenced by RayS3< FT >::collinear_has_on(), and Compare_z::operator()().

140 { return CGAL_NTS compare(p.z(), q.z()); }
CGAL_KERNEL_INLINE Comparison_result compare(const NT &n1, const NT &n2)
Definition: number_utils.h:143
#define CGAL_NTS

Here is the call graph for this function:

Here is the caller graph for this function:

bool coplanar ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r,
const PointS3< FT > &  s 
)
inline

Definition at line 188 of file predicates_on_pointsS3.h.

References COLLINEAR, and orientation().

Referenced by coplanar_orientation(), and Coplanar::operator()().

192 {
193  return orientation(p, q, r, s) == COLLINEAR;
194 }
Orientation orientation(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
const Orientation COLLINEAR
Definition: enum.h:72

Here is the call graph for this function:

Here is the caller graph for this function:

Orientation coplanar_orientation ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r,
const PointS3< FT > &  s 
)

Definition at line 272 of file predicates_on_pointsS3.h.

References CGAL_kernel_exactness_precondition, collinear(), coplanar(), coplanar_orientationC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

276 {
279  return coplanar_orientationC3(p.x(), p.y(), p.z(),
280  q.x(), q.y(), q.z(),
281  r.x(), r.y(), r.z(),
282  s.x(), s.y(), s.z());
283 }
bool coplanar(const PointS3< FT > &p, const PointS3< FT > &q, const PointS3< FT > &r, const PointS3< FT > &s)
bool collinear(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
#define CGAL_kernel_exactness_precondition(EX)
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)

Here is the call graph for this function:

bool equal_xy ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 113 of file predicates_on_pointsS3.h.

References PointS3< FT >::x(), and PointS3< FT >::y().

114 { return p.x() == q.x() && p.y() == q.y(); }

Here is the call graph for this function:

bool equal_xyz ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 119 of file predicates_on_pointsS3.h.

References PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

Referenced by Equal_xyz::operator()().

120 { return p.x() == q.x() && p.y() == q.y() && p.z() == q.z(); }

Here is the call graph for this function:

Here is the caller graph for this function:

bool less_x ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 145 of file predicates_on_pointsS3.h.

References PointS3< FT >::x().

146 { return p.x() < q.x(); }

Here is the call graph for this function:

bool less_y ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 151 of file predicates_on_pointsS3.h.

References PointS3< FT >::y().

152 { return p.y() < q.y(); }

Here is the call graph for this function:

bool less_z ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 157 of file predicates_on_pointsS3.h.

References PointS3< FT >::z().

158 { return p.z() < q.z(); }

Here is the call graph for this function:

bool lexicographically_xy_smaller ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 88 of file predicates_on_pointsS3.h.

References compare_lexicographically_xy(), and SMALLER.

89 { return compare_lexicographically_xy(p,q) == SMALLER; }
Definition: enum.h:96
Comparison_result compare_lexicographically_xy(const Point_2< R > &p, const Point_2< R > &q)

Here is the call graph for this function:

bool lexicographically_xyz_smaller ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)

Definition at line 82 of file predicates_on_pointsS3.h.

References compare_lexicographically_xyz(), and SMALLER.

Referenced by SegmentS3< FT >::max(), SegmentS3< FT >::min(), Less_xyz::operator()(), and PointS3< FT >::operator<().

83 { return compare_lexicographically_xyz(p,q) == SMALLER; }
CGAL_BEGIN_NAMESPACE Comparison_result compare_lexicographically_xyz(const PointS3< FT > &p, const PointS3< FT > &q)
Definition: enum.h:96

Here is the call graph for this function:

Here is the caller graph for this function:

bool lexicographically_xyz_smaller_or_equal ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)

Definition at line 76 of file predicates_on_pointsS3.h.

References compare_lexicographically_xyz(), and LARGER.

78 { return compare_lexicographically_xyz(p,q) != LARGER; }
CGAL_BEGIN_NAMESPACE Comparison_result compare_lexicographically_xyz(const PointS3< FT > &p, const PointS3< FT > &q)
Definition: enum.h:98

Here is the call graph for this function:

Orientation orientation ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r,
const PointS3< FT > &  s 
)
inline

Definition at line 174 of file predicates_on_pointsS3.h.

References orientationC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

178 {
179  return orientationC3(p.x(), p.y(), p.z(),
180  q.x(), q.y(), q.z(),
181  r.x(), r.y(), r.z(),
182  s.x(), s.y(), s.z());
183 }
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)

Here is the call graph for this function:

Bounded_side side_of_bounded_sphere ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r,
const PointS3< FT > &  s,
const PointS3< FT > &  test 
)

Definition at line 304 of file predicates_on_pointsS3.h.

References side_of_bounded_sphereC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

Referenced by Side_of_bounded_sphere::operator()().

309 {
310  return side_of_bounded_sphereC3(p.x(),p.y(),p.z(),
311  q.x(),q.y(),q.z(),
312  r.x(),r.y(),r.z(),
313  s.x(),s.y(),s.z(),
314  test.x(),test.y(),test.z());
315 }
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)

Here is the call graph for this function:

Here is the caller graph for this function:

Oriented_side side_of_oriented_sphere ( const PointS3< FT > &  p,
const PointS3< FT > &  q,
const PointS3< FT > &  r,
const PointS3< FT > &  s,
const PointS3< FT > &  test 
)

Definition at line 288 of file predicates_on_pointsS3.h.

References side_of_oriented_sphereC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

Referenced by Side_of_oriented_sphere::operator()().

293 {
294  return side_of_oriented_sphereC3(p.x(),p.y(),p.z(),
295  q.x(),q.y(),q.z(),
296  r.x(),r.y(),r.z(),
297  s.x(),s.y(),s.z(),
298  test.x(),test.y(),test.z());
299 }
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)

Here is the call graph for this function:

Here is the caller graph for this function:

bool x_equal ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 94 of file predicates_on_pointsS3.h.

References PointS3< FT >::x().

95 { return p.x() == q.x(); }

Here is the call graph for this function:

bool y_equal ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 101 of file predicates_on_pointsS3.h.

References PointS3< FT >::y().

102 { return p.y() == q.y(); }

Here is the call graph for this function:

bool z_equal ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 107 of file predicates_on_pointsS3.h.

References PointS3< FT >::z().

Referenced by Equal_z::operator()().

108 { return p.z() == q.z(); }

Here is the call graph for this function:

Here is the caller graph for this function: