DOLFIN
DOLFIN C++ interface
predicates.h
1 // This is a DOLFIN header file for predicates.cpp which provides
2 //
3 // Routines for Arbitrary Precision Floating-point Arithmetic
4 // and Fast Robust Geometric Predicates
5 //
6 // by
7 //
8 // Jonathan Richard Shewchuk
9 //
10 // Code is placed in the public domain.
11 
12 #ifndef __PREDICATES_H
13 #define __PREDICATES_H
14 
15 namespace dolfin
16 {
17 
18  class Point;
19 
21  void exactinit();
22 
24  double orient1d(double a, double b, double x);
25 
29  double _orient2d(const double* a, const double* b, const double* c);
30 
32  double orient2d(const Point& a, const Point& b, const Point& c);
33 
37  double _orient3d(const double* a, const double* b, const double* c, const double* d);
38 
40  double orient3d(const Point& a, const Point& b, const Point& c, const Point& d);
41 
45 
47  {
48  public:
49 
51  {
52  exactinit();
53  }
54 
55  };
56 
57 }
58 
59 #endif
Definition: adapt.h:29
double orient1d(double a, double b, double x)
Compute relative orientation of point x wrt segment [a, b].
Definition: predicates.cpp:5
void exactinit()
Initialize tolerances for exact arithmetic.
Definition: predicates.cpp:670
double _orient2d(const double *a, const double *b, const double *c)
double orient2d(const Point &a, const Point &b, const Point &c)
Convenience function using dolfin::Point.
Definition: predicates.cpp:12
double orient3d(const Point &a, const Point &b, const Point &c, const Point &d)
Convenience function using dolfin::Point.
Definition: predicates.cpp:19
double _orient3d(const double *a, const double *b, const double *c, const double *d)
Definition: predicates.h:46