9#ifndef IGL_PREDICATES_PREDICATES_H
10#define IGL_PREDICATES_PREDICATES_H
12#include "../igl_inline.h"
16 namespace predicates {
43 template<
typename Vector2D>
45 const Eigen::MatrixBase<Vector2D>& pa,
46 const Eigen::MatrixBase<Vector2D>& pb,
47 const Eigen::MatrixBase<Vector2D>& pc);
59 template<
typename Vector3D>
61 const Eigen::MatrixBase<Vector3D>& pa,
62 const Eigen::MatrixBase<Vector3D>& pb,
63 const Eigen::MatrixBase<Vector3D>& pc,
64 const Eigen::MatrixBase<Vector3D>& pd);
76 template<
typename Vector2D>
78 const Eigen::MatrixBase<Vector2D>& pa,
79 const Eigen::MatrixBase<Vector2D>& pb,
80 const Eigen::MatrixBase<Vector2D>& pc,
81 const Eigen::MatrixBase<Vector2D>& pd);
94 template<
typename Vector3D>
96 const Eigen::MatrixBase<Vector3D>& pa,
97 const Eigen::MatrixBase<Vector3D>& pb,
98 const Eigen::MatrixBase<Vector3D>& pc,
99 const Eigen::MatrixBase<Vector3D>& pd,
100 const Eigen::MatrixBase<Vector3D>& pe);
104#ifndef IGL_STATIC_LIBRARY
105# include "predicates.cpp"
#define IGL_INLINE
Definition igl_inline.h:15
Orientation orient3d(const Eigen::MatrixBase< Vector3D > &pa, const Eigen::MatrixBase< Vector3D > &pb, const Eigen::MatrixBase< Vector3D > &pc, const Eigen::MatrixBase< Vector3D > &pd)
Compute the orientation of the tetrahedron formed by pa, pb, pc, pd.
Orientation incircle(const Eigen::MatrixBase< Vector2D > &pa, const Eigen::MatrixBase< Vector2D > &pb, const Eigen::MatrixBase< Vector2D > &pc, const Eigen::MatrixBase< Vector2D > &pd)
Decide whether a point is inside/outside/on a circle.
void exactinit()
Initialize internal variable used by predciates.
Orientation insphere(const Eigen::MatrixBase< Vector3D > &pa, const Eigen::MatrixBase< Vector3D > &pb, const Eigen::MatrixBase< Vector3D > &pc, const Eigen::MatrixBase< Vector3D > &pd, const Eigen::MatrixBase< Vector3D > &pe)
Decide whether a point is inside/outside/on a sphere.
Orientation
Types of orientations and other predicate results.
Definition predicates.h:20
Orientation orient2d(const Eigen::MatrixBase< Vector2D > &pa, const Eigen::MatrixBase< Vector2D > &pb, const Eigen::MatrixBase< Vector2D > &pc)
Compute the orientation of the triangle formed by pa, pb, pc.