8 #ifndef META_OCEAN_MATH_TRIANGLE_H
9 #define META_OCEAN_MATH_TRIANGLE_H
18 template <
typename T>
class TriangleT;
71 ocean_assert_accuracy((std::is_same<Scalar, float>::value) || isValidBarycentric(barycentricPoint));
This class provides basic numeric functionalities.
Definition: Numeric.h:57
static constexpr T eps()
Returns a small epsilon.
static bool isEqual(const T first, const T second)
Returns whether two values are equal up to a small epsilon.
Definition: Numeric.h:2386
This class implements a base class for all triangle classes.
Definition: Triangle.h:49
static bool isBarycentricInside(const VectorT3< T > &barycentricPoint)
Returns whether a given point, specified as barycentric coordinate, lies inside a triangle.
Definition: Triangle.h:69
static bool isValidBarycentric(const VectorT3< T > &barycentric, const T &epsilon=NumericT< T >::eps())
Returns whether the a barycentric coordinate is valid.
Definition: Triangle.h:77
This class implements a vector with three elements.
Definition: Vector3.h:97
TriangleT< Scalar > Triangle
Definition of the Triangle object, depending on the OCEAN_MATH_USE_SINGLE_PRECISION either with singl...
Definition: Triangle.h:18
TriangleT< double > TriangleD
Instantiation of the TriangleT template class using a double precision float data type.
Definition: Triangle.h:32
TriangleT< float > TriangleF
Instantiation of the TriangleT template class using a single precision float data type.
Definition: Triangle.h:39
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15