MEPP2 Project
|
Functions | |
template<class T > | |
static T | asin (T sine) |
Safe call to the std::asin function. More... | |
template<class T > | |
static T | asin_degree (T sine) |
Safe call to the std::asin function. More... | |
template<class T > | |
T | acos (T cosine) |
Safe call to the std::acos function. More... | |
template<class T > | |
T | acos_degree (T cosine) |
Safe call to the std::acos function. More... | |
template<typename GeometryTraits > | |
static bool | sphere_clip_vector (const typename GeometryTraits::Point ¢er, double r, const typename GeometryTraits::Point &p, typename GeometryTraits::Vector &v, const GeometryTraits >) |
Compute the intersection of a sphere (center + radius) with a ray/line (starting point + direction vector). Sphere equation is given by (x-Cx)^2+(y-Cy)^2+(z-Cz)^2=r^2 Line equation is given by (x, y, z) = p + txV. More... | |
template<typename GeometryTraits > | |
static bool | is_in_tetrahedron (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &d, const typename GeometryTraits::Point &Pos, const GeometryTraits >) |
Predicate fonction to know whether the Pos position is inside the abcd tetrahedron. More... | |
template<typename GeometryTraits > | |
static GeometryTraits::Scalar | trilinear_interpolation (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &d, const typename GeometryTraits::Point &Pos, typename GeometryTraits::Scalar vala, typename GeometryTraits::Scalar valb, typename GeometryTraits::Scalar valc, typename GeometryTraits::Scalar vald, const GeometryTraits >) |
Trilinear interpolation of values at tetrahedron points. More... | |
template<typename GeometryTraits > | |
static std::vector< typename GeometryTraits::Scalar > | trilinear_interpolation (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &d, const typename GeometryTraits::Point &Pos, const std::vector< typename GeometryTraits::Scalar > &vala, const std::vector< typename GeometryTraits::Scalar > &valb, const std::vector< typename GeometryTraits::Scalar > &valc, const std::vector< typename GeometryTraits::Scalar > &vald, const GeometryTraits >) |
Trilinear interpolation of values at tetrahedron points. More... | |
template<typename GeometryTraits > | |
static bool | is_over_segment (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &Pos, typename GeometryTraits::Vector &diff, const GeometryTraits >) |
Predicate fonction to know whether the Pos position is over the ab segment. More... | |
template<typename GeometryTraits > | |
static bool | is_in_triangle (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &Pos, const GeometryTraits >) |
Predicate fonction to know whether the projection of point Pos on the triangle plane is in the triangle (abc). More... | |
template<typename GeometryTraits > | |
static GeometryTraits::Scalar | bilinear_interpolation (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &Pos, typename GeometryTraits::Scalar vala, typename GeometryTraits::Scalar valb, typename GeometryTraits::Scalar valc, const GeometryTraits >) |
Bilinear interpolation of values at triangle points. More... | |
template<typename GeometryTraits > | |
static std::vector< typename GeometryTraits::Scalar > | bilinear_interpolation (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &Pos, const std::vector< typename GeometryTraits::Scalar > &vala, const std::vector< typename GeometryTraits::Scalar > &valb, const std::vector< typename GeometryTraits::Scalar > &valc, const GeometryTraits >) |
Bilinear interpolation of values at triangle points. More... | |
template<typename GeometryTraits > | |
GeometryTraits::Point | quad_barycenter (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &d, const GeometryTraits >) |
Compute the barycenter/mean position of a quad (given by 4 points). More... | |
template<typename GeometryTraits > | |
double | quad_perimeter (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &d, const GeometryTraits >) |
Compute the perimeter of a quad (given by 4 points). More... | |
template<typename GeometryTraits > | |
double | quad_area (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const typename GeometryTraits::Point &d, const GeometryTraits >) |
Compute the area of a quad (given by 4 points). More... | |
template<typename GeometryTraits > | |
GeometryTraits::Scalar | triangle_rad_angle (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const GeometryTraits >) |
Compute the angle of a triangle (given by 3 points). More... | |
template<typename GeometryTraits > | |
GeometryTraits::Point | triangle_barycenter (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const GeometryTraits &) |
Compute the barycenter/mean position of a triangle (given by 3 points). More... | |
template<typename GeometryTraits > | |
double | triangle_perimeter (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const GeometryTraits >) |
Compute the perimeter of a triangle (given by 3 points). More... | |
template<typename GeometryTraits > | |
GeometryTraits::Vector | triangle_normal_unnormalized (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const GeometryTraits >) |
Compute the unnormalized normal of a triangle (given by 3 points). More... | |
template<typename GeometryTraits > | |
double | triangle_area (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const GeometryTraits >) |
Compute the area of a triangle (given by 3 points). More... | |
template<typename FaceGraph , typename GeometryTraits = FEVV::Geometry_traits< FaceGraph >> | |
double | triangle_shape_potential (const typename GeometryTraits::Point &a, const typename GeometryTraits::Point &b, const typename GeometryTraits::Point &c, const double prohib_energy, const GeometryTraits >) |
Compute the shape potential of a triangle (given by 3 points). Triangle "equilateralness" measure. More... | |
|
inline |
Safe call to the std::acos function.
[in] | cosine | The cosine value. |
Definition at line 64 of file AngleOperations.hpp.
|
inline |
Safe call to the std::acos function.
[in] | cosine | The cosine value. |
Definition at line 83 of file AngleOperations.hpp.
|
static |
Safe call to the std::asin function.
[in] | sine | The sinus value. |
Definition at line 31 of file AngleOperations.hpp.
|
static |
Safe call to the std::asin function.
[in] | sine | The sinus value. |
Definition at line 50 of file AngleOperations.hpp.
|
inlinestatic |
Bilinear interpolation of values at triangle points.
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | Pos | The point for which the bilinear interpolations of values are computed. |
[in] | vala | The vector of values at the first point. |
[in] | valb | The vector of values at the second point. |
[in] | valc | The vector of values at the third point. |
[in] | gt | The geometry trait object. |
Definition at line 413 of file Interpolation.hpp.
|
inlinestatic |
Bilinear interpolation of values at triangle points.
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | Pos | The point for which the bilinear interpolation of values is computed. |
[in] | vala | The value of the first point. |
[in] | valb | The value of the second point. |
[in] | valc | The value of the third point. |
[in] | gt | The geometry trait object. |
Definition at line 352 of file Interpolation.hpp.
|
inlinestatic |
Predicate fonction to know whether the Pos position is inside the abcd tetrahedron.
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | d | The fourth point. |
[in] | Pos | The point that is either inside or outside the tetrahedron (abcd). |
[in] | gt | The geometry trait object. |
Definition at line 36 of file Interpolation.hpp.
|
inlinestatic |
Predicate fonction to know whether the projection of point Pos on the triangle plane is in the triangle (abc).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | Pos | The point whose projection is either inside or outside the triangle (abc). |
[in] | gt | The geometry trait object. |
Definition at line 303 of file Interpolation.hpp.
|
inlinestatic |
Predicate fonction to know whether the Pos position is over the ab segment.
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | Pos | The point that is either over or beside the segment (ab). |
[out] | diff | The orthogonal vector to translate Pos onto the segment (ab) (or line when Pos is not over the segment). |
[in] | gt | The geometry trait object. |
Definition at line 252 of file Interpolation.hpp.
|
inline |
Compute the area of a quad (given by 4 points).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | d | The fourth point. |
gt | The geometry trait object. |
|
inline |
Compute the barycenter/mean position of a quad (given by 4 points).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | d | The fourth point. |
[in] | gt | The geometry trait object. |
|
inline |
Compute the perimeter of a quad (given by 4 points).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | d | The fourth point. |
[in] | gt | The geometry trait object. |
|
static |
Compute the intersection of a sphere (center + radius) with a ray/line (starting point + direction vector). Sphere equation is given by (x-Cx)^2+(y-Cy)^2+(z-Cz)^2=r^2 Line equation is given by (x, y, z) = p + txV.
GeometryTraits | The geometric kernel. |
[in] | center | The sphere center. |
[in] | r | The sphere radius. |
[in] | p | The starting point/origin of the ray/line. |
[in,out] | v | The ray/line direction to clip by the sphere when an intersection occurs in the direction of v. |
[in] | gt | The geometry trait object. |
Definition at line 39 of file ClippingAndIntersection.hpp.
|
inline |
Compute the area of a triangle (given by 3 points).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
gt | The geometry trait object. |
Definition at line 106 of file triangles.hpp.
|
inline |
Compute the barycenter/mean position of a triangle (given by 3 points).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | gt | The geometry trait object. |
Definition at line 37 of file triangles.hpp.
|
inline |
Compute the unnormalized normal of a triangle (given by 3 points).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | gt | The geometry trait object. |
Definition at line 83 of file triangles.hpp.
|
inline |
Compute the perimeter of a triangle (given by 3 points).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | gt | The geometry trait object. |
Definition at line 60 of file triangles.hpp.
|
inline |
Compute the angle of a triangle (given by 3 points).
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | gt | The geometry trait object. |
Definition at line 32 of file triangle_rad_angle.hpp.
|
inline |
Compute the shape potential of a triangle (given by 3 points). Triangle "equilateralness" measure.
FaceGraph | a Mesh type that provides a Model of the FaceGraph Concept through a boost::graph_traits<> specialization. |
GeometryTraits | The geometric kernel when available. This is defaulted to FEVV::Geometry_traits<FaceGraph>. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | PROHIB_ENERGY | The maximum authorized value, e.g. returns that value if smaller than the computed shape potential. This parameter is needed because when we compute the mesh quality using the sum of shape potential of each triangle, the sum may overflow. |
[in] | gt | The geometry trait object. |
Definition at line 138 of file triangles.hpp.
|
inlinestatic |
Trilinear interpolation of values at tetrahedron points.
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | d | The fourth point. |
[in] | Pos | The point for which the trilinear interpolations of values are computed. |
[in] | vala | The vector of values at the first point. |
[in] | valb | The vector of values at the second point. |
[in] | valc | The vector of values at the third point. |
[in] | vald | The vector of values at the fourth point. |
[in] | gt | The geometry trait object. |
Definition at line 204 of file Interpolation.hpp.
|
inlinestatic |
Trilinear interpolation of values at tetrahedron points.
GeometryTraits | The geometric kernel. |
[in] | a | The first point. |
[in] | b | The second point. |
[in] | c | The third point. |
[in] | d | The fourth point. |
[in] | Pos | The point for which the trilinear interpolation of values is computed. |
[in] | vala | The value of the first point. |
[in] | valb | The value of the second point. |
[in] | valc | The value of the third point. |
[in] | vald | The value of the fourth point. |
[in] | gt | The geometry trait object. |
Definition at line 110 of file Interpolation.hpp.