14#include <lagrange/api.h>
15#include <lagrange/common.h>
27class LA_CORE_API ExactPredicates
38 static std::unique_ptr<ExactPredicates>
create(
const std::string& engine);
41 ExactPredicates() =
default;
42 virtual ~ExactPredicates() =
default;
55 virtual short collinear3D(
const double p1[3],
const double p2[3],
const double p3[3])
const;
68 virtual short orient2D(
const double p1[2],
const double p2[2],
const double p3[2])
const = 0;
87 const double p4[3])
const = 0;
106 const double p4[2])
const = 0;
128 const double p5[3])
const = 0;
static std::unique_ptr< ExactPredicates > create(const std::string &engine)
Factory method to create an exact predicate engine.
Definition ExactPredicates.cpp:20
virtual short orient2D(const double p1[2], const double p2[2], const double p3[2]) const =0
Exact 2D orientation test.
virtual short orient3D(const double p1[3], const double p2[3], const double p3[3], const double p4[3]) const =0
Exact 3D orientation test.
virtual short collinear3D(const double p1[3], const double p2[3], const double p3[3]) const
Tests whether p1, p2, and p3 are collinear in 3D.
Definition ExactPredicates.cpp:31
virtual short insphere(const double p1[3], const double p2[3], const double p3[3], const double p4[3], const double p5[3]) const =0
Exact 3D insphere test.
virtual short incircle(const double p1[2], const double p2[2], const double p3[2], const double p4[2]) const =0
Exact 2D incircle test.
Main namespace for Lagrange.