aimstil  5.0.5
geometrics.h File Reference
#include "til/numeric_array.h"
#include "fuzzy_logic.h"
#include "miscUtils.h"
#include "geometrics.tpp"
Include dependency graph for geometrics.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  til::geo::Triangle2Segment< TArray >
 Approximate an ill-conditionned triangle by a segment. More...
 
class  til::geo::TriangleNormal< TArray, TResArray >
 Compute the normal of a triangle. More...
 
class  til::geo::TriangleNormal< TArray, TResArray >::InvalidTriangle
 This exeception is thrown whenever a reliable computation of the triangle normal cannot be achieved. More...
 
struct  til::geo::IsIncludedIn
 A namespace structure collecting geometrical object inclusion algorithms. More...
 
class  til::geo::IsIncludedIn::PointInTriangle2D< TArray >
 Checks if a 2D point lies within a 2D triangle. More...
 
struct  til::geo::IsIncludedIn::PointInCircumcircle2D_counterclockwise< TPrec, TPoint >
 Checks if a 2D point lies within the circumcircle of a triangle, whose vertices are given in a counterclockwise fashion. More...
 
struct  til::geo::IsIncludedIn::PointInCircumcircle2D< TPrec, TPoint >
 Checks if a 2D point lies within the circumcircle of a 2D triangle. More...
 
struct  til::geo::Project
 A namespace structure collecting geometrical projection algorithms. More...
 
class  til::geo::Project::PointOnLine3D< TArray, TPrecArray >
 
class  til::geo::Project::PointOnSegment3D< TArray, TPrecArray >
 
class  til::geo::Project::PointOnTriangle3D< TArray, TOutputArray >
 Project a point onto a 3D triangle. More...
 
struct  til::geo::AreIntersecting
 A namespace structure collecting geometrical object intersection algorithms. More...
 
class  til::geo::AreIntersecting::Segments2D< TArray >
 Check whether two 2D segments are intersecting or not. More...
 
class  til::geo::AreIntersecting::Triangles2D< TArray >
 Check whether two 2D triangles are intersecting or not. More...
 
class  til::geo::AreIntersecting::Triangles3D< TArray >
 Check whether two triangles are intersecting or not. More...
 

Namespaces

 til
 Belongs to package Box Do not include directly, include til/Box.h instead.
 
 til::geo
 

Functions

template<typename T >
til::geo::herons_formula (T a, T b, T c)
 Heron's formula. More...
 
template<typename T >
til::geo::herons_formula (numeric_array< T, 3 > const &lengths)
 Heron's formula. More...
 
template<typename T >
til::geo::law_of_cosines (T a, T b, T c)
 Returns the cosine of angle A given the lengths of the triangle edges. More...
 
template<typename T >
til::geo::law_of_tangents (T a, T b, T c, T area)
 Returns the tangent of angle A given the area and the lengths of the edges of the triangle. More...
 
template<typename T >
til::geo::law_of_tangents (T a, T b, T c)
 Returns the tangent of angle A given the lengths of the edges of the triangle. More...
 
template<typename T >
til::geo::angle (T x, T y, T norm)
 Returns the angle between (x,y) and the x-axis, with the norm of (x,y) provided. More...
 
template<typename T >
til::geo::angle (T x, T y)
 Returns the angle between (x,y) and the x-axis. More...
 
template<typename T >
void til::geo::cartesian2spherical (T x, T y, T z, T &theta, T &phi, T &rho)
 Converts cartesian coordinates into spherical coordinates. More...
 
template<typename T >
void til::geo::spherical2cartesian (T theta, T phi, T rho, T &x, T &y, T &z)
 Converts spherical coordinates into cartesian coordinates. More...
 
template<typename TArray >
bool til::geo::triangle2segment (const TArray &A, const TArray &B, const TArray &C, TArray &X, TArray &Y)
 
template<typename TArray , typename TResArray >
bool til::geo::triangle_normal (const TArray &A, const TArray &B, const TArray &C, TResArray &result)
 Compute the normal of a triangle. More...
 
template<typename TPrec , typename TPoint >
bool til::geo::is_in_circumcircle (const TPoint &p, const TPoint &a, const TPoint &b, const TPoint &c)
 Check whether a point lies within the circumcircle of a given triangle. More...