wykobi Namespace Reference

Namespaces

 algorithm
 

Classes

class  geometric_entity
 
class  pointnd
 
class  point2d
 
class  point3d
 
class  define_point_type
 
class  define_point_type< T, 2 >
 
class  define_point_type< T, 3 >
 
class  segment
 
class  line
 
class  triangle
 
class  rectangle
 
class  quadix
 
class  polygon
 
class  circle
 
class  sphere
 
class  hypersphere
 
class  circular_arc
 
class  quadratic_bezier
 
class  cubic_bezier
 
class  define_bezier_type
 
class  define_bezier_type< T, 2, eQuadraticBezier >
 
class  define_bezier_type< T, 3, eQuadraticBezier >
 
class  define_bezier_type< T, 2, eCubicBezier >
 
class  define_bezier_type< T, 3, eCubicBezier >
 
struct  bezier_coefficients
 
class  curve_point
 
class  vectornd
 
class  vector2d
 
class  vector3d
 
class  define_vector_type
 
class  define_vector_type< T, 2 >
 
class  define_vector_type< T, 3 >
 
class  ray
 
class  plane
 
class  box
 
class  trig_luts
 
class  wykobi_graphics_net
 
class  wykobi_graphics_opengl
 
class  wykobi_graphics_vcl
 
class  matrix
 

Typedefs

typedef segment< Float, 2 > segment2d
 
typedef line< Float, 2 > line2d
 
typedef triangle< Float, 2 > triangle2d
 
typedef quadix< Float, 2 > quadix2d
 
typedef segment< Float, 3 > segment3d
 
typedef line< Float, 3 > line3d
 
typedef triangle< Float, 3 > triangle3d
 
typedef quadix< Float, 3 > quadix3d
 
typedef wykobi::point2d< float > * flt_pnt_2d
 
typedef wykobi::point2d< double > * dbl_pnt_2d
 
typedef wykobi::point3d< float > * flt_pnt_3d
 
typedef wykobi::point3d< double > * dbl_pnt_3d
 
typedef double Float
 

Enumerations

enum  geometric_type {
  ePoint2D , ePoint3D , eSegment2D , eSegment3D ,
  eRectangle , eBox , eLine2D , eLine3D ,
  eTriangle2D , eTriangle3D , eQuadix2D , eQuadix3D ,
  eRay2D , eRay3D , eCircle , eSphere
}
 
enum  BezierType { eQuadraticBezier = 2 , eCubicBezier = 3 }
 
enum  eInclusion { eFully , ePartially , eOutside , eUnknown }
 
enum  eTriangleType {
  etEquilateral , etIsosceles , etRight , etScalene ,
  etObtuse , etUnknown
}
 
enum  DrawingMode { eNoDraw , eSolid , eOutLine }
 

Functions

template<typename T >
epsilon ()
 
template<>
double epsilon< double > ()
 
template<>
float epsilon< float > ()
 
template<typename T >
int orientation (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py)
 
template<typename T >
int orientation (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &px, const T &py, const T &pz)
 
template<typename T >
int robust_orientation (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py)
 
template<typename T >
int robust_orientation (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &px, const T &py, const T &pz)
 
template<typename T >
int orientation (const point2d< T > &point1, const point2d< T > &point2, const T &px, const T &py)
 
template<typename T >
int orientation (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
int orientation (const line< T, 2 > &line, const point2d< T > &point)
 
template<typename T >
int orientation (const segment< T, 2 > &segment, const point2d< T > &point)
 
template<typename T >
int orientation (const triangle< T, 2 > &triangle)
 
template<typename T >
int orientation (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const T &px, const T &py, const T &pz)
 
template<typename T >
int orientation (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4)
 
template<typename T >
int orientation (const triangle< T, 3 > &triangle, const point3d< T > &point)
 
template<typename T >
bool differing_orientation (const T &x1, const T &y1, const T &x2, const T &y2, const T &p1x, const T &p1y, const T &p2x, const T &p2y)
 
template<typename T >
bool differing_orientation (const point2d< T > &p1, const point2d< T > &p2, const point2d< T > &q1, const point2d< T > &q2)
 
template<typename T >
int in_circle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &px, const T &py)
 
template<typename T >
int in_circle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4)
 
template<typename T >
int in_circle (const triangle< T, 2 > &triangle, const point2d< T > &point)
 
template<typename T >
int in_sphere (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, const T &px, const T &py, const T &pz)
 
template<typename T >
int in_sphere (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4, const point2d< T > &point5)
 
template<typename T >
int in_sphere (const quadix< T, 3 > &quadix, const point3d< T > &point)
 
template<typename T >
signed_area (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py)
 
template<typename T >
signed_area (const point2d< T > &point1, const point2d< T > &point2, const T &px, const T &py)
 
template<typename T >
signed_area (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
signed_area (const segment< T, 2 > &segment, const point2d< T > &point)
 
template<typename T >
signed_volume (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &px, const T &py, const T &pz)
 
template<typename T >
signed_volume (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const T &px, const T &py, const T &pz)
 
template<typename T >
signed_volume (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4)
 
template<typename T >
signed_volume (const triangle< T, 3 > &triangle, const point3d< T > &point)
 
template<typename T >
bool collinear (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &epsilon=T(Epsilon))
 
template<typename T >
bool collinear (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &epsilon=T(Epsilon))
 
template<typename T >
bool collinear (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
bool collinear (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
bool robust_collinear (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_collinear (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_collinear (const line< T, 2 > &line, const point2d< T > &point, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_collinear (const line< T, 3 > &line, const point3d< T > &point, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_collinear (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_collinear (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const T &epsilon=T(Epsilon))
 
template<typename T >
bool is_point_collinear (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py, const bool robust=false)
 
template<typename T >
bool is_point_collinear (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const bool robust=false)
 
template<typename T >
bool is_point_collinear (const point2d< T > &point1, const point2d< T > &point2, const T &px, const T &py, const bool robust=false)
 
template<typename T >
bool is_point_collinear (const segment< T, 2 > &segment, const point2d< T > &point, const bool robust=false)
 
template<typename T >
bool is_point_collinear (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz, const bool robust=false)
 
template<typename T >
bool is_point_collinear (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const bool robust=false)
 
template<typename T >
bool is_point_collinear (const segment< T, 3 > &segment, const point3d< T > &point, const bool robust=false)
 
template<typename T >
bool robust_coplanar (const point3d< T > point1, const point3d< T > point2, const point3d< T > point3, const point3d< T > point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool coplanar (const ray< T, 3 > &ray1, const ray< T, 3 > &ray2)
 
template<typename T >
bool coplanar (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2)
 
template<typename T >
bool coplanar (const line< T, 3 > &line1, const line< T, 3 > &line2)
 
template<typename T >
bool coplanar (const triangle< T, 3 > &triangle1, const triangle< T, 3 > &triangle2)
 
template<typename T >
bool coplanar (const quadix< T, 3 > &quadix1, const quadix< T, 3 > &quadix2)
 
template<typename T >
bool cocircular (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool cocircular (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool cocircular (const triangle< T, 2 > &triangle, const point2d< T > &point, const T &epsilon=T(Epsilon))
 
template<typename T >
bool cocircular (const circle< T > &circle, const point2d< T > &point, const T &epsilon=T(Epsilon))
 
template<typename T >
bool is_skinny_triangle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
bool is_skinny_triangle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
bool is_skinny_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
bool intersect (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
bool intersect (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, T &ix, T &iy)
 
template<typename T >
bool intersect (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4)
 
template<typename T >
bool intersect (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4, point2d< T > &int_point)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2, T &ix, T &iy)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2, point2d< T > &i_point)
 
template<typename T >
bool intersect (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, const T &fuzzy=T(0.0))
 
template<typename T >
bool intersect (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4, const T &fuzzy=T(0.0))
 
template<typename T >
bool intersect (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2, const T &fuzzy=T(0.0))
 
template<typename T >
bool intersect (const segment< T, 2 > &segment, const rectangle< T > &rectangle)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment, const triangle< T, 2 > &triangle)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment, const quadix< T, 2 > &quadix)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment, const line< T, 2 > &line)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment, const circle< T > &circle)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment, const quadratic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const segment< T, 2 > &segment, const cubic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const segment< T, 3 > &segment, const line< T, 3 > &line, const T &fuzzy=T(0.0))
 
template<typename T >
bool intersect (const segment< T, 3 > &segment, const box< T, 3 > &box)
 
template<typename T >
bool intersect (const segment< T, 3 > &segment, const sphere< T > &sphere)
 
template<typename T >
bool intersect (const segment< T, 3 > &segment, const plane< T, 3 > &plane)
 
template<typename T >
bool intersect (const segment< T, 3 > &segment, const quadratic_bezier< T, 3 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const segment< T, 3 > &segment, const cubic_bezier< T, 3 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const line< T, 2 > &line, const triangle< T, 2 > &triangle)
 
template<typename T >
bool intersect (const line< T, 2 > &line, const quadix< T, 2 > &quadix)
 
template<typename T >
bool intersect (const line< T, 2 > &line1, const line< T, 2 > &line2)
 
template<typename T >
bool intersect (const line< T, 2 > &line, const circle< T > &circle)
 
template<typename T >
bool intersect (const line< T, 2 > &line, const quadratic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const line< T, 2 > &line, const cubic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const line< T, 3 > &line, const triangle< T, 3 > &triangle)
 
template<typename T >
bool intersect (const line< T, 3 > &line, const plane< T, 3 > &plane)
 
template<typename T >
bool intersect (const line< T, 3 > &line, const sphere< T > &sphere)
 
template<typename T >
bool intersect (const line< T, 3 > &line, const quadratic_bezier< T, 3 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const line< T, 3 > &line, const cubic_bezier< T, 3 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const triangle< T, 2 > &triangle, const circle< T > &circle)
 
template<typename T >
bool intersect (const triangle< T, 2 > &triangle, const rectangle< T > &rectangle)
 
template<typename T >
bool intersect (const triangle< T, 2 > &triangle, const quadratic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const triangle< T, 2 > &triangle, const cubic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2)
 
template<typename T >
bool intersect (const triangle< T, 2 > &triangle1, const triangle< T, 2 > &triangle2)
 
template<typename T >
bool intersect (const rectangle< T > &rectangle, const circle< T > &circle)
 
template<typename T >
bool intersect (const rectangle< T > &rectangle, const quadratic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const rectangle< T > &rectangle, const cubic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const quadix< T, 2 > &quadix, const quadratic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const quadix< T, 2 > &quadix, const cubic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
bool intersect (const circle< T > &circle, const quadratic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const circle< T > &circle, const cubic_bezier< T, 2 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const box< T, 3 > &box, const sphere< T > &sphere)
 
template<typename T >
bool intersect (const sphere< T > &sphere1, const sphere< T > &sphere2)
 
template<typename T >
bool intersect (const sphere< T > &sphere, const quadratic_bezier< T, 3 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const sphere< T > &sphere, const cubic_bezier< T, 3 > &bezier, const std::size_t &steps=1000)
 
template<typename T >
bool intersect (const ray< T, 2 > &ray1, const ray< T, 2 > &ray2)
 
template<typename T >
bool intersect (const ray< T, 3 > &ray1, const ray< T, 3 > &ray2)
 
template<typename T >
bool intersect (const ray< T, 2 > &ray, const segment< T, 2 > &segment)
 
template<typename T >
bool intersect (const ray< T, 3 > &ray, const segment< T, 3 > &segment)
 
template<typename T >
bool intersect (const ray< T, 2 > &ray, const rectangle< T > &rectangle)
 
template<typename T >
bool intersect (const ray< T, 3 > &ray, const box< T, 3 > &box)
 
template<typename T >
bool intersect (const ray< T, 2 > &ray, const triangle< T, 2 > &triangle)
 
template<typename T >
bool intersect (const ray< T, 3 > &ray, const triangle< T, 3 > &triangle)
 
template<typename T >
bool intersect (const ray< T, 2 > &ray, const quadix< T, 2 > &quadix)
 
template<typename T >
bool intersect (const ray< T, 2 > &ray, const circle< T > &circle)
 
template<typename T >
bool intersect (const ray< T, 3 > &ray, const sphere< T > &sphere)
 
template<typename T >
bool intersect (const ray< T, 3 > &ray, const plane< T, 3 > &plane)
 
template<typename T >
bool intersect (const ray< T, 2 > &ray, const polygon< T, 2 > &polygon)
 
template<typename T >
bool intersect (const plane< T, 3 > &plane1, const plane< T, 3 > &plane2)
 
template<typename T >
bool intersect (const plane< T, 3 > &plane, const sphere< T > &sphere)
 
template<typename T >
bool intersect (const plane< T, 3 > &plane, const line< T, 3 > &line)
 
template<typename T >
bool simple_intersect (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
bool simple_intersect (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4)
 
template<typename T >
bool simple_intersect (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2)
 
template<typename T >
bool intersect_vertical_horizontal (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2)
 
template<typename T >
bool intersect_vertical_vertical (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2)
 
template<typename T >
bool intersect_horizontal_horizontal (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2)
 
template<typename T >
void intersection_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, T &ix, T &iy)
 
template<typename T >
void intersection_point (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4, T &ix, T &iy)
 
template<typename T >
point2d< T > intersection_point (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4)
 
template<typename T >
point2d< T > intersection_point (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2)
 
template<typename T >
void intersection_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, T &ix, T &iy, T &iz, const T &fuzzy=T(0.0))
 
template<typename T >
void intersection_point (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4, T &ix, T &iy, T &iz, const T &fuzzy=T(0.0))
 
template<typename T >
point3d< T > intersection_point (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4, const T &fuzzy=T(0.0))
 
template<typename T >
point3d< T > intersection_point (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2, const T &fuzzy=T(0.0))
 
template<typename T >
point2d< T > intersection_point (const segment< T, 2 > &segment, const line< T, 2 > &line)
 
template<typename T >
point3d< T > intersection_point (const segment< T, 3 > &segment, const line< T, 3 > &line, const T &fuzzy=T(0.0))
 
template<typename T >
point3d< T > intersection_point (const segment< T, 3 > &segment, const plane< T, 3 > &plane)
 
template<typename T , typename OutputIterator >
void intersection_point (const segment< T, 2 > &segment, const quadratic_bezier< T, 2 > &bezier, OutputIterator out, const std::size_t &steps=1000)
 
template<typename T , typename OutputIterator >
void intersection_point (const segment< T, 2 > &segment, const cubic_bezier< T, 2 > &bezier, OutputIterator out, const std::size_t &steps=1000)
 
template<typename T , typename OutputIterator >
void intersection_point (const segment< T, 3 > &segment, const quadratic_bezier< T, 3 > &bezier, OutputIterator out, const std::size_t &steps=1000)
 
template<typename T , typename OutputIterator >
void intersection_point (const segment< T, 3 > &segment, const cubic_bezier< T, 3 > &bezier, OutputIterator out, const std::size_t &steps=1000)
 
template<typename T >
point2d< T > intersection_point (const line< T, 2 > &line1, const line< T, 2 > &line2)
 
template<typename T >
point3d< T > intersection_point (const line< T, 3 > &line1, const line< T, 3 > &line2, const T &fuzzy=T(0.0))
 
template<typename T >
void intersection_point (const circle< T > &circle1, const circle< T > &circle2, point2d< T > &point1, point2d< T > &point2)
 
template<typename T , typename OutputIterator >
void intersection_point (const segment< T, 2 > &segment, const triangle< T, 2 > &triangle, OutputIterator out)
 
template<typename T >
void intersection_point (const line< T, 3 > &line, const triangle< T, 3 > &triangle, point3d< T > &ipoint)
 
template<typename T >
point3d< T > intersection_point (const line< T, 3 > &line, const plane< T, 3 > &plane)
 
template<typename T , typename OutputIterator >
void intersection_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &cx, const T &cy, const T &radius, OutputIterator out)
 
template<typename T , typename OutputIterator >
void intersection_point (const segment< T, 2 > &segment, const circle< T > &circle, OutputIterator out)
 
template<typename T , typename OutputIterator >
void intersection_point (const line< T, 2 > &line, const circle< T > &circle, OutputIterator out)
 
template<typename T , typename OutputIterator >
void intersection_point (const segment< T, 3 > &segment, const sphere< T > &sphere, OutputIterator out)
 
template<typename T , typename OutputIterator >
void intersection_point (const line< T, 3 > &line, const sphere< T > &sphere, OutputIterator out)
 
template<typename T >
point2d< T > intersection_point (const ray< T, 2 > &ray1, const ray< T, 2 > &ray2)
 
template<typename T >
point3d< T > intersection_point (const ray< T, 3 > &ray, const triangle< T, 3 > &triangle)
 
template<typename T >
point3d< T > intersection_point (const ray< T, 3 > &ray, const plane< T, 3 > &plane)
 
template<typename T , typename OutputIterator >
void intersection_point (const ray< T, 2 > &ray, const circle< T > &circle, OutputIterator out)
 
template<typename T , typename OutputIterator >
void intersection_point (const ray< T, 3 > &ray, const sphere< T > &sphere, OutputIterator out)
 
template<typename T >
void intersection_point_line_to_line (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, T &Ix, T &Iy, T &Iz, const T &fuzzy=T(0.0))
 
template<typename T >
normalize_angle (const T &angle)
 
template<typename T >
vertical_mirror (const T &angle)
 
template<typename T >
horizontal_mirror (const T &angle)
 
template<typename T >
unsigned int quadrant (const T &angle)
 
template<typename T >
unsigned int quadrant (const T &x, const T &y)
 
template<typename T >
unsigned int quadrant (const point2d< T > &point)
 
template<typename T >
vertex_angle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
vertex_angle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
vertex_angle (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3)
 
template<typename T >
vertex_angle (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
oriented_vertex_angle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const int orient=Clockwise)
 
template<typename T >
oriented_vertex_angle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const int orient=Clockwise)
 
template<typename T >
cartesian_angle (const T &x, const T &y)
 
template<typename T >
cartesian_angle (const point2d< T > &point)
 
template<typename T >
robust_cartesian_angle (const T &x, const T &y)
 
template<typename T >
robust_cartesian_angle (const point2d< T > &point)
 
template<typename T >
cartesian_angle (const T &x, const T &y, const T &ox, const T &oy)
 
template<typename T >
cartesian_angle (const point2d< T > &point, const point2d< T > &origin)
 
template<typename T >
robust_cartesian_angle (const T &x, const T &y, const T &ox, const T &oy)
 
template<typename T >
robust_cartesian_angle (const point2d< T > &point, const point2d< T > &origin)
 
template<typename T >
bool parallel (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool parallel (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool parallel (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool parallel (const line< T, 2 > &line1, const line< T, 2 > &line2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool parallel (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool parallel (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool parallel (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool parallel (const line< T, 3 > &line1, const line< T, 3 > &line2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const line< T, 2 > &line1, const line< T, 2 > &line2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const line< T, 2 > &line, const segment< T, 2 > &segment, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const line< T, 3 > &line1, const line< T, 3 > &line2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_parallel (const line< T, 3 > &line, const segment< T, 3 > &segment, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const line< T, 2 > &line1, const line< T, 2 > &line2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const line< T, 2 > &line, const segment< T, 2 > &segment, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool perpendicular (const line< T, 3 > &line1, const line< T, 3 > &line2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const line< T, 2 > &line1, const line< T, 2 > &line2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const line< T, 3 > &line1, const line< T, 3 > &line2, const T &epsilon=T(Epsilon))
 
template<typename T >
bool robust_perpendicular (const line< T, 2 > &line, const segment< T, 2 > &segment, const T &epsilon=T(Epsilon))
 
template<typename T >
bool line_to_line_intersect (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
bool line_to_line_intersect (const line< T, 2 > &line1, const line< T, 2 > &line2)
 
template<typename T >
bool rectangle_to_rectangle_intersect (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
bool rectangle_to_rectangle_intersect (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2)
 
template<typename T >
bool box_to_box_intersect (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4)
 
template<typename T >
bool box_to_box_intersect (const box< T, 3 > &box1, const box< T, 3 > &box2)
 
template<typename T , unsigned int Dimension, typename Simplex , typename Bezier >
bool simplex_to_bezier_intersect (const Simplex &simplex, const Bezier &bezier, const std::size_t &steps)
 
template<typename T , unsigned int Dimension, typename Bezier , typename Iterator >
bool simplex_to_bezier_intersect (const Iterator &begin, const Iterator &end, const Bezier &bezier, const std::size_t &steps)
 
template<typename T >
bool rectangle_within_rectangle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
bool rectangle_within_rectangle (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2)
 
template<typename T >
bool box_within_box (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4)
 
template<typename T >
bool box_within_box (const box< T, 3 > &box1, const box< T, 3 > &box2)
 
template<typename T >
bool circle_within_rectangle (const T &x, const T &y, const T &radius, const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
bool circle_within_rectangle (const circle< T > &circle, const rectangle< T > &rectangle)
 
template<typename T >
bool triangle_within_rectangle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &x5, const T &y5)
 
template<typename T >
bool triangle_within_rectangle (const triangle< T, 2 > &triangle, const rectangle< T > &rectangle)
 
template<typename T >
bool segment_within_rectangle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
bool segment_within_rectangle (const segment< T, 2 > &segment, const rectangle< T > &rectangle)
 
template<typename T >
bool quadix_within_rectangle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &x5, const T &y5, const T &x6, const T &y6)
 
template<typename T >
bool quadix_within_rectangle (const quadix< T, 2 > &quadix, const rectangle< T > &rectangle)
 
template<typename T >
bool polygon_within_rectangle (const polygon< T, 2 > &polygon, const rectangle< T > &rectangle)
 
template<typename T >
bool sphere_within_box (const T &x, const T &y, const T &z, const T &radius, const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
bool sphere_within_box (const sphere< T > &sphere, const box< T, 3 > &box)
 
template<typename T >
bool triangle_within_box (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, const T &x5, const T &y5, const T &z5)
 
template<typename T >
bool triangle_within_box (const triangle< T, 3 > &triangle, const box< T, 3 > &box)
 
template<typename T >
bool segment_within_box (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4)
 
template<typename T >
bool segment_within_box (const segment< T, 3 > &segment, const box< T, 3 > &box)
 
template<typename T >
bool quadix_within_box (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, const T &x5, const T &y5, const T &z5, const T &x6, const T &y6, const T &z6)
 
template<typename T >
bool quadix_within_box (const quadix< T, 3 > &quadix, const box< T, 3 > &box)
 
template<typename T >
bool polygon_within_box (const polygon< T, 3 > &polygon, const box< T, 3 > &box)
 
template<typename T >
bool circle_in_circle (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
bool is_tangent (const segment< T, 2 > &segment, const circle< T > &circle)
 
template<typename T >
bool point_of_reflection (const T &sx1, const T &sy1, const T &sx2, const T &sy2, const T &p1x, const T &p1y, const T &p2x, const T &p2y, T &rpx, T &rpy)
 
template<typename T >
bool point_of_reflection (const segment< T, 2 > &segment, const point2d< T > &point1, const point2d< T > &point2, point2d< T > &reflection_point)
 
template<typename T >
segment< T, 2 > edge (const triangle< T, 2 > &triangle, const std::size_t &edge_index)
 
template<typename T >
segment< T, 3 > edge (const triangle< T, 3 > &triangle, const std::size_t &edge_index)
 
template<typename T >
segment< T, 2 > edge (const quadix< T, 2 > &quadix, const std::size_t &edge_index)
 
template<typename T >
segment< T, 3 > edge (const quadix< T, 3 > &quadix, const std::size_t &edge_index)
 
template<typename T >
segment< T, 2 > edge (const rectangle< T > &rectangle, const std::size_t &edge)
 
template<typename T >
segment< T, 2 > edge (const polygon< T, 2 > &polygon, const std::size_t &edge)
 
template<typename T >
segment< T, 3 > edge (const polygon< T, 3 > &polygon, const std::size_t &edge)
 
template<typename T >
segment< T, 2 > opposing_edge (const triangle< T, 2 > &triangle, const std::size_t &corner)
 
template<typename T >
segment< T, 3 > opposing_edge (const triangle< T, 3 > &triangle, const std::size_t &corner)
 
template<typename T >
segment< T, 2 > reverse_segment (const segment< T, 2 > &segment)
 
template<typename T >
segment< T, 3 > reverse_segment (const segment< T, 3 > &segment)
 
template<typename T >
point2d< T > rectangle_corner (const rectangle< T > &rectangle, const std::size_t &corner_index)
 
template<typename T >
point3d< T > box_corner (const box< T, 3 > &box, const std::size_t &corner_index)
 
template<typename T >
line< T, 2 > triangle_bisector (const triangle< T, 2 > &triangle, const std::size_t &bisector)
 
template<typename T >
line< T, 3 > triangle_bisector (const triangle< T, 3 > &triangle, const std::size_t &bisector)
 
template<typename T >
line< T, 2 > triangle_external_bisector (const triangle< T, 2 > &triangle, const std::size_t &corner, const std::size_t &opposing_corner)
 
template<typename T >
line< T, 3 > triangle_external_bisector (const triangle< T, 3 > &triangle, const std::size_t &corner, const std::size_t &opposing_corner)
 
template<typename T >
line< T, 2 > triangle_median (const triangle< T, 2 > &triangle, const std::size_t &median)
 
template<typename T >
line< T, 3 > triangle_median (const triangle< T, 3 > &triangle, const std::size_t &median)
 
template<typename T >
line< T, 2 > triangle_symmedian (const triangle< T, 2 > &triangle, const std::size_t &symmedian)
 
template<typename T >
line< T, 3 > triangle_symmedian (const triangle< T, 3 > &triangle, const std::size_t &symmedian)
 
template<typename T >
line< T, 2 > euler_line (const triangle< T, 2 > &triangle)
 
template<typename T >
line< T, 3 > euler_line (const triangle< T, 3 > &triangle)
 
template<typename T >
point2d< T > exmedian_point (const triangle< T, 2 > &triangle, const std::size_t &corner)
 
template<typename T >
point3d< T > exmedian_point (const triangle< T, 3 > &triangle, const std::size_t &corner)
 
template<typename T >
point2d< T > feuerbach_point (const triangle< T, 2 > &triangle)
 
template<typename T >
line< T, 2 > confined_triangle_median (const triangle< T, 2 > &triangle, const point2d< T > &point, const std::size_t &median)
 
template<typename T >
line< T, 3 > confined_triangle_median (const triangle< T, 3 > &triangle, const point3d< T > &point, const std::size_t &median)
 
template<typename T >
line< T, 2 > create_parallel_line_on_point (const line< T, 2 > &line, const point2d< T > &point)
 
template<typename T >
line< T, 3 > create_parallel_line_on_point (const line< T, 3 > &line, const point3d< T > &point)
 
template<typename T >
segment< T, 2 > create_parallel_segment_on_point (const line< T, 2 > &line, const point2d< T > &point)
 
template<typename T >
segment< T, 3 > create_parallel_segment_on_point (const line< T, 3 > &line, const point3d< T > &point)
 
template<typename T >
bool point_in_rectangle (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
bool point_in_rectangle (const point2d< T > &point, const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
bool point_in_rectangle (const T &px, const T &py, const rectangle< T > &rectangle)
 
template<typename T >
bool point_in_rectangle (const point2d< T > &point, const rectangle< T > &rectangle)
 
template<typename T >
bool point_in_rectangle (const point2d< T > &point, const point2d< T > &rect_point1, point2d< T > &rect_point2)
 
template<typename T >
bool point_in_rectangle (const point2d< T > &point, const segment< T, 2 > &segment)
 
template<typename T >
bool point_in_box (const T &px, const T &py, const T &pz, const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
bool point_in_box (const point3d< T > &point, const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
bool point_in_box (const T &px, const T &py, const T &pz, const box< T, 3 > &box)
 
template<typename T >
bool point_in_box (const point3d< T > &point, const box< T, 3 > &box)
 
template<typename T >
bool point_in_box (const point3d< T > &point, const point3d< T > &box_point1, const point3d< T > &box_point2)
 
template<typename T >
bool point_in_box (const point3d< T > &point, const segment< T, 3 > &segment)
 
template<typename T >
bool point_in_triangle (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
bool point_in_triangle (const point2d< T > &point, const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
bool point_in_triangle (const T &px, const T &py, const triangle< T, 2 > &triangle)
 
template<typename T >
bool point_in_triangle (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
bool point_in_quadix (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
bool point_in_quadix (const point2d< T > &point, const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4)
 
template<typename T >
bool point_in_quadix (const T &px, const T &py, const quadix< T, 2 > &quadix)
 
template<typename T >
bool point_in_quadix (const point2d< T > &point, const quadix< T, 2 > &quadix)
 
template<typename T >
bool point_in_circle (const T &px, const T &py, const T &cx, const T &cy, const T &radius)
 
template<typename T >
bool point_in_circle (const T &px, const T &py, const circle< T > &circle)
 
template<typename T >
bool point_in_circle (const point2d< T > &point, const circle< T > &circle)
 
template<typename T >
bool point_in_sphere (const T &px, const T &py, const T &pz, const T &cx, const T &cy, const T &cz, const T &radius)
 
template<typename T >
bool point_in_sphere (const T &px, const T &py, const T &pz, const sphere< T > &sphere)
 
template<typename T >
bool point_in_sphere (const point3d< T > &point, const sphere< T > &sphere)
 
template<typename T >
bool point_in_three_point_circle (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
bool point_in_three_point_circle (const point2d< T > &point, const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
bool point_in_three_point_circle (const point2d< T > &point, const triangle< T, 2 > triangle)
 
template<typename T >
bool point_in_focus_area (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
bool point_in_focus_area (const point2d< T > &point, const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
bool point_on_segment (const point2d< T > &point, const segment< T, 2 > &segment)
 
template<typename T >
bool point_on_segment (const point3d< T > &point, const segment< T, 3 > &segment)
 
template<typename T >
bool point_on_ray (const T &px, const T &py, const T &ox, const T &oy, const T &dx, const T &dy)
 
template<typename T >
bool point_on_ray (const T &px, const T &py, const T &pz, const T &ox, const T &oy, const T &oz, const T &dx, const T &dy, const T &dz)
 
template<typename T >
bool point_on_ray (const point2d< T > &point, const ray< T, 2 > &ray)
 
template<typename T >
bool point_on_ray (const point3d< T > &point, const ray< T, 3 > &ray)
 
template<typename T >
bool point_on_rectangle (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
bool point_on_rectangle (const point2d< T > &point, const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
bool point_on_rectangle (const T &px, const T &py, const rectangle< T > &rectangle)
 
template<typename T >
bool point_on_rectangle (const point2d< T > &point, const rectangle< T > &rectangle)
 
template<typename T >
bool point_on_triangle (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
bool point_on_triangle (const point2d< T > &point, const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
bool point_on_triangle (const T &px, const T &py, const triangle< T, 2 > &triangle)
 
template<typename T >
bool point_on_triangle (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
bool point_on_quadix (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
bool point_on_quadix (const point2d< T > &point, const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4)
 
template<typename T >
bool point_on_quadix (const T &px, const T &py, const quadix< T, 2 > &quadix)
 
template<typename T >
bool point_on_quadix (const point2d< T > &point, const quadix< T, 2 > &quadix)
 
template<typename T >
bool point_on_circle (const T &px, const T &py, const T &cx, const T &cy, const T &radius)
 
template<typename T >
bool point_on_circle (const T &px, const T &py, const circle< T > &circle)
 
template<typename T >
bool point_on_circle (const point2d< T > &point, const circle< T > &circle)
 
template<typename T >
bool point_on_bezier (const point2d< T > &point, const quadratic_bezier< T, 2 > &bezier, const std::size_t &steps=1000, const T &fuzzy=T(Epsilon))
 
template<typename T >
bool point_on_bezier (const point2d< T > &point, const cubic_bezier< T, 2 > &bezier, const std::size_t &steps=1000, const T &fuzzy=T(Epsilon))
 
template<typename T >
bool point_on_bezier (const point3d< T > &point, const quadratic_bezier< T, 3 > &bezier, const std::size_t &steps=1000, const T &fuzzy=T(Epsilon))
 
template<typename T >
bool point_on_bezier (const point3d< T > &point, const cubic_bezier< T, 3 > &bezier, const std::size_t &steps=1000, const T &fuzzy=T(Epsilon))
 
template<typename T >
point2d< T > isogonal_conjugate (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
point3d< T > isogonal_conjugate (const point3d< T > &point, const triangle< T, 3 > &triangle)
 
template<typename T >
point2d< T > cyclocevian_conjugate (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
point2d< T > symmedian_point (const triangle< T, 2 > &triangle)
 
template<typename T >
point3d< T > symmedian_point (const triangle< T, 3 > &triangle)
 
template<typename T >
void create_equilateral_triangle (const T &x1, const T &y1, const T &x2, const T &y2, T &x3, T &y3)
 
template<typename T >
void create_equilateral_triangle (const point2d< T > &point1, const point2d< T > &point2, point2d< T > &point3)
 
template<typename T >
triangle< T, 2 > create_equilateral_triangle (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
triangle< T, 2 > create_equilateral_triangle (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
triangle< T, 2 > create_equilateral_triangle (const T &cx, const T &cy, const T &side_length)
 
template<typename T >
triangle< T, 2 > create_equilateral_triangle (const point2d< T > &center_point, const T &side_length)
 
template<typename T >
triangle< T, 2 > create_isosceles_triangle (const point2d< T > &point1, const point2d< T > &point2, const T &angle)
 
template<typename T >
triangle< T, 2 > create_isosceles_triangle (const segment< T, 2 > &segment, const T &angle)
 
template<typename T >
triangle< T, 2 > create_triangle (const point2d< T > &point1, const point2d< T > &point2, const T &angle1, const T &angle2)
 
template<typename T >
triangle< T, 2 > create_triangle (const segment< T, 2 > &segment, const T &angle1, const T &angle2)
 
template<typename T >
triangle< T, 2 > create_morley_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_cevian_triangle (const triangle< T, 2 > &triangle, const point2d< T > &point)
 
template<typename T >
triangle< T, 3 > create_cevian_triangle (const triangle< T, 3 > &triangle, const point3d< T > &point)
 
template<typename T >
triangle< T, 2 > create_anticevian_triangle (const triangle< T, 2 > &triangle, const point2d< T > &point)
 
template<typename T >
triangle< T, 3 > create_anticevian_triangle (const triangle< T, 3 > &triangle, const point3d< T > &point)
 
template<typename T >
triangle< T, 2 > create_anticomplementary_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 3 > create_anticomplementary_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 2 > create_inner_napoleon_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_outer_napoleon_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_inner_vecten_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_outer_vecten_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_medial_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 3 > create_medial_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 2 > create_contact_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 3 > create_contact_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 2 > create_symmedial_triangle (const triangle< T, 2 > &triangle, const point2d< T > &point)
 
template<typename T >
triangle< T, 2 > create_orthic_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 3 > create_orthic_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 2 > create_pedal_triangle (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 3 > create_pedal_triangle (const point3d< T > &point, const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 2 > create_antipedal_triangle (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_excentral_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 3 > create_excentral_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 2 > create_incentral_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 3 > create_incentral_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 2 > create_intouch_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_extouch_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 3 > create_extouch_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 2 > create_feuerbach_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_circumcevian_triangle (const triangle< T, 2 > &triangle, const point2d< T > &point)
 
template<typename T >
triangle< T, 2 > create_circummedial_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > create_first_brocard_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
void create_right_triangle (const wykobi::point2d< T > &p1, const wykobi::point2d< T > &p2, wykobi::point2d< T > &c1, wykobi::point2d< T > &c2)
 
template<typename T >
void create_equilateral_quadix (const T &x1, const T &y1, const T &x2, const T &y2, T &x3, T &y3, T &x4, T &y4)
 
template<typename T >
void create_equilateral_quadix (const point2d< T > &point1, const point2d< T > &point2, point2d< T > &point3, point2d< T > &point4)
 
template<typename T >
quadix< T, 2 > create_equilateral_quadix (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
quadix< T, 2 > create_equilateral_quadix (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
quadix< T, 2 > create_equilateral_quadix (const segment< T, 2 > &segment)
 
template<typename T >
quadix< T, 2 > create_equilateral_quadix (const T &cx, const T &cy, const T &side_length)
 
template<typename T >
quadix< T, 2 > create_equilateral_quadix (const point2d< T > &center_point, const T &side_length)
 
template<typename T >
void torricelli_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, T &px, T &py)
 
template<typename T >
point2d< T > torricelli_point (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
point2d< T > torricelli_point (const triangle< T, 2 > &triangle)
 
template<typename T >
bool trilateration (const T &c0x, const T &c0y, const T &c0r, const T &c1x, const T &c1y, const T &c1r, const T &c2x, const T &c2y, const T &c2r, T &px, T &py)
 
template<typename T >
point2d< T > trilateration (const circle< T > &c0, const circle< T > &c1, const circle< T > &c2)
 
template<typename T >
void incenter (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, T &px, T &py)
 
template<typename T >
void incenter (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, T &px, T &py, T &pz)
 
template<typename T >
point2d< T > incenter (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
point3d< T > incenter (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
point2d< T > incenter (const triangle< T, 2 > &triangle)
 
template<typename T >
point3d< T > incenter (const triangle< T, 3 > &triangle)
 
template<typename T >
void circumcenter (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, T &px, T &py)
 
template<typename T >
void circumcenter (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, T &px, T &py, T &pz)
 
template<typename T >
point2d< T > circumcenter (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
point3d< T > circumcenter (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
point2d< T > circumcenter (const triangle< T, 2 > &triangle)
 
template<typename T >
point3d< T > circumcenter (const triangle< T, 3 > &triangle)
 
template<typename T >
circle< T > circumcircle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
circle< T > circumcircle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
circle< T > circumcircle (const triangle< T, 2 > &triangle)
 
template<typename T >
sphere< T > circumsphere (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3)
 
template<typename T >
sphere< T > circumsphere (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
sphere< T > circumsphere (const triangle< T, 3 > &triangle)
 
template<typename T >
circle< T > inscribed_circle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
circle< T > inscribed_circle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
circle< T > inscribed_circle (const triangle< T, 2 > &triangle)
 
template<typename T >
sphere< T > inscribed_sphere (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3)
 
template<typename T >
sphere< T > inscribed_sphere (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
sphere< T > inscribed_sphere (const triangle< T, 3 > &triangle)
 
template<typename T >
circle< T > nine_point_circle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
circle< T > nine_point_circle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
circle< T > nine_point_circle (const triangle< T, 2 > &triangle)
 
template<typename T >
point2d< T > orthocenter (const triangle< T, 2 > &triangle)
 
template<typename T >
point3d< T > orthocenter (const triangle< T, 3 > &triangle)
 
template<typename T >
point2d< T > excenter (const triangle< T, 2 > &triangle, const std::size_t &corner)
 
template<typename T >
point3d< T > excenter (const triangle< T, 3 > &triangle, const std::size_t &corner)
 
template<typename T >
circle< T > excircle (const triangle< T, 2 > &triangle, const std::size_t &i)
 
template<typename T >
circle< T > mandart_circle (const triangle< T, 2 > &triangle)
 
template<typename T >
circle< T > brocard_circle (const triangle< T, 2 > &triangle)
 
template<typename T >
circle< T > invert_circle_across_circle (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
sphere< T > invert_sphere_across_sphere (const sphere< T > &sphere1, const sphere< T > &sphere2)
 
template<typename T >
void circle_tangent_points (const circle< T > &circle, const point2d< T > &point, point2d< T > &point1, point2d< T > &point2)
 
template<typename T >
void circle_internal_tangent_lines (const circle< T > &circle0, const circle< T > &circle1, std::vector< line< T, 2 > > &lines)
 
template<typename T >
void circle_internal_tangent_segments (const circle< T > &circle0, const circle< T > &circle1, std::vector< segment< T, 2 > > &segments)
 
template<typename T >
void circle_outer_tangent_lines (const circle< T > &circle0, const circle< T > &circle1, std::vector< line< T, 2 > > &lines)
 
template<typename T >
void circle_outer_tangent_segments (const circle< T > &circle0, const circle< T > &circle1, std::vector< segment< T, 2 > > &segments)
 
template<typename T >
line< T, 2 > tangent_line (const circle< T > &circle, const point2d< T > &point)
 
template<typename T >
line< T, 2 > create_line_from_bisector (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
segment< T, 2 > create_segment_from_bisector (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
ray< T, 2 > create_ray_from_bisector (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
line< T, 3 > create_line_from_bisector (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3)
 
template<typename T >
segment< T, 3 > create_segment_from_bisector (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3)
 
template<typename T >
ray< T, 3 > create_ray_from_bisector (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3)
 
template<typename T >
line< T, 2 > create_line_from_bisector (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
segment< T, 2 > create_segment_from_bisector (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
ray< T, 2 > create_ray_from_bisector (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
line< T, 3 > create_line_from_bisector (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
segment< T, 3 > create_segment_from_bisector (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
ray< T, 3 > create_ray_from_bisector (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
line< T, 2 > create_perpendicular_bisector (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
line< T, 2 > create_perpendicular_bisector (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
line< T, 2 > create_perpendicular_bisector (const segment< T, 2 > &segment)
 
template<typename T >
line< T, 2 > create_perpendicular_line_at_end_point (const line< T, 2 > &line)
 
template<typename T >
void closest_point_on_segment_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py, T &nx, T &ny)
 
template<typename T >
void closest_point_on_segment_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz, T &nx, T &ny, T &nz)
 
template<typename T >
void closest_point_on_line_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py, T &nx, T &ny)
 
template<typename T >
void closest_point_on_line_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz, T &nx, T &ny, T &nz)
 
template<typename T >
void order_sensitive_closest_point_on_segment_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py, T &nx, T &ny)
 
template<typename T >
void order_sensitive_closest_point_on_segment_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz, T &nx, T &ny, T &nz)
 
template<typename T >
void order_sensitive_closest_point_on_line_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py, T &nx, T &ny)
 
template<typename T >
void order_sensitive_closest_point_on_line_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz, T &nx, T &ny, T &nz)
 
template<typename T >
void closest_point_on_ray_from_point (const T &ox, const T &oy, const T &dx, const T &dy, const T &px, const T &py, T &nx, T &ny)
 
template<typename T >
void closest_point_on_ray_from_point (const T &ox, const T &oy, const T &oz, const T &dx, const T &dy, const T &dz, const T &px, const T &py, const T &pz, T &nx, T &ny, T &nz)
 
template<typename T >
point2d< T > closest_point_on_segment_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py)
 
template<typename T >
point3d< T > closest_point_on_segment_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz)
 
template<typename T >
point2d< T > closest_point_on_segment_from_point (const segment< T, 2 > &segment, const point2d< T > &point)
 
template<typename T >
point3d< T > closest_point_on_segment_from_point (const segment< T, 3 > &segment, const point3d< T > &point)
 
template<typename T >
point2d< T > closest_point_on_line_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py)
 
template<typename T >
point3d< T > closest_point_on_line_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz)
 
template<typename T >
point2d< T > closest_point_on_line_from_point (const line< T, 2 > &line, const point2d< T > &point)
 
template<typename T >
point3d< T > closest_point_on_line_from_point (const line< T, 3 > &line, const point3d< T > &point)
 
template<typename T >
point2d< T > closest_point_on_ray_from_point (const T &ox, const T &oy, const T &dx, const T &dy, const T &px, const T &py)
 
template<typename T >
point3d< T > closest_point_on_ray_from_point (const T &ox, const T &oy, const T &oz, const T &dx, const T &dy, const T &dz, const T &px, const T &py, const T &pz)
 
template<typename T >
point2d< T > closest_point_on_ray_from_point (const ray< T, 2 > &ray, const point2d< T > &point)
 
template<typename T >
point3d< T > closest_point_on_ray_from_point (const ray< T, 3 > &ray, const point3d< T > &point)
 
template<typename T >
void closest_point_on_triangle_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &px, const T &py, T &nx, T &ny)
 
template<typename T >
point2d< T > closest_point_on_triangle_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &px, const T &py)
 
template<typename T >
point2d< T > closest_point_on_triangle_from_point (const triangle< T, 2 > &triangle, const T &px, const T &py)
 
template<typename T >
point2d< T > closest_point_on_triangle_from_point (const triangle< T, 2 > &triangle, const point2d< T > &point)
 
template<typename T >
void closest_point_on_triangle_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &px, const T &py, const T &pz, T &nx, T &ny, T &nz)
 
template<typename T >
point3d< T > closest_point_on_triangle_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &px, const T &py, const T &pz)
 
template<typename T >
point3d< T > closest_point_on_triangle_from_point (const triangle< T, 3 > &triangle, const T &px, const T &py, const T &pz)
 
template<typename T >
point3d< T > closest_point_on_triangle_from_point (const triangle< T, 3 > &triangle, const point3d< T > &point)
 
template<typename T >
void closest_point_on_rectangle_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py, T &nx, T &ny)
 
template<typename T >
point2d< T > closest_point_on_rectangle_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &px, const T &py)
 
template<typename T >
point2d< T > closest_point_on_rectangle_from_point (const rectangle< T > &rectangle, const T &px, const T &py)
 
template<typename T >
point2d< T > closest_point_on_rectangle_from_point (const rectangle< T > &rectangle, const point2d< T > &point)
 
template<typename T >
void closest_point_on_box_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz, T &nx, T &ny, T &nz)
 
template<typename T >
point3d< T > closest_point_on_box_from_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &px, const T &py, const T &pz)
 
template<typename T >
point3d< T > closest_point_on_box_from_point (const box< T, 3 > &box, const T &px, const T &py, const T &pz)
 
template<typename T >
point3d< T > closest_point_on_box_from_point (const box< T, 3 > &box, const point3d< T > &point)
 
template<typename T >
void closest_point_on_quadix_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &px, const T &py, T &nx, T &ny)
 
template<typename T >
point2d< T > closest_point_on_quadix_from_point (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, const T &px, const T &py)
 
template<typename T >
point2d< T > closest_point_on_quadix_from_point (const quadix< T, 2 > &quadix, const point2d< T > &point)
 
template<typename T >
point2d< T > closest_point_on_circle_from_point (const circle< T > &circle, const point2d< T > &point)
 
template<typename T >
point3d< T > closest_point_on_sphere_from_point (const sphere< T > &sphere, const point3d< T > &point)
 
template<typename T >
point2d< T > closest_point_on_aabbb_from_point (const rectangle< T > &rectangle, const point2d< T > &point)
 
template<typename T >
point2d< T > closest_point_on_circle_from_segment (const circle< T > &circle, const segment< T, 2 > &segment)
 
template<typename T >
point3d< T > closest_point_on_sphere_from_segment (const sphere< T > &sphere, const segment< T, 3 > &segment)
 
template<typename T >
point3d< T > closest_point_on_plane_from_point (const plane< T, 3 > &plane, const point3d< T > &point)
 
template<typename T >
point2d< T > closest_point_on_bezier_from_point (const quadratic_bezier< T, 2 > &bezier, const point2d< T > &point, const std::size_t &steps=1000)
 
template<typename T >
point2d< T > closest_point_on_bezier_from_point (const cubic_bezier< T, 2 > &bezier, const point2d< T > &point, const std::size_t &steps=1000)
 
template<typename T >
point3d< T > closest_point_on_bezier_from_point (const quadratic_bezier< T, 3 > &bezier, const point3d< T > &point, const std::size_t &steps=1000)
 
template<typename T >
point3d< T > closest_point_on_bezier_from_point (const cubic_bezier< T, 3 > &bezier, const point3d< T > &point, const std::size_t &steps=1000)
 
template<typename T >
point2d< T > closest_point_on_circle_from_circle (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
point3d< T > closest_point_on_sphere_from_sphere (const sphere< T > &sphere1, const sphere< T > &sphere2)
 
template<typename T >
point2d< T > closest_point_on_polygon_from_point (const polygon< T, 2 > &polygon, const point2d< T > &point)
 
template<typename T >
minimum_distance_from_point_to_segment (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
minimum_distance_from_point_to_segment (const T &px, const T &py, const T &pz, const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
minimum_distance_from_point_to_segment (const point2d< T > &point, const segment< T, 2 > &segment)
 
template<typename T >
minimum_distance_from_point_to_segment (const point3d< T > &point, const segment< T, 3 > &segment)
 
template<typename T >
minimum_distance_from_point_to_line (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
minimum_distance_from_point_to_line (const T &px, const T &py, const T &pz, const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
minimum_distance_from_point_to_line (const point2d< T > &point, const line< T, 2 > &line)
 
template<typename T >
minimum_distance_from_point_to_line (const point3d< T > &point, const line< T, 3 > &line)
 
template<typename T >
minimum_distance_from_point_to_triangle (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
minimum_distance_from_point_to_triangle (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
minimum_distance_from_point_to_rectangle (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
minimum_distance_from_point_to_rectangle (const point2d< T > &point, const rectangle< T > &rectangle)
 
template<typename T >
void segment_mid_point (const T &x1, const T &y1, const T &x2, const T &y2, T &midx, T &midy)
 
template<typename T >
void segment_mid_point (const segment< T, 2 > &segment, T &midx, T &midy)
 
template<typename T >
point2d< T > segment_mid_point (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
point2d< T > segment_mid_point (const segment< T, 2 > &segment)
 
template<typename T >
void segment_mid_point (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, T &midx, T &midy, T &midz)
 
template<typename T >
void segment_mid_point (const segment< T, 3 > &segment, T &midx, T &midy, T &midz)
 
template<typename T >
point3d< T > segment_mid_point (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
point3d< T > segment_mid_point (const segment< T, 3 > &segment)
 
template<typename T >
void centroid (const T &x1, const T &y1, const T &x2, const T &y2, T &x, T &y)
 
template<typename T >
point2d< T > centroid (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
point2d< T > centroid (const segment< T, 2 > &segment)
 
template<typename T >
void centroid (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, T &x, T &y)
 
template<typename T >
void centroid (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, T &x, T &y, T &z)
 
template<typename T >
void centroid (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, T &x, T &y)
 
template<typename T >
void centroid (const triangle< T, 2 > &triangle, T &x, T &y)
 
template<typename T >
void centroid (const triangle< T, 3 > &triangle, T &x, T &y, T &z)
 
template<typename T >
void centroid (const quadix< T, 2 > &quadix, T &x, T &y)
 
template<typename T >
void centroid (const rectangle< T > &rectangle, T &x, T &y)
 
template<typename T >
void centroid (const box< T, 3 > &box, T &x, T &y, T &z)
 
template<typename T >
void centroid (const polygon< T, 2 > &polygon, T &x, T &y)
 
template<typename T >
point2d< T > centroid (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
point2d< T > centroid (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4)
 
template<typename T >
point2d< T > centroid (const triangle< T, 2 > &triangle)
 
template<typename T >
point3d< T > centroid (const triangle< T, 3 > &triangle)
 
template<typename T >
point2d< T > centroid (const quadix< T, 2 > &quadix)
 
template<typename T >
point2d< T > centroid (const rectangle< T > &rectangle)
 
template<typename T >
point3d< T > centroid (const box< T, 3 > &box)
 
template<typename T >
point2d< T > centroid (const polygon< T, 2 > &polygon)
 
template<typename T >
bool common_center (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
bool common_center (const sphere< T > &sphere1, const sphere< T > &circle2)
 
template<typename T >
bool point_in_convex_polygon (const T &px, const T &py, const polygon< T, 2 > &polygon)
 
template<typename T >
bool point_in_convex_polygon (const point2d< T > &point, const polygon< T, 2 > &polygon)
 
template<typename T >
bool point_on_polygon_edge (const T &px, const T &py, const polygon< T, 2 > &polygon)
 
template<typename T >
bool point_on_polygon_edge (const point2d< T > &point, const polygon< T, 2 > &polygon)
 
template<typename T >
bool point_in_polygon (const T &px, const T &py, const polygon< T, 2 > &polygon)
 
template<typename T >
bool point_in_polygon (const point2d< T > &point, const polygon< T, 2 > &polygon)
 
template<typename T >
bool point_in_polygon_winding_number (const T &px, const T &py, const polygon< T, 2 > &polygon)
 
template<typename T >
bool point_in_polygon_winding_number (const point2d< T > &point, const polygon< T, 2 > &polygon)
 
template<typename T >
bool convex_quadix (const quadix< T, 2 > &quadix)
 
template<typename T >
bool convex_quadix (const quadix< T, 3 > &quadix)
 
template<typename T >
bool is_convex_polygon (const polygon< T, 2 > &polygon)
 
template<typename T >
polygon< T, 2 > remove_consecutive_collinear_points (const polygon< T, 2 > &polygon)
 
template<typename T , typename InputIterator , typename OutputIterator >
void remove_consecutive_collinear_points (const InputIterator begin, const InputIterator end, OutputIterator out)
 
template<typename T >
bool convex_vertex (const std::size_t &index, const polygon< T, 2 > &polygon, const int &polygon_orientation=LeftHandSide)
 
template<typename T >
bool collinear_vertex (const std::size_t &index, const polygon< T, 2 > &polygon)
 
template<typename T >
bool vertex_is_ear (const std::size_t &index, const polygon< T, 2 > &polygon)
 
template<typename T >
triangle< T, 2 > vertex_triangle (const std::size_t &index, const polygon< T, 2 > polygon)
 
template<typename T >
int polygon_orientation (const polygon< T, 2 > &polygon)
 
template<typename T >
bool is_equilateral_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
bool is_equilateral_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
bool is_isosceles_triangle (const triangle< T, 2 > &triangle)
 
template<typename T >
bool is_isosceles_triangle (const triangle< T, 3 > &triangle)
 
template<typename T >
bool is_right_triangle (const wykobi::triangle< T, 2 > &triangle)
 
template<typename T >
bool is_right_triangle (const wykobi::triangle< T, 3 > &triangle)
 
template<typename T >
bool are_perspective_triangles (const triangle< T, 2 > &triangle1, const triangle< T, 2 > &triangle2)
 
template<typename T >
bool are_perspective_triangles (const triangle< T, 3 > &triangle1, const triangle< T, 3 > &triangle2)
 
template<typename T >
line< T, 2 > perspectrix (const triangle< T, 2 > &triangle1, const triangle< T, 2 > &triangle2)
 
template<typename T >
line< T, 3 > perspectrix (const triangle< T, 3 > &triangle1, const triangle< T, 3 > &triangle2)
 
template<typename T >
void mirror (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, T &nx, T &ny)
 
template<typename T >
void mirror (const T &px, const T &py, const T &pz, const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, T &nx, T &ny, T &nz)
 
template<typename T >
point2d< T > mirror (const point2d< T > &point, const line< T, 2 > &mirror_axis)
 
template<typename T >
segment< T, 2 > mirror (const segment< T, 2 > &segment, const line< T, 2 > &mirror_axis)
 
template<typename T >
line< T, 2 > mirror (const line< T, 2 > &line, const wykobi::line< T, 2 > &mirror_axis)
 
template<typename T >
rectangle< T > mirror (const rectangle< T > &rectangle, const line< T, 2 > &mirror_axis)
 
template<typename T >
triangle< T, 2 > mirror (const triangle< T, 2 > &triangle, const line< T, 2 > &mirror_axis)
 
template<typename T >
quadix< T, 2 > mirror (const quadix< T, 2 > &quadix, const line< T, 2 > &mirror_axis)
 
template<typename T >
circle< T > mirror (const circle< T > &circle, const line< T, 2 > &mirror_axis)
 
template<typename T >
polygon< T, 2 > mirror (const polygon< T, 2 > &polygon, const line< T, 2 > &mirror_axis)
 
template<typename T >
point3d< T > mirror (const point3d< T > &point, const line< T, 3 > &mirror_axis)
 
template<typename T >
segment< T, 3 > mirror (const segment< T, 3 > &segment, const line< T, 3 > &mirror_axis)
 
template<typename T >
line< T, 3 > mirror (const line< T, 3 > &line, const wykobi::line< T, 3 > &mirror_axis)
 
template<typename T >
box< T, 3 > mirror (const box< T, 3 > &box, const line< T, 3 > &mirror_axis)
 
template<typename T >
triangle< T, 3 > mirror (const triangle< T, 3 > &triangle, const line< T, 3 > &mirror_axis)
 
template<typename T >
quadix< T, 3 > mirror (const quadix< T, 3 > &quadix, const line< T, 3 > &mirror_axis)
 
template<typename T >
sphere< T > mirror (const sphere< T > &sphere, const line< T, 3 > &mirror_axis)
 
template<typename T >
polygon< T, 3 > mirror (const polygon< T, 3 > &polygon, const line< T, 3 > &mirror_axis)
 
template<typename T >
point3d< T > mirror (const point3d< T > &point, const plane< T, 3 > &mirror_plane)
 
template<typename T >
segment< T, 3 > mirror (const segment< T, 3 > &segment, const plane< T, 3 > &mirror_plane)
 
template<typename T >
line< T, 3 > mirror (const line< T, 3 > &line, const plane< T, 3 > &mirror_plane)
 
template<typename T >
box< T, 3 > mirror (const box< T, 3 > &box, const plane< T, 3 > &mirror_plane)
 
template<typename T >
triangle< T, 3 > mirror (const triangle< T, 3 > &triangle, const plane< T, 3 > &mirror_plane)
 
template<typename T >
quadix< T, 3 > mirror (const quadix< T, 3 > &quadix, const plane< T, 3 > &mirror_plane)
 
template<typename T >
sphere< T > mirror (const sphere< T > &sphere, const plane< T, 3 > &mirror_plane)
 
template<typename T >
polygon< T, 3 > mirror (const polygon< T, 3 > &polygon, const plane< T, 3 > &mirror_plane)
 
template<typename T >
void nonsymmetric_mirror (const T &px, const T &py, const T &x1, const T &y1, const T &x2, const T &y2, const T &ratio, T &nx, T &ny)
 
template<typename T >
point2d< T > nonsymmetric_mirror (const point2d< T > &point, const T &ratio, const line< T, 2 > &line)
 
template<typename T >
segment< T, 2 > nonsymmetric_mirror (const segment< T, 2 > &segment, const T &ratio, const line< T, 2 > &line)
 
template<typename T >
rectangle< T > nonsymmetric_mirror (const rectangle< T > &rectangle, const T &ratio, const line< T, 2 > &line)
 
template<typename T >
triangle< T, 2 > nonsymmetric_mirror (const triangle< T, 2 > &triangle, const T &ratio, const line< T, 2 > &line)
 
template<typename T >
quadix< T, 2 > nonsymmetric_mirror (const quadix< T, 2 > &quadix, const T &ratio, const line< T, 2 > &line)
 
template<typename T >
circle< T > nonsymmetric_mirror (const circle< T > &circle, const T &ratio, const line< T, 2 > &line)
 
template<typename T >
polygon< T, 2 > nonsymmetric_mirror (const polygon< T, 2 > &polygon, const T &ratio, const line< T, 2 > &line)
 
template<typename T >
point3d< T > nonsymmetric_mirror (const point3d< T > &point, const T &ratio, const plane< T, 3 > &plane)
 
template<typename T >
segment< T, 3 > nonsymmetric_mirror (const segment< T, 3 > &segment, const T &ratio, const plane< T, 3 > &plane)
 
template<typename T >
box< T, 3 > nonsymmetric_mirror (const box< T, 3 > &box, const T &ratio, const plane< T, 3 > &plane)
 
template<typename T >
triangle< T, 3 > nonsymmetric_mirror (const triangle< T, 3 > &triangle, const T &ratio, const plane< T, 3 > &plane)
 
template<typename T >
quadix< T, 3 > nonsymmetric_mirror (const quadix< T, 3 > &quadix, const T &ratio, const plane< T, 3 > &plane)
 
template<typename T >
circle< T > nonsymmetric_mirror (const sphere< T > &sphere, const T &ratio, const plane< T, 3 > &plane)
 
template<typename T >
polygon< T, 3 > nonsymmetric_mirror (const polygon< T, 3 > &polygon, const T &ratio, const plane< T, 3 > &plane)
 
template<typename T >
point2d< T > invert_point (const point2d< T > &point, const circle< T > &circle)
 
template<typename T >
point3d< T > invert_point (const point3d< T > &point, const sphere< T > &sphere)
 
template<typename T >
point2d< T > antipodal_point (const point2d< T > &point, const circle< T > &circle)
 
template<typename T >
point3d< T > antipodal_point (const point3d< T > &point, const sphere< T > &sphere)
 
template<typename T >
distance (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
distance (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
distance (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
distance (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
distance (const curve_point< T, 2 > &point1, const curve_point< T, 2 > &point2)
 
template<typename T >
distance (const curve_point< T, 3 > &point1, const curve_point< T, 3 > &point2)
 
template<typename T >
distance (const point2d< T > &point, const segment< T, 2 > &segment)
 
template<typename T >
distance (const point3d< T > &point, const segment< T, 3 > &segment)
 
template<typename T >
distance (const point2d< T > &point, const rectangle< T > &rectangle)
 
template<typename T >
distance (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
distance (const point2d< T > &point, const quadix< T, 2 > &quadix)
 
template<typename T >
distance (const point2d< T > &point, const ray< T, 2 > &ray)
 
template<typename T >
distance (const point3d< T > &point, const ray< T, 3 > &ray)
 
template<typename T >
distance (const point3d< T > &point, const plane< T, 3 > &plane)
 
template<typename T >
distance (const line< T, 2 > &line1, const line< T, 2 > &line2)
 
template<typename T >
distance (const line< T, 3 > &line1, const line< T, 3 > &line2)
 
template<typename T >
distance (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2)
 
template<typename T >
distance (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2)
 
template<typename T >
distance (const segment< T, 2 > &segment)
 
template<typename T >
distance (const segment< T, 3 > &segment)
 
template<typename T >
distance (const segment< T, 2 > &segment, const triangle< T, 2 > &triangle)
 
template<typename T >
distance (const segment< T, 3 > &segment, const triangle< T, 3 > &triangle)
 
template<typename T >
distance (const segment< T, 2 > &segment, const rectangle< T > &rectangle)
 
template<typename T >
distance (const segment< T, 2 > &segment, const circle< T > &circle)
 
template<typename T >
distance (const triangle< T, 2 > &triangle1, const triangle< T, 2 > &triangle2)
 
template<typename T >
distance (const triangle< T, 2 > &triangle, const rectangle< T > &rectangle)
 
template<typename T >
distance (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2)
 
template<typename T >
distance (const triangle< T, 2 > &triangle, const circle< T > &circle)
 
template<typename T >
distance (const rectangle< T > &rectangle, const circle< T > &circle)
 
template<typename T >
distance (const point2d< T > &point, const circle< T > &circle)
 
template<typename T >
distance (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
distance (const sphere< T > &sphere1, const sphere< T > &sphere2)
 
template<typename T >
lay_distance (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
lay_distance (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
lay_distance (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
lay_distance (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
lay_distance (const point2d< T > &point, const triangle< T, 2 > &triangle)
 
template<typename T >
lay_distance (const point2d< T > &point, const quadix< T, 2 > &triangle)
 
template<typename T >
lay_distance (const point2d< T > &point, const ray< T, 2 > &ray)
 
template<typename T >
lay_distance (const point3d< T > &point, const ray< T, 3 > &ray)
 
template<typename T >
lay_distance (const point3d< T > &point, const plane< T, 3 > &plane)
 
template<typename T >
lay_distance (const segment< T, 2 > &segment1, const segment< T, 2 > &segment2)
 
template<typename T >
lay_distance (const segment< T, 3 > &segment1, const segment< T, 3 > &segment2)
 
template<typename T >
lay_distance (const line< T, 3 > &line1, const line< T, 3 > &line2)
 
template<typename T >
lay_distance (const segment< T, 2 > &segment)
 
template<typename T >
lay_distance (const segment< T, 3 > &segment)
 
template<typename T >
lay_distance (const segment< T, 2 > &segment, const triangle< T, 2 > &triangle)
 
template<typename T >
lay_distance (const segment< T, 3 > &segment, const triangle< T, 3 > &triangle)
 
template<typename T >
manhattan_distance (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
manhattan_distance (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
manhattan_distance (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
manhattan_distance (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
manhattan_distance (const point2d< T > &point, const ray< T, 2 > &ray)
 
template<typename T >
manhattan_distance (const point3d< T > &point, const ray< T, 3 > &ray)
 
template<typename T >
manhattan_distance (const segment< T, 2 > &segment)
 
template<typename T >
manhattan_distance (const segment< T, 3 > &segment)
 
template<typename T >
manhattan_distance (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
chebyshev_distance (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
chebyshev_distance (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
chebyshev_distance (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
chebyshev_distance (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
chebyshev_distance (const segment< T, 2 > &segment)
 
template<typename T >
chebyshev_distance (const segment< T, 3 > &segment)
 
template<typename T >
chebyshev_distance (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
inverse_chebyshev_distance (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
inverse_chebyshev_distance (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
inverse_chebyshev_distance (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
inverse_chebyshev_distance (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
inverse_chebyshev_distance (const segment< T, 2 > &segment)
 
template<typename T >
inverse_chebyshev_distance (const segment< T, 3 > &segment)
 
template<typename T >
inverse_chebyshev_distance (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
point2d< T > minkowski_sum (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const triangle< T, 2 > &triangle1, const triangle< T, 2 > &triangle2)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const quadix< T, 2 > &quadix1, const quadix< T, 2 > &quadix2)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const circle< T > &triangle, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const triangle< T, 2 > &triangle, const rectangle< T > &rectangle)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const triangle< T, 2 > &triangle, const quadix< T, 2 > &quadix)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const triangle< T, 2 > &triangle, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const quadix< T, 2 > &quadix, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const quadix< T, 2 > &quadix, const rectangle< T > &rectangle)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const rectangle< T > &rectangle, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > minkowski_sum (const polygon< T, 2 > &polygon1, const polygon< T, 2 > &polygon2)
 
template<typename T >
point2d< T > minkowski_difference (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const triangle< T, 2 > &triangle1, const triangle< T, 2 > &triangle2)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const quadix< T, 2 > &quadix1, const quadix< T, 2 > &quadix2)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const circle< T > &triangle, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const triangle< T, 2 > &triangle, const rectangle< T > &rectangle)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const triangle< T, 2 > &triangle, const quadix< T, 2 > &quadix)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const triangle< T, 2 > &triangle, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const quadix< T, 2 > &quadix, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const quadix< T, 2 > &quadix, const rectangle< T > &rectangle)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const rectangle< T > &rectangle, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > minkowski_difference (const polygon< T, 2 > &polygon1, const polygon< T, 2 > &polygon2)
 
template<typename T >
distance_segment_to_segment (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
distance_segment_to_segment (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4)
 
template<typename T >
lay_distance_segment_to_segment (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
lay_distance_segment_to_segment (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4)
 
template<typename T >
distance_line_to_line (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
distance_line_to_line (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4)
 
template<typename T >
lay_distance_line_to_line (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
lay_distance_line_to_line (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4)
 
template<typename T >
lay_distance_from_point_to_circle_center (const point2d< T > &point, const circle< T > &circle)
 
template<typename T >
lay_distance_from_point_to_sphere_center (const point3d< T > &point, const sphere< T > &sphere)
 
template<typename T >
distance_from_point_to_circle_center (const point2d< T > &point, const circle< T > &circle)
 
template<typename T >
distance_from_point_to_sphere_center (const point3d< T > &point, const sphere< T > &sphere)
 
template<typename T >
span_length (const rectangle< T > &rectangle)
 
template<typename T >
span_length (const box< T, 3 > &box)
 
template<typename T >
void project_point_t (const T &srcx, const T &srcy, const T &destx, const T &desty, const T &t, T &nx, T &ny)
 
template<typename T >
void project_point_t (const T &srcx, const T &srcy, const T &srcz, const T &destx, const T &desty, const T &destz, const T &t, T &nx, T &ny, T &nz)
 
template<typename T >
void project_point (const T &srcx, const T &srcy, const T &destx, const T &desty, const T &dist, T &nx, T &ny)
 
template<typename T >
void project_point (const T &srcx, const T &srcy, const T &srcz, const T &destx, const T &desty, const T &destz, const T &dist, T &nx, T &ny, T &nz)
 
template<typename T >
void project_point (const T &px, const T &py, const T &angle, const T &distance, T &nx, T &ny)
 
template<typename T >
void project_point0 (const T &px, const T &py, const T &distance, T &nx, T &ny)
 
template<typename T >
void project_point45 (const T &px, const T &py, const T &distance, T &nx, T &ny)
 
template<typename T >
void project_point90 (const T &px, const T &py, const T &distance, T &nx, T &ny)
 
template<typename T >
void project_point135 (const T &px, const T &py, const T &distance, T &nx, T &ny)
 
template<typename T >
void project_point180 (const T &px, const T &py, const T &distance, T &nx, T &ny)
 
template<typename T >
void project_point225 (const T &px, const T &py, const T &distance, T &nx, T &ny)
 
template<typename T >
void project_point270 (const T &px, const T &py, const T &distance, T &nx, T &ny)
 
template<typename T >
void project_point315 (const T &px, const T &py, const T &distance, T &nx, T &ny)
 
template<typename T >
point2d< T > project_point_t (const point2d< T > &source_point, const point2d< T > &destination_point, const T &t)
 
template<typename T >
point3d< T > project_point_t (const point3d< T > &source_point, const point3d< T > &destination_point, const T &t)
 
template<typename T >
point2d< T > project_point (const point2d< T > &source_point, const point2d< T > &destination_point, const T &distance)
 
template<typename T >
point3d< T > project_point (const point3d< T > &source_point, const point3d< T > &destination_point, const T &distance)
 
template<typename T >
point2d< T > project_point (const point2d< T > &point, const T &angle, const T &distance)
 
template<typename T >
point2d< T > project_point0 (const point2d< T > &point, const T &distance)
 
template<typename T >
point2d< T > project_point45 (const point2d< T > &point, const T &distance)
 
template<typename T >
point2d< T > project_point90 (const point2d< T > &point, const T &distance)
 
template<typename T >
point2d< T > project_point135 (const point2d< T > &point, const T &distance)
 
template<typename T >
point2d< T > project_point180 (const point2d< T > &point, const T &distance)
 
template<typename T >
point2d< T > project_point225 (const point2d< T > &point, const T &distance)
 
template<typename T >
point2d< T > project_point270 (const point2d< T > &point, const T &distance)
 
template<typename T >
point2d< T > project_point315 (const point2d< T > &point, const T &distance)
 
template<typename T >
point2d< T > project_object (const point2d< T > &point, const T &angle, const T &distance)
 
template<typename T >
segment< T, 2 > project_object (const segment< T, 2 > &segment, const T &angle, const T &distance)
 
template<typename T >
triangle< T, 2 > project_object (const triangle< T, 2 > &triangle, const T &angle, const T &distance)
 
template<typename T >
quadix< T, 2 > project_object (const quadix< T, 2 > &quadix, const T &angle, const T &distance)
 
template<typename T >
circle< T > project_object (const circle< T > &circle, const T &angle, const T &distance)
 
template<typename T >
polygon< T, 2 > project_object (const polygon< T, 2 > &polygon, const T &angle, const T &distance)
 
template<typename T >
segment< T, 2 > project_onto_axis (const point2d< T > &point, const line< T, 2 > &axis)
 
template<typename T >
segment< T, 2 > project_onto_axis (const triangle< T, 2 > &triangle, const line< T, 2 > &axis)
 
template<typename T >
segment< T, 2 > project_onto_axis (const rectangle< T > &rectangle, const line< T, 2 > &axis)
 
template<typename T >
segment< T, 2 > project_onto_axis (const quadix< T, 2 > &quadix, const line< T, 2 > &axis)
 
template<typename T >
segment< T, 2 > project_onto_axis (const circle< T > &circle, const line< T, 2 > &axis)
 
template<typename T >
segment< T, 2 > project_onto_axis (const polygon< T, 2 > &polygon, const line< T, 2 > &axis)
 
template<typename T >
segment< T, 3 > project_onto_axis (const point3d< T > &point, const line< T, 3 > &axis)
 
template<typename T >
segment< T, 3 > project_onto_axis (const triangle< T, 3 > &triangle, const line< T, 3 > &axis)
 
template<typename T >
segment< T, 3 > project_onto_axis (const box< T, 3 > &box, const line< T, 3 > &axis)
 
template<typename T >
segment< T, 3 > project_onto_axis (const quadix< T, 3 > &quadix, const line< T, 3 > &axis)
 
template<typename T >
segment< T, 3 > project_onto_axis (const sphere< T > &sphere, const line< T, 3 > &axis)
 
template<typename T >
segment< T, 3 > project_onto_axis (const polygon< T, 3 > &polygon, const line< T, 3 > &axis)
 
template<typename T >
void calculate_bezier_coefficients (const quadratic_bezier< T, 2 > &bezier, T &ax, T &bx, T &ay, T &by)
 
template<typename T >
void calculate_bezier_coefficients (const quadratic_bezier< T, 3 > &bezier, T &ax, T &bx, T &ay, T &by, T &az, T &bz)
 
template<typename T >
void calculate_bezier_coefficients (const cubic_bezier< T, 2 > &bezier, T &ax, T &bx, T &cx, T &ay, T &by, T &cy)
 
template<typename T >
void calculate_bezier_coefficients (const cubic_bezier< T, 3 > &bezier, T &ax, T &bx, T &cx, T &ay, T &by, T &cy, T &az, T &bz, T &cz)
 
template<typename T >
void calculate_bezier_coefficients (const quadratic_bezier< T, 2 > &bezier, bezier_coefficients< T, 2, eQuadraticBezier > &coeffs)
 
template<typename T >
void calculate_bezier_coefficients (const quadratic_bezier< T, 3 > &bezier, bezier_coefficients< T, 3, eQuadraticBezier > &coeffs)
 
template<typename T >
void calculate_bezier_coefficients (const cubic_bezier< T, 2 > &bezier, bezier_coefficients< T, 2, eCubicBezier > &coeffs)
 
template<typename T >
void calculate_bezier_coefficients (const cubic_bezier< T, 3 > &bezier, bezier_coefficients< T, 3, eCubicBezier > &coeffs)
 
template<typename T >
point2d< T > create_point_on_bezier (const point2d< T > &start_point, const T &ax, const T &bx, const T &ay, const T &by, const T &t)
 
template<typename T >
point3d< T > create_point_on_bezier (const point3d< T > &start_point, const T &ax, const T &bx, const T &ay, const T &by, const T &az, const T &bz, const T &t)
 
template<typename T >
point2d< T > create_point_on_bezier (const point2d< T > &start_point, const T &ax, const T &bx, const T &cx, const T &ay, const T &by, const T &cy, const T &t)
 
template<typename T >
point3d< T > create_point_on_bezier (const point3d< T > &start_point, const T &ax, const T &bx, const T &cx, const T &ay, const T &by, const T &cy, const T &az, const T &bz, const T &cz, const T &t)
 
template<typename T >
point2d< T > create_point_on_bezier (const point2d< T > &start_point, const bezier_coefficients< T, 2, eQuadraticBezier > &coeffs, const T &t)
 
template<typename T >
point3d< T > create_point_on_bezier (const point3d< T > &start_point, const bezier_coefficients< T, 3, eQuadraticBezier > &coeffs, const T &t)
 
template<typename T >
point2d< T > create_point_on_bezier (const point2d< T > &start_point, const bezier_coefficients< T, 2, eCubicBezier > &coeffs, const T &t)
 
template<typename T >
point3d< T > create_point_on_bezier (const point3d< T > &start_point, const bezier_coefficients< T, 3, eCubicBezier > &coeffs, const T &t)
 
template<typename T , typename OutputIterator >
void generate_bezier (const quadratic_bezier< T, 2 > &bezier, OutputIterator out, const std::size_t &point_count=1000)
 
template<typename T , typename OutputIterator >
void generate_bezier (const quadratic_bezier< T, 3 > &bezier, OutputIterator out, const std::size_t &point_count=1000)
 
template<typename T , typename OutputIterator >
void generate_bezier (const cubic_bezier< T, 2 > &bezier, OutputIterator out, const std::size_t &point_count=1000)
 
template<typename T , typename OutputIterator >
void generate_bezier (const cubic_bezier< T, 3 > &bezier, OutputIterator out, const std::size_t &point_count=1000)
 
template<typename T >
bezier_curve_length (const quadratic_bezier< T, 2 > &bezier, const std::size_t &point_count)
 
template<typename T >
bezier_curve_length (const quadratic_bezier< T, 3 > &bezier, const std::size_t &point_count)
 
template<typename T >
bezier_curve_length (const cubic_bezier< T, 2 > &bezier, const std::size_t &point_count)
 
template<typename T >
bezier_curve_length (const cubic_bezier< T, 3 > &bezier, const std::size_t &point_count)
 
template<typename T >
triangle< T, 2 > bezier_convex_hull (const quadratic_bezier< T, 2 > &bezier)
 
template<typename T >
quadix< T, 2 > bezier_convex_hull (const cubic_bezier< T, 2 > &bezier)
 
template<typename T >
segment< T, 2 > center_at_location (const segment< T, 2 > &segment, const T &x, const T &y)
 
template<typename T >
segment< T, 3 > center_at_location (const segment< T, 3 > &segment, const T &x, const T &y, const T &z)
 
template<typename T >
triangle< T, 2 > center_at_location (const triangle< T, 2 > &triangle, const T &x, const T &y)
 
template<typename T >
rectangle< T > center_at_location (const rectangle< T > &rectangle, const T &x, const T &y)
 
template<typename T >
box< T, 3 > center_at_location (const box< T, 3 > &box, const T &x, const T &y, const T &z)
 
template<typename T >
quadix< T, 2 > center_at_location (const quadix< T, 2 > &quadix, const T &x, const T &y)
 
template<typename T >
circle< T > center_at_location (const circle< T > &circle, const T &x, const T &y)
 
template<typename T >
polygon< T, 2 > center_at_location (const polygon< T, 2 > &polygon, const T &x, const T &y)
 
template<typename T >
segment< T, 2 > center_at_location (const segment< T, 2 > &segment, const point2d< T > &center_point)
 
template<typename T >
segment< T, 3 > center_at_location (const segment< T, 3 > &segment, const point3d< T > &center_point)
 
template<typename T >
triangle< T, 2 > center_at_location (const triangle< T, 2 > &triangle, const point2d< T > &center_point)
 
template<typename T >
rectangle< T > center_at_location (const rectangle< T > &rectangle, const point2d< T > &center_point)
 
template<typename T >
box< T, 3 > center_at_location (const box< T, 3 > &box, const point3d< T > &center_point)
 
template<typename T >
quadix< T, 2 > center_at_location (const quadix< T, 2 > &quadix, const point2d< T > &center_point)
 
template<typename T >
circle< T > center_at_location (const circle< T > &circle, const point2d< T > &center_point)
 
template<typename T >
polygon< T, 2 > center_at_location (const polygon< T, 2 > &polygon, const point2d< T > &center_point)
 
template<typename T >
void shorten_segment (T &x1, T &y1, T &x2, T &y2, const T &amount)
 
template<typename T >
void shorten_segment (T &x1, T &y1, T &z1, T &x2, T &y2, T &z2, const T &amount)
 
template<typename T >
segment< T, 2 > shorten_segment (const segment< T, 2 > &segment, const T &amount)
 
template<typename T >
segment< T, 3 > shorten_segment (const segment< T, 3 > &segment, const T &amount)
 
template<typename T >
void lengthen_segment (T &x1, T &y1, T &x2, T &y2, const T &amount)
 
template<typename T >
void lengthen_segment (T &x1, T &y1, T &z1, T &x2, T &y2, T &z2, const T &amount)
 
template<typename T >
segment< T, 2 > lengthen_segment (const segment< T, 2 > &segment, const T &amount)
 
template<typename T >
segment< T, 3 > lengthen_segment (const segment< T, 3 > &segment, const T &amount)
 
template<typename T >
int out_code (const point2d< T > &point, const rectangle< T > &rectangle)
 
template<typename T >
bool clip (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4, T &cx1, T &cy1, T &cx2, T &cy2)
 
template<typename T >
bool clip (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4, T &cx1, T &cy1, T &cz1, T &cx2, T &cy2, T &cz2)
 
template<typename T >
bool clip (const segment< T, 2 > &src_segment, const rectangle< T > &rectangle, segment< T, 2 > &csegment)
 
template<typename T >
bool clip (const segment< T, 2 > &src_segment, const triangle< T, 2 > &triangle, segment< T, 2 > &csegment)
 
template<typename T >
bool clip (const segment< T, 2 > &src_segment, const quadix< T, 2 > &quadix, segment< T, 2 > &csegment)
 
template<typename T >
bool clip (const segment< T, 2 > &src_segment, const circle< T > &circle, segment< T, 2 > &csegment)
 
template<typename T >
bool clip (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2, rectangle< T > &crectangle)
 
template<typename T >
bool clip (const box< T, 3 > &box1, const box< T, 3 > &box2, box< T, 3 > &cbox)
 
template<typename T >
area (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
area (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
area (const triangle< T, 2 > &triangle)
 
template<typename T >
area (const triangle< T, 3 > &triangle)
 
template<typename T >
area (const quadix< T, 2 > &quadix)
 
template<typename T >
area (const quadix< T, 3 > &quadix)
 
template<typename T >
area (const rectangle< T > &rectangle)
 
template<typename T >
area (const circle< T > &circle)
 
template<typename T >
area (const polygon< T, 2 > &polygon)
 
template<typename T >
perimeter (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
perimeter (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
perimeter (const triangle< T, 2 > &triangle)
 
template<typename T >
perimeter (const triangle< T, 3 > &triangle)
 
template<typename T >
perimeter (const quadix< T, 2 > &quadix)
 
template<typename T >
perimeter (const quadix< T, 3 > &quadix)
 
template<typename T >
perimeter (const rectangle< T > &rectangle)
 
template<typename T >
perimeter (const circle< T > &circle)
 
template<typename T >
perimeter (const polygon< T, 2 > &polygon)
 
template<typename T >
void rotate (const T &rotation_angle, const T &x, const T &y, T &nx, T &ny)
 
template<typename T >
void rotate (const T &rotation_angle, const T &x, const T &y, const T &ox, const T &oy, T &nx, T &ny)
 
template<typename T >
point2d< T > rotate (const T &rotation_angle, const point2d< T > &point)
 
template<typename T >
point2d< T > rotate (const T &rotation_angle, const point2d< T > &point, const point2d< T > &opoint)
 
template<typename T >
segment< T, 2 > rotate (const T &rotation_angle, const segment< T, 2 > &segment)
 
template<typename T >
segment< T, 2 > rotate (const T &rotation_angle, const segment< T, 2 > &segment, const point2d< T > &opoint)
 
template<typename T >
triangle< T, 2 > rotate (const T &rotation_angle, const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > rotate (const T &rotation_angle, const triangle< T, 2 > &triangle, const point2d< T > &opoint)
 
template<typename T >
quadix< T, 2 > rotate (const T &rotation_angle, const quadix< T, 2 > &quadix)
 
template<typename T >
quadix< T, 2 > rotate (const T &rotation_angle, const quadix< T, 2 > &quadix, const point2d< T > &opoint)
 
template<typename T >
polygon< T, 2 > rotate (const T &rotation_angle, const polygon< T, 2 > &polygon)
 
template<typename T >
polygon< T, 2 > rotate (const T &rotation_angle, const polygon< T, 2 > &polygon, const point2d< T > &opoint)
 
template<typename T >
void fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const T &x, const T &y, T &nx, T &ny)
 
template<typename T >
void fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const T &x, const T &y, const T &ox, const T &oy, T &nx, T &ny)
 
template<typename T >
point2d< T > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const point2d< T > &point)
 
template<typename T >
point2d< T > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const point2d< T > &point, const point2d< T > &opoint)
 
template<typename T >
segment< T, 2 > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const segment< T, 2 > &segment)
 
template<typename T >
segment< T, 2 > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const segment< T, 2 > &segment, const point2d< T > &opoint)
 
template<typename T >
triangle< T, 2 > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const triangle< T, 2 > &triangle)
 
template<typename T >
triangle< T, 2 > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const triangle< T, 2 > &triangle, const point2d< T > &opoint)
 
template<typename T >
quadix< T, 2 > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const quadix< T, 2 > &quadix)
 
template<typename T >
quadix< T, 2 > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const quadix< T, 2 > &quadix, const point2d< T > &opoint)
 
template<typename T >
polygon< T, 2 > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const polygon< T, 2 > &polygon)
 
template<typename T >
polygon< T, 2 > fast_rotate (const trig_luts< T > &lut, const int rotation_angle, const polygon< T, 2 > &polygon, const point2d< T > &opoint)
 
template<typename T >
void fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const T &x, const T &y, const T &z, T &nx, T &ny, T &nz)
 
template<typename T >
void fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const T &x, const T &y, const T &z, const T &ox, const T &oy, const T &oz, T &nx, T &ny, T &nz)
 
template<typename T >
point3d< T > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const point3d< T > &point)
 
template<typename T >
point3d< T > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const point3d< T > &point, const point3d< T > &opoint)
 
template<typename T >
segment< T, 3 > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const segment< T, 3 > &segment)
 
template<typename T >
segment< T, 3 > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const segment< T, 3 > &segment, const point3d< T > &opoint)
 
template<typename T >
triangle< T, 3 > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const triangle< T, 3 > &triangle)
 
template<typename T >
triangle< T, 3 > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const triangle< T, 3 > &triangle, const point3d< T > &opoint)
 
template<typename T >
quadix< T, 3 > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const quadix< T, 3 > &quadix)
 
template<typename T >
quadix< T, 3 > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const quadix< T, 3 > &quadix, const point3d< T > &opoint)
 
template<typename T >
polygon< T, 3 > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const polygon< T, 3 > &polygon)
 
template<typename T >
polygon< T, 3 > fast_rotate (const trig_luts< T > &lut, const int rx, const int ry, const int rz, const polygon< T, 3 > &polygon, const point3d< T > &opoint)
 
template<typename T >
point2d< T > translate (const T &dx, const T &dy, const point2d< T > &point)
 
template<typename T >
line< T, 2 > translate (const T &dx, const T &dy, const line< T, 2 > &line)
 
template<typename T >
segment< T, 2 > translate (const T &dx, const T &dy, const segment< T, 2 > &segment)
 
template<typename T >
triangle< T, 2 > translate (const T &dx, const T &dy, const triangle< T, 2 > &triangle)
 
template<typename T >
quadix< T, 2 > translate (const T &dx, const T &dy, const quadix< T, 2 > &quadix)
 
template<typename T >
rectangle< T > translate (const T &dx, const T &dy, const rectangle< T > &rectangle)
 
template<typename T >
circle< T > translate (const T &dx, const T &dy, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > translate (const T &dx, const T &dy, const polygon< T, 2 > &polygon)
 
template<typename T >
point2d< T > translate (const T &delta, const point2d< T > &point)
 
template<typename T >
line< T, 2 > translate (const T &delta, const line< T, 2 > &line)
 
template<typename T >
segment< T, 2 > translate (const T &delta, const segment< T, 2 > &segment)
 
template<typename T >
triangle< T, 2 > translate (const T &delta, const triangle< T, 2 > &triangle)
 
template<typename T >
quadix< T, 2 > translate (const T &delta, const quadix< T, 2 > &quadix)
 
template<typename T >
rectangle< T > translate (const T &delta, const rectangle< T > &rectangle)
 
template<typename T >
circle< T > translate (const T &delta, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > translate (const T &delta, const polygon< T, 2 > &polygon)
 
template<typename T >
point2d< T > translate (const vector2d< T > &v, const point2d< T > &point)
 
template<typename T >
line< T, 2 > translate (const vector2d< T > &v, const line< T, 2 > &line)
 
template<typename T >
segment< T, 2 > translate (const vector2d< T > &v, const segment< T, 2 > &segment)
 
template<typename T >
triangle< T, 2 > translate (const vector2d< T > &v, const triangle< T, 2 > &triangle)
 
template<typename T >
quadix< T, 2 > translate (const vector2d< T > &v, const quadix< T, 2 > &quadix)
 
template<typename T >
rectangle< T > translate (const vector2d< T > &v, const rectangle< T > &rectangle)
 
template<typename T >
circle< T > translate (const vector2d< T > &v, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > translate (const vector2d< T > &v, const polygon< T, 2 > &polygon)
 
template<typename T >
point3d< T > translate (const T &dx, const T &dy, const T &dz, const point3d< T > &point)
 
template<typename T >
line< T, 3 > translate (const T &dx, const T &dy, const T &dz, const line< T, 3 > &line)
 
template<typename T >
segment< T, 3 > translate (const T &dx, const T &dy, const T &dz, const segment< T, 3 > &segment)
 
template<typename T >
triangle< T, 3 > translate (const T &dx, const T &dy, const T &dz, const triangle< T, 3 > &triangle)
 
template<typename T >
quadix< T, 3 > translate (const T &dx, const T &dy, const T &dz, const quadix< T, 3 > &quadix)
 
template<typename T >
box< T, 3 > translate (const T &dx, const T &dy, const T &dz, const box< T, 3 > &box)
 
template<typename T >
sphere< T > translate (const T &dx, const T &dy, const T &dz, const sphere< T > &sphere)
 
template<typename T >
polygon< T, 3 > translate (const T &dx, const T &dy, const T &dz, const polygon< T, 3 > &polygon)
 
template<typename T >
point3d< T > translate (const T &delta, const point3d< T > &point)
 
template<typename T >
line< T, 3 > translate (const T &delta, const line< T, 3 > &line)
 
template<typename T >
segment< T, 3 > translate (const T &delta, const segment< T, 3 > &segment)
 
template<typename T >
triangle< T, 3 > translate (const T &delta, const triangle< T, 3 > &triangle)
 
template<typename T >
quadix< T, 3 > translate (const T &delta, const quadix< T, 3 > &quadix)
 
template<typename T >
box< T, 3 > translate (const T &delta, const box< T, 3 > &box)
 
template<typename T >
sphere< T > translate (const T &delta, const sphere< T > &sphere)
 
template<typename T >
polygon< T, 3 > translate (const T &delta, const polygon< T, 3 > &polygon)
 
template<typename T >
point3d< T > translate (const vector3d< T > &v, const point3d< T > &point)
 
template<typename T >
line< T, 3 > translate (const vector3d< T > &v, const line< T, 3 > &line)
 
template<typename T >
segment< T, 3 > translate (const vector3d< T > &v, const segment< T, 3 > &segment)
 
template<typename T >
triangle< T, 3 > translate (const vector3d< T > &v, const triangle< T, 3 > &triangle)
 
template<typename T >
quadix< T, 3 > translate (const vector3d< T > &v, const quadix< T, 3 > &quadix)
 
template<typename T >
box< T, 3 > translate (const vector3d< T > &v, const box< T, 3 > &box)
 
template<typename T >
sphere< T > translate (const vector3d< T > &v, const sphere< T > &sphere)
 
template<typename T >
polygon< T, 3 > translate (const vector3d< T > &v, const polygon< T, 3 > &polygon)
 
template<typename T >
point2d< T > scale (const T &dx, const T &dy, const point2d< T > &point)
 
template<typename T >
line< T, 2 > scale (const T &dx, const T &dy, const line< T, 2 > &line)
 
template<typename T >
segment< T, 2 > scale (const T &dx, const T &dy, const segment< T, 2 > &segment)
 
template<typename T >
triangle< T, 2 > scale (const T &dx, const T &dy, const triangle< T, 2 > &triangle)
 
template<typename T >
quadix< T, 2 > scale (const T &dx, const T &dy, const quadix< T, 2 > &quadix)
 
template<typename T >
rectangle< T > scale (const T &dx, const T &dy, const rectangle< T > &rectangle)
 
template<typename T >
circle< T > scale (const T &dr, const circle< T > &circle)
 
template<typename T >
polygon< T, 2 > scale (const T &dx, const T &dy, const polygon< T, 2 > &polygon)
 
template<typename T >
point3d< T > scale (const T &dx, const T &dy, const T &dz, const point3d< T > &point)
 
template<typename T >
line< T, 3 > scale (const T &dx, const T &dy, const T &dz, const line< T, 3 > &line)
 
template<typename T >
segment< T, 3 > scale (const T &dx, const T &dy, const T &dz, const segment< T, 3 > &segment)
 
template<typename T >
triangle< T, 3 > scale (const T &dx, const T &dy, const T &dz, const triangle< T, 3 > &triangle)
 
template<typename T >
quadix< T, 3 > scale (const T &dx, const T &dy, const T &dz, const quadix< T, 3 > &quadix)
 
template<typename T >
box< T, 3 > scale (const T &dx, const T &dy, const T &dz, const box< T, 3 > &box)
 
template<typename T >
sphere< T > scale (const T &dr, const sphere< T > &sphere)
 
template<typename T >
polygon< T, 3 > scale (const T &dx, const T &dy, const T &dz, const polygon< T, 3 > &polygon)
 
template<typename T >
rectangle< T > aabb (const segment< T, 2 > &segment)
 
template<typename T >
rectangle< T > aabb (const triangle< T, 2 > &triangle)
 
template<typename T >
rectangle< T > aabb (const rectangle< T > &rectangle)
 
template<typename T >
rectangle< T > aabb (const quadix< T, 2 > &quadix)
 
template<typename T >
rectangle< T > aabb (const circle< T > &circle)
 
template<typename T >
rectangle< T > aabb (const polygon< T, 2 > &polygon)
 
template<typename T >
void aabb (const segment< T, 2 > &segment, T &x1, T &y1, T &x2, T &y2)
 
template<typename T >
void aabb (const triangle< T, 2 > &triangle, T &x1, T &y1, T &x2, T &y2)
 
template<typename T >
void aabb (const rectangle< T > &rectangle, T &x1, T &y1, T &x2, T &y2)
 
template<typename T >
void aabb (const quadix< T, 2 > &quadix, T &x1, T &y1, T &x2, T &y2)
 
template<typename T >
void aabb (const circle< T > &circle, T &x1, T &y1, T &x2, T &y2)
 
template<typename T >
void aabb (const polygon< T, 2 > &polygon, T &x1, T &y1, T &x2, T &y2)
 
template<typename T >
box< T, 3 > aabb (const segment< T, 3 > &segment)
 
template<typename T >
box< T, 3 > aabb (const triangle< T, 3 > &triangle)
 
template<typename T >
box< T, 3 > aabb (const box< T, 3 > &rectangle)
 
template<typename T >
box< T, 3 > aabb (const quadix< T, 3 > &quadix)
 
template<typename T >
box< T, 3 > aabb (const sphere< T > &sphere)
 
template<typename T >
box< T, 3 > aabb (const polygon< T, 3 > &polygon)
 
template<typename T >
void aabb (const segment< T, 3 > &segment, T &x1, T &y1, T &z1, T &x2, T &y2, T &z2)
 
template<typename T >
void aabb (const triangle< T, 3 > &triangle, T &x1, T &y1, T &z1, T &x2, T &y2, T &z2)
 
template<typename T >
void aabb (const box< T, 3 > &box, T &x1, T &y1, T &z1, T &x2, T &y2, T &z2)
 
template<typename T >
void aabb (const quadix< T, 3 > &quadix, T &x1, T &y1, T &z1, T &x2, T &y2, T &z2)
 
template<typename T >
void aabb (const sphere< T > &sphere, T &x1, T &y1, T &z1, T &x2, T &y2, T &z2)
 
template<typename T >
void aabb (const polygon< T, 3 > &polygon, T &x1, T &y1, T &z1, T &x2, T &y2, T &z2)
 
template<typename T >
rectangle< T > update_rectangle (const rectangle< T > &rectangle, point2d< T > &point)
 
template<typename T >
box< T, 3 > update_box (const box< T, 3 > &box, point3d< T > &point)
 
template<typename T >
circle< T > update_circle (const circle< T > &circle, point2d< T > &point)
 
template<typename T >
sphere< T > update_sphere (const sphere< T > &sphere, point3d< T > &point)
 
template<typename T >
point2d< T > generate_point_on_segment (const segment< T, 2 > &segment, const T &t)
 
template<typename T >
point3d< T > generate_point_on_segment (const segment< T, 3 > &segment, const T &t)
 
template<typename T >
point2d< T > generate_point_on_ray (const ray< T, 2 > &ray, const T &t)
 
template<typename T >
point3d< T > generate_point_on_ray (const ray< T, 3 > &ray, const T &t)
 
template<typename T >
generate_random_value (const T &range)
 
template<typename T >
point2d< T > generate_random_point (const T &dx, const T &dy)
 
template<typename T >
point3d< T > generate_random_point (const T &dx, const T &dy, const T &dz)
 
template<typename T >
point2d< T > generate_random_point (const segment< T, 2 > &segment)
 
template<typename T >
point3d< T > generate_random_point (const segment< T, 3 > &segment)
 
template<typename T >
point2d< T > generate_random_point (const triangle< T, 2 > &triangle)
 
template<typename T >
point3d< T > generate_random_point (const triangle< T, 3 > &triangle)
 
template<typename T >
point2d< T > generate_random_point (const quadix< T, 2 > &quadix)
 
template<typename T >
point3d< T > generate_random_point (const quadix< T, 3 > &quadix)
 
template<typename T >
point2d< T > generate_random_point (const rectangle< T > &rectangle)
 
template<typename T >
point3d< T > generate_random_point (const box< T, 3 > &box)
 
template<typename T , typename OutputIterator >
void generate_random_points (const T &x1, const T &y1, const T &x2, const T &y2, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const rectangle< T > &rectangle, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const box< T, 3 > &box, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const segment< T, 2 > &segment, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const segment< T, 3 > &segment, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const triangle< T, 2 > &triangle, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const triangle< T, 3 > &triangle, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const quadix< T, 2 > &quadix, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const quadix< T, 3 > &quadix, const std::size_t &point_count, OutputIterator out)
 
template<typename T , typename OutputIterator >
void generate_random_points (const circle< T > &circle, const std::size_t &point_count, OutputIterator out)
 
template<typename T >
void generate_random_object (const T &x1, const T &y1, const T &x2, const T &y2, segment< T, 2 > &segment)
 
template<typename T >
void generate_random_object (const T &x1, const T &y1, const T &x2, const T &y2, rectangle< T > &rectangle)
 
template<typename T >
void generate_random_object (const T &x1, const T &y1, const T &x2, const T &y2, triangle< T, 2 > &triangle)
 
template<typename T >
void generate_random_object (const T &x1, const T &y1, const T &x2, const T &y2, quadix< T, 2 > &quadix)
 
template<typename T >
void generate_random_object (const T &x1, const T &y1, const T &x2, const T &y2, circle< T > &circle)
 
template<typename T >
void generate_random_object (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, box< T, 3 > &box)
 
template<typename T >
triangle< T, 2 > right_shift (const triangle< T, 2 > &triangle, const std::size_t &shift)
 
template<typename T >
triangle< T, 3 > right_shift (const triangle< T, 3 > &triangle, const std::size_t &shift)
 
template<typename T >
quadix< T, 2 > right_shift (const quadix< T, 2 > &quadix, const std::size_t &shift)
 
template<typename T >
quadix< T, 3 > right_shift (const quadix< T, 3 > &quadix, const std::size_t &shift)
 
template<typename T >
vector_norm (const vector2d< T > &v)
 
template<typename T >
vector_norm (const vector3d< T > &v)
 
template<typename T >
vector2d< T > normalize (const vector2d< T > &v)
 
template<typename T >
vector3d< T > normalize (const vector3d< T > &v)
 
template<typename T >
vector2d< T > perpendicular (const vector2d< T > &v)
 
template<typename T >
vector3d< T > perpendicular (const vector3d< T > &v)
 
template<typename T >
vector2d< T > operator+ (const vector2d< T > &v1, const vector2d< T > &v2)
 
template<typename T >
vector3d< T > operator+ (const vector3d< T > &v1, const vector3d< T > &v2)
 
template<typename T >
vector2d< T > operator- (const vector2d< T > &v1, const vector2d< T > &v2)
 
template<typename T >
vector3d< T > operator- (const vector3d< T > &v1, const vector3d< T > &v2)
 
template<typename T >
operator* (const vector2d< T > &v1, const vector2d< T > &v2)
 
template<typename T >
vector3d< T > operator* (const vector3d< T > &v1, const vector3d< T > &v2)
 
template<typename T >
dot_product (const vector2d< T > &v1, const vector2d< T > &v2)
 
template<typename T >
dot_product (const vector3d< T > &v1, const vector3d< T > &v2)
 
template<typename T >
perpendicular_product (const vector2d< T > &v1, const vector2d< T > &v2)
 
template<typename T >
triple_product (const vector3d< T > &v1, const vector3d< T > &v2, const vector3d< T > &v3)
 
template<typename T >
vector2d< T > operator* (const vector2d< T > &v1, const T &scale)
 
template<typename T >
vector3d< T > operator* (const vector3d< T > &v1, const T &scale)
 
template<typename T >
vector2d< T > operator* (const T &scale, const vector2d< T > &v1)
 
template<typename T >
vector3d< T > operator* (const T &scale, const vector3d< T > &v1)
 
template<typename T >
vector2d< T > operator/ (const vector2d< T > &v1, const T &scale)
 
template<typename T >
vector3d< T > operator/ (const vector3d< T > &v1, const T &scale)
 
template<typename T >
point2d< T > operator* (const point2d< T > &point, const T &scale)
 
template<typename T >
point3d< T > operator* (const point3d< T > &point, const T &scale)
 
template<typename T >
point2d< T > operator* (const T &scale, const point2d< T > &point)
 
template<typename T >
point3d< T > operator* (const T &scale, const point3d< T > &point)
 
template<typename T >
point2d< T > operator+ (const point2d< T > &point, const vector2d< T > &v)
 
template<typename T >
point2d< T > operator+ (const vector2d< T > &v, const point2d< T > &point)
 
template<typename T >
point3d< T > operator+ (const point3d< T > &point, const vector3d< T > &v)
 
template<typename T >
point3d< T > operator+ (const vector3d< T > &v, const point3d< T > &point)
 
template<typename T >
vector2d< T > operator- (const point2d< T > &p1, const point2d< T > &p2)
 
template<typename T >
vector3d< T > operator- (const point3d< T > &p1, const point3d< T > &p2)
 
template<typename T >
point2d< T > operator+ (const point2d< T > &p1, const point2d< T > &p2)
 
template<typename T >
point3d< T > operator+ (const point3d< T > &p1, const point3d< T > &p2)
 
template<typename T >
bool is_equal (const T &val1, const T &val2, const T &epsilon)
 
template<typename T >
bool is_equal (const point2d< T > &point1, const point2d< T > &point2, const T &epsilon)
 
template<typename T >
bool is_equal (const point3d< T > &point1, const point3d< T > &point2, const T &epsilon)
 
template<typename T >
bool is_equal (const T &val1, const T &val2)
 
template<typename T >
bool is_equal (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
bool is_equal (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
bool is_equal (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2)
 
template<typename T >
bool is_equal (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
bool is_equal (const box< T, 3 > &box1, const box< T, 3 > &box2)
 
template<typename T >
bool is_equal (const sphere< T > &sphere1, const sphere< T > &sphere2)
 
template<typename T >
bool not_equal (const T &val1, const T &val2, const T &epsilon)
 
template<typename T >
bool not_equal (const point2d< T > &point1, const point2d< T > &point2, const T &epsilon)
 
template<typename T >
bool not_equal (const point3d< T > &point1, const point3d< T > &point2, const T &epsilon)
 
template<typename T >
bool not_equal (const T &val1, const T &val2)
 
template<typename T >
bool not_equal (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
bool not_equal (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
bool not_equal (const rectangle< T > &rectangle1, const rectangle< T > &rectangle2)
 
template<typename T >
bool not_equal (const circle< T > &circle1, const circle< T > &circle2)
 
template<typename T >
bool not_equal (const box< T, 3 > &box1, const box< T, 3 > &box2)
 
template<typename T >
bool not_equal (const sphere< T > &sphere1, const sphere< T > &sphere2)
 
template<typename T >
bool less_than_or_equal (const T &val1, const T &val2, const T &epsilon)
 
template<typename T >
bool less_than_or_equal (const T &val1, const T &val2)
 
template<typename T >
bool greater_than_or_equal (const T &val1, const T &val2, const T &epsilon)
 
template<typename T >
bool greater_than_or_equal (const T &val1, const T &val2)
 
template<typename T >
bool operator< (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
bool operator< (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
bool operator> (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
bool operator> (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
bool operator== (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
bool operator== (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
bool is_degenerate (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
bool is_degenerate (const segment< T, 2 > &segment)
 
template<typename T >
bool is_degenerate (const line< T, 2 > &line)
 
template<typename T >
bool is_degenerate (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
bool is_degenerate (const segment< T, 3 > &segment)
 
template<typename T >
bool is_degenerate (const line< T, 3 > &line)
 
template<typename T >
bool is_degenerate (const triangle< T, 2 > &triangle)
 
template<typename T >
bool is_degenerate (const triangle< T, 3 > &triangle)
 
template<typename T >
bool is_degenerate (const quadix< T, 2 > &quadix)
 
template<typename T >
bool is_degenerate (const quadix< T, 3 > &quadix)
 
template<typename T >
bool is_degenerate (const rectangle< T > &rectangle)
 
template<typename T >
bool is_degenerate (const circle< T > &circle)
 
template<typename T >
bool is_degenerate (const sphere< T > &sphere)
 
template<typename T >
bool is_degenerate (const circular_arc< T > &arc)
 
template<typename T >
point2d< T > degenerate_point2d ()
 
template<typename T >
point3d< T > degenerate_point3d ()
 
template<typename T >
vector2d< T > degenerate_vector2d ()
 
template<typename T >
vector3d< T > degenerate_vector3d ()
 
template<typename T >
ray< T, 2 > degenerate_ray2d ()
 
template<typename T >
ray< T, 3 > degenerate_ray3d ()
 
template<typename T >
line< T, 2 > degenerate_line2d ()
 
template<typename T >
line< T, 3 > degenerate_line3d ()
 
template<typename T >
segment< T, 2 > degenerate_segment2d ()
 
template<typename T >
segment< T, 3 > degenerate_segment3d ()
 
template<typename T >
triangle< T, 2 > degenerate_triangle2d ()
 
template<typename T >
triangle< T, 3 > degenerate_triangle3d ()
 
template<typename T >
quadix< T, 2 > degenerate_quadix2d ()
 
template<typename T >
quadix< T, 3 > degenerate_quadix3d ()
 
template<typename T >
rectangle< T > degenerate_rectangle ()
 
template<typename T >
circle< T > degenerate_circle ()
 
template<typename T >
sphere< T > degenerate_sphere ()
 
template<typename T >
point2d< T > positive_infinite_point2d ()
 
template<typename T >
point2d< T > negative_infinite_point2d ()
 
template<typename T >
point3d< T > positive_infinite_point3d ()
 
template<typename T >
point3d< T > negative_infinite_point3d ()
 
template<typename T >
void swap (point2d< T > &point1, point2d< T > &point2)
 
template<typename T >
void swap (point3d< T > &point1, point3d< T > &point2)
 
template<typename T >
point2d< T > make_point (const T &x, const T &y)
 
template<typename T >
point3d< T > make_point (const T &x, const T &y, const T &z)
 
template<typename T >
point2d< T > make_point (const point3d< T > point)
 
template<typename T >
point3d< T > make_point (const point2d< T > point, const T &z=T(0.0))
 
template<typename T >
point2d< T > make_point (const circle< T > &circle)
 
template<typename T >
point3d< T > make_point (const sphere< T > &sphere)
 
template<typename T >
vector2d< T > make_vector (const T &x, const T &y)
 
template<typename T >
vector3d< T > make_vector (const T &x, const T &y, const T &z)
 
template<typename T >
vector2d< T > make_vector (const vector3d< T > v)
 
template<typename T >
vector3d< T > make_vector (const vector2d< T > v, const T &z=T(0.0))
 
template<typename T >
vector2d< T > make_vector (const point2d< T > point)
 
template<typename T >
vector3d< T > make_vector (const point3d< T > point)
 
template<typename T >
ray< T, 2 > make_ray (const T &ox, const T &oy, const T &dir_x, const T &dir_y)
 
template<typename T >
ray< T, 3 > make_ray (const T &ox, const T &oy, const T &oz, const T &dir_x, const T &dir_y, const T &dir_z)
 
template<typename T >
ray< T, 2 > make_ray (const point2d< T > &origin, const vector2d< T > &direction)
 
template<typename T >
ray< T, 3 > make_ray (const point3d< T > &origin, const vector3d< T > &direction)
 
template<typename T >
ray< T, 2 > make_ray (const point2d< T > &origin, const T &bearing)
 
template<typename T >
curve_point< T, 2 > make_curve_point (const T &x, const T &y, const T &t)
 
template<typename T >
curve_point< T, 3 > make_curve_point (const T &x, const T &y, const T &z, const T &t)
 
template<typename T >
curve_point< T, 2 > make_curve_point (const point2d< T > &point, const T &t)
 
template<typename T >
curve_point< T, 3 > make_curve_point (const point3d< T > &point, const T &t)
 
template<typename T >
segment< T, 2 > make_segment (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
segment< T, 3 > make_segment (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
segment< T, 2 > make_segment (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
segment< T, 3 > make_segment (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
segment< T, 2 > make_segment (const line< T, 2 > &line)
 
template<typename T >
segment< T, 3 > make_segment (const line< T, 3 > &line)
 
template<typename T >
line< T, 2 > make_line (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
line< T, 3 > make_line (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
line< T, 2 > make_line (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
line< T, 3 > make_line (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
line< T, 2 > make_line (const segment< T, 2 > &segment)
 
template<typename T >
line< T, 3 > make_line (const segment< T, 3 > &segment)
 
template<typename T >
line< T, 2 > make_line (const ray< T, 2 > &ray)
 
template<typename T >
line< T, 3 > make_line (const ray< T, 3 > &ray)
 
template<typename T >
rectangle< T > make_rectangle (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
rectangle< T > make_rectangle (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
box< T, 3 > make_box (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2)
 
template<typename T >
box< T, 3 > make_box (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
triangle< T, 2 > make_triangle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3)
 
template<typename T >
triangle< T, 3 > make_triangle (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3)
 
template<typename T >
triangle< T, 2 > make_triangle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
triangle< T, 3 > make_triangle (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
quadix< T, 2 > make_quadix (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4)
 
template<typename T >
quadix< T, 3 > make_quadix (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3, const T &x4, const T &y4, const T &z4)
 
template<typename T >
quadix< T, 2 > make_quadix (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4)
 
template<typename T >
quadix< T, 3 > make_quadix (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3, const point3d< T > &point4)
 
template<typename T >
quadix< T, 2 > make_quadix (const T &x1, const T &y1, const T &x2, const T &y2)
 
template<typename T >
quadix< T, 2 > make_quadix (const rectangle< T > &rectangle)
 
template<typename T >
circle< T > make_circle (const T &x, const T &y, const T &radius)
 
template<typename T >
circle< T > make_circle (const point2d< T > &point, const T &radius)
 
template<typename T >
circle< T > make_circle (const point2d< T > &point1, const point2d< T > &point2)
 
template<typename T >
circle< T > make_circle (const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3)
 
template<typename T >
circle< T > make_circle (const triangle< T, 2 > &triangle)
 
template<typename T >
sphere< T > make_sphere (const T &x, const T &y, const T &z, const T &radius)
 
template<typename T >
sphere< T > make_sphere (const point3d< T > &point, const T &radius)
 
template<typename T >
sphere< T > make_sphere (const point3d< T > &point1, const point3d< T > &point2)
 
template<typename T >
plane< T, 3 > make_plane (const T &x1, const T &y1, const T &z1, const T &x2, const T &y2, const T &z2, const T &x3, const T &y3, const T &z3)
 
template<typename T >
plane< T, 3 > make_plane (const T &px, const T &py, const T &pz, const T &nx, const T &ny, const T &nz)
 
template<typename T >
plane< T, 3 > make_plane (const point3d< T > &point1, const point3d< T > &point2, const point3d< T > &point3)
 
template<typename T >
plane< T, 3 > make_plane (const point3d< T > &point, const vector3d< T > &normal)
 
template<typename T >
plane< T, 3 > make_plane (const triangle< T, 3 > &triangle)
 
template<typename T , std::size_t D, typename InputIterator >
polygon< T, D > make_polygon (const InputIterator begin, const InputIterator end)
 
template<typename T >
polygon< T, 2 > make_polygon (const std::vector< point2d< T > > &point_list)
 
template<typename T >
polygon< T, 3 > make_polygon (const std::vector< point3d< T > > &point_list)
 
template<typename T >
polygon< T, 2 > make_polygon (const triangle< T, 2 > &triangle)
 
template<typename T >
polygon< T, 2 > make_polygon (const quadix< T, 2 > &quadix)
 
template<typename T >
polygon< T, 2 > make_polygon (const rectangle< T > &rectangle)
 
template<typename T >
polygon< T, 2 > make_polygon (const circle< T > &circle, const unsigned int point_count=360)
 
template<typename T >
sqr (const T &val)
 
template<typename T >
sqrt (const T &val)
 
template<typename T >
abs (const T &value)
 
template<typename T >
max (const T &value1, const T &value2)
 
template<typename T >
min (const T &value1, const T &value2)
 
template<typename T >
max (const T &value1, const T &value2, const T &value3)
 
template<typename T >
min (const T &value1, const T &value2, const T &value3)
 
template<typename T >
infinity ()
 
template<typename T >
sin (const T &value)
 
template<typename T >
cos (const T &value)
 
template<typename T >
tan (const T &value)
 
template<typename T >
asin (const T &value)
 
template<typename T >
acos (const T &value)
 
template<typename T >
atan (const T &value)
 
template<typename T >
approx_sin (T angle)
 
template<typename T >
approx_cos (T angle)
 
template<typename T >
approx_tan (T angle)
 
template<typename T >
clamp (const T &value, const T &low, const T &high)
 
template<typename T >
det (const matrix< T, 1, 1 > &matrix)
 
template<typename T >
det (const matrix< T, 2, 2 > &matrix)
 
template<typename T >
det (const matrix< T, 3, 3 > &matrix)
 
template<typename T >
det (const matrix< T, 4, 4 > &matrix)
 
template<typename T >
void transpose (matrix< T, 1, 1 > &matrix)
 
template<typename T >
void transpose (matrix< T, 2, 2 > &matrix)
 
template<typename T >
void transpose (matrix< T, 3, 3 > &matrix)
 
template<typename T >
void transpose (matrix< T, 4, 4 > &matrix)
 
template<typename T >
void inverse (matrix< T, 2, 2 > &out_matrix, const matrix< T, 2, 2 > &in_matrix)
 
template<typename T >
void inverse (matrix< T, 3, 3 > &out_matrix, const matrix< T, 3, 3 > &in_matrix)
 
template<typename T >
void inverse (matrix< T, 4, 4 > &out_matrix, const matrix< T, 4, 4 > &in_matrix)
 
template<typename T , std::size_t N>
void inverse (matrix< T, N, N > &out_matrix, const matrix< T, N, N > &in_matrix)
 
template<typename T >
void eigen_values (const matrix< T, 2, 2 > &matrix, T &eigen_value1, T &eigen_value2)
 
template<typename T >
void eigenvector (const matrix< T, 2, 2 > &matrix, vector2d< T > &eigenvector1, vector2d< T > &eigenvector2)
 
template<typename T , std::size_t D>
bool parallel (const line< T, D > &line1, const line< T, D > &line2)
 
template<typename T , std::size_t D>
bool parallel (const segment< T, D > &segment1, const segment< T, D > &segment2)
 
template<typename T , std::size_t D>
bool perpendicular (const line< T, D > &line1, const line< T, D > &line2)
 
template<typename T , std::size_t D>
bool perpendicular (const segment< T, D > &segment1, const segment< T, D > &segment2)
 
template<typename T , std::size_t D>
bool collinear (const pointnd< T, D > &point1, const pointnd< T, D > &point2, const pointnd< T, D > &point3)
 
template<typename T , std::size_t D>
bool robust_collinear (const pointnd< T, D > &point1, const pointnd< T, D > &point2, const pointnd< T, D > &point3)
 
template<typename T , std::size_t D>
bool is_point_collinear (const segment< T, D > &segment, const pointnd< T, D > &point, const bool robust=false)
 
template<typename T , std::size_t D>
bool intersect (const segment< T, D > &segment1, const segment< T, D > &segment2, const T &fuzzy=T(0.0))
 
template<typename T , std::size_t D>
bool intersect (const line< T, D > &line1, const line< T, D > &line2, const T &fuzzy=T(0.0))
 
template<typename T , std::size_t D>
pointnd< T, D > intersection_point (const segment< T, D > &segment1, const segment< T, D > &segment2, const T &fuzzy=T(0.0))
 
template<typename T , std::size_t D>
pointnd< T, D > intersection_point (const line< T, D > &line1, const line< T, D > &line2, const T &fuzzy=T(0.0))
 
template<typename T , std::size_t D>
distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
distance (const pointnd< T, D > &point, const segment< T, D > &segment)
 
template<typename T , std::size_t D>
distance (const pointnd< T, D > &point, const line< T, D > &line)
 
template<typename T , std::size_t D>
distance (const segment< T, D > &segment1, const segment< T, D > &segment2)
 
template<typename T , std::size_t D>
distance (const line< T, D > &line1, const line< T, D > &line2)
 
template<typename T , std::size_t D>
lay_distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
lay_distance (const pointnd< T, D > &point, const segment< T, D > &segment)
 
template<typename T , std::size_t D>
lay_distance (const pointnd< T, D > &point, const line< T, D > &line)
 
template<typename T , std::size_t D>
lay_distance (const segment< T, D > &segment1, const segment< T, D > &segment2)
 
template<typename T , std::size_t D>
lay_distance (const line< T, D > &line1, const line< T, D > &line2)
 
template<typename T , std::size_t D>
manhattan_distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
chebyshev_distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
inverse_chebyshev_distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
bool point_in_box (const pointnd< T, D > &point, const box< T, D > &box)
 
template<typename T , std::size_t D>
bool point_in_sphere (const pointnd< T, D > &point, const hypersphere< T, D > &hypersphere)
 
template<typename T , std::size_t D>
pointnd< T, D > closest_point_on_segment_from_point (const segment< T, D > &segment, const pointnd< T, D > &point)
 
template<typename T , std::size_t D>
pointnd< T, D > closest_point_on_line_from_point (const line< T, D > &segment, const pointnd< T, D > &point)
 
template<typename T , std::size_t D>
pointnd< T, D > closest_point_on_sphere_from_point (const hypersphere< T, D > &sphere, const pointnd< T, D > &point)
 
template<typename T , std::size_t D>
pointnd< T, D > closest_point_on_plane_from_point (const plane< T, D > &plane, const pointnd< T, D > &point)
 
template<typename T , std::size_t D>
pointnd< T, D > closest_point_on_box_from_point (const box< T, D > &box, const pointnd< T, D > &point)
 
template<typename T , std::size_t D>
pointnd< T, D > project_point_t (const pointnd< T, D > &source_point, const pointnd< T, D > &destination_point, const T &t)
 
template<typename T , std::size_t D>
pointnd< T, D > project_point (const pointnd< T, D > &source_point, const pointnd< T, D > &destination_point, const T &distance)
 
template<typename T , std::size_t D>
pointnd< T, D > mirror (const pointnd< T, D > &point, const line< T, D > &mirror_axis)
 
template<typename T , std::size_t D>
segment< T, D > mirror (const segment< T, D > &segment, const line< T, D > &mirror_axis)
 
template<typename T , std::size_t D>
line< T, D > mirror (const line< T, D > &line, const wykobi::line< T, D > &mirror_axis)
 
template<typename T , std::size_t D>
box< T, D > mirror (const box< T, D > &box, const line< T, D > &mirror_axis)
 
template<typename T , std::size_t D>
triangle< T, D > mirror (const triangle< T, D > &triangle, const line< T, D > &mirror_axis)
 
template<typename T , std::size_t D>
quadix< T, D > mirror (const quadix< T, D > &quadix, const line< T, D > &mirror_axis)
 
template<typename T , std::size_t D>
hypersphere< T, D > mirror (const hypersphere< T, D > &sphere, const line< T, D > &mirror_axis)
 
template<typename T , std::size_t D>
polygon< T, D > mirror (const polygon< T, D > &polygon, const line< T, D > &mirror_axis)
 
template<typename T , std::size_t D>
segment< T, D > project_onto_axis (const pointnd< T, D > &point, const line< T, D > &axis)
 
template<typename T , std::size_t D>
segment< T, D > project_onto_axis (const triangle< T, D > &triangle, const line< T, D > &axis)
 
template<typename T , std::size_t D>
segment< T, D > project_onto_axis (const box< T, D > &box, const line< T, D > &axis)
 
template<typename T , std::size_t D>
segment< T, D > project_onto_axis (const quadix< T, D > &quadix, const line< T, D > &axis)
 
template<typename T , std::size_t D>
segment< T, D > project_onto_axis (const hypersphere< T, D > &sphere, const line< T, D > &axis)
 
template<typename T , std::size_t D>
segment< T, D > project_onto_axis (const polygon< T, D > &polygon, const line< T, D > &axis)
 
template<typename T , std::size_t D>
perimeter (const triangle< T, D > &triangle)
 
template<typename T , std::size_t D>
perimeter (const quadix< T, D > &quadix)
 
template<typename T , std::size_t D>
perimeter (const polygon< T, D > &polygon)
 
template<typename T , std::size_t D>
pointnd< T, D > generate_random_point (const segment< T, D > &segment)
 
template<typename T , std::size_t D>
pointnd< T, D > generate_random_point (const triangle< T, D > &triangle)
 
template<typename T , std::size_t D>
pointnd< T, D > generate_random_point (const quadix< T, D > &quadix)
 
template<typename T , std::size_t D>
pointnd< T, D > generate_random_point (const box< T, D > &box)
 
template<typename T , std::size_t D, typename OutputIterator >
void generate_random_points (const box< T, D > &box, const std::size_t &point_count, OutputIterator out)
 
template<typename T , std::size_t D, typename OutputIterator >
void generate_random_points (const segment< T, D > &segment, const std::size_t &point_count, OutputIterator out)
 
template<typename T , std::size_t D, typename OutputIterator >
void generate_random_points (const triangle< T, D > &triangle, const std::size_t &point_count, OutputIterator out)
 
template<typename T , std::size_t D, typename OutputIterator >
void generate_random_points (const quadix< T, D > &quadix, const std::size_t &point_count, OutputIterator out)
 
template<typename T , std::size_t D>
vector_norm (const vectornd< T, D > &v)
 
template<typename T , std::size_t D>
vectornd< T, D > normalize (const vectornd< T, D > &v)
 
template<typename T , std::size_t D>
vectornd< T, D > operator+ (const vectornd< T, D > &v1, const vectornd< T, D > &v2)
 
template<typename T , std::size_t D>
vectornd< T, D > operator- (const vectornd< T, D > &v1, const vectornd< T, D > &v2)
 
template<typename T , std::size_t D>
dot_product (const vectornd< T, D > &v1, const vectornd< T, D > &v2)
 
template<typename T , std::size_t D>
vectornd< T, D > operator* (const vectornd< T, D > &v1, const T &scale)
 
template<typename T , std::size_t D>
vectornd< T, D > operator* (const T &scale, const vectornd< T, D > &v1)
 
template<typename T , std::size_t D>
pointnd< T, D > operator* (const pointnd< T, D > &point, const T &scale)
 
template<typename T , std::size_t D>
pointnd< T, D > operator* (const T &scale, const pointnd< T, D > &point)
 
template<typename T , std::size_t D>
vectornd< T, D > operator/ (const vectornd< T, D > &v1, const T &scale)
 
template<typename T , std::size_t D>
pointnd< T, D > operator/ (const pointnd< T, D > &point, const T &scale)
 
template<typename T , std::size_t D>
pointnd< T, D > operator+ (const pointnd< T, D > &point, const vectornd< T, D > &v)
 
template<typename T , std::size_t D>
pointnd< T, D > operator+ (const vectornd< T, D > &v, const pointnd< T, D > &point)
 
template<typename T , std::size_t D>
vectornd< T, D > operator- (const pointnd< T, D > &p1, const pointnd< T, D > &p2)
 
template<typename T , std::size_t D>
pointnd< T, D > operator+ (const pointnd< T, D > &p1, const pointnd< T, D > &p2)
 
template<typename T >
operator* (const vectornd< T, 2 > &v1, const vectornd< T, 2 > &v2)
 
template<typename T >
vectornd< T, 3 > operator* (const vectornd< T, 3 > &v1, const vectornd< T, 3 > &v2)
 
template<typename T , std::size_t D>
bool operator< (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
bool operator> (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
bool operator== (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
bool is_equal (const pointnd< T, D > &point1, const pointnd< T, D > &point2, const T &epsilon)
 
template<typename T , std::size_t D>
bool is_equal (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
bool not_equal (const pointnd< T, D > &point1, const pointnd< T, D > &point2, const T &epsilon)
 
template<typename T , std::size_t D>
bool not_equal (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
pointnd< T, D > degenerate_pointnd ()
 
template<typename T , std::size_t D>
vectornd< T, D > degenerate_vectornd ()
 
template<typename T , std::size_t D>
ray< T, D > degenerate_raynd ()
 
template<typename T , std::size_t D>
line< T, D > degenerate_linend ()
 
template<typename T , std::size_t D>
segment< T, D > degenerate_segmentnd ()
 
template<typename T , std::size_t D>
triangle< T, D > degenerate_trianglend ()
 
template<typename T , std::size_t D>
quadix< T, D > degenerate_quadixnd ()
 
template<typename T , std::size_t D>
box< T, D > degenerate_box ()
 
template<typename T , std::size_t D>
hypersphere< T, D > degenerate_hypersphere ()
 
template<typename T , std::size_t D>
pointnd< T, D > positive_infinite_pointnd ()
 
template<typename T , std::size_t D>
pointnd< T, D > negative_infinite_pointnd ()
 
template<typename T , std::size_t D>
void swap (pointnd< T, D > &point1, pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
vectornd< T, D > make_vector (const pointnd< T, D > &point)
 
template<typename T , std::size_t D>
ray< T, D > make_ray (const pointnd< T, D > &origin, const vectornd< T, D > &direction)
 
template<typename T , std::size_t D>
segment< T, D > make_segment (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
line< T, D > make_line (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
box< T, D > make_box (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
triangle< T, D > make_triangle (const pointnd< T, D > &point1, const pointnd< T, D > &point2, const pointnd< T, D > &point3)
 
template<typename T , std::size_t D>
quadix< T, D > make_quadix (const pointnd< T, D > &point1, const pointnd< T, D > &point2, const pointnd< T, D > &point3, const pointnd< T, D > &point4)
 
template<typename T , std::size_t D>
hypersphere< T, D > make_sphere (const pointnd< T, D > &point, const T &radius)
 
template<typename T , std::size_t D>
hypersphere< T, D > make_sphere (const pointnd< T, D > &point1, const pointnd< T, D > &point2)
 
template<typename T , std::size_t D>
polygon< T, D > make_polygon (const std::vector< pointnd< T, D > > &point_list)
 
template<typename T , std::size_t D>
polygon< T, D > make_polygon (const triangle< T, D > &triangle)
 
template<typename T , std::size_t D>
polygon< T, D > make_polygon (const quadix< T, D > &quadix)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const point2d< Type > &point)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const point3d< Type > &point)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const vector2d< Type > &v)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const vector3d< Type > &v)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const ray< Type, 2 > &ray)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const ray< Type, 3 > &ray)
 
template<typename Type , std::size_t Dimension>
std::ostream & operator<< (std::ostream &os, const pointnd< Type, Dimension > &point)
 
template<typename Type , std::size_t Dimension>
std::ostream & operator<< (std::ostream &os, const segment< Type, Dimension > &segment)
 
template<typename Type , std::size_t Dimension>
std::ostream & operator<< (std::ostream &os, const line< Type, Dimension > &line)
 
template<typename Type , std::size_t Dimension>
std::ostream & operator<< (std::ostream &os, const triangle< Type, Dimension > &triangle)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const rectangle< Type > &rectangle)
 
template<typename Type , std::size_t Dimension>
std::ostream & operator<< (std::ostream &os, const box< Type, Dimension > &box)
 
template<typename Type , std::size_t Dimension>
std::ostream & operator<< (std::ostream &os, const quadix< Type, Dimension > &quadix)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const circle< Type > &circle)
 
template<typename Type >
std::ostream & operator<< (std::ostream &os, const sphere< Type > &sphere)
 
template<typename Type , std::size_t M, std::size_t N>
std::ostream & operator<< (std::ostream &os, const matrix< Type, M, N > &matrix)
 

Variables

const int RightHandSide = -1
 
const int LeftHandSide = +1
 
const int Clockwise = -1
 
const int CounterClockwise = +1
 
const int CollinearOrientation = 0
 
const int AboveOrientation = +1
 
const int BelowOrientation = -1
 
const int CoplanarOrientation = 0
 
const int PointInside = +1
 
const int PointOutside = -1
 
const int Cocircular = 0
 
const int Cospherical = 0
 
const int CLIP_BOTTOM = 1
 
const int CLIP_TOP = 2
 
const int CLIP_LEFT = 4
 
const int CLIP_RIGHT = 8
 
const GLfloat basic_color [14][3]
 

Typedef Documentation

◆ dbl_pnt_2d

◆ dbl_pnt_3d

◆ Float

typedef double wykobi::Float

◆ flt_pnt_2d

◆ flt_pnt_3d

◆ line2d

typedef line<Float, 2> wykobi::line2d

◆ line3d

typedef line<Float, 3> wykobi::line3d

◆ quadix2d

◆ quadix3d

◆ segment2d

◆ segment3d

◆ triangle2d

◆ triangle3d

Enumeration Type Documentation

◆ BezierType

Enumerator
eQuadraticBezier 
eCubicBezier 

◆ DrawingMode

Enumerator
eNoDraw 
eSolid 
eOutLine 

◆ eInclusion

Enumerator
eFully 
ePartially 
eOutside 
eUnknown 

◆ eTriangleType

Enumerator
etEquilateral 
etIsosceles 
etRight 
etScalene 
etObtuse 
etUnknown 

◆ geometric_type

Enumerator
ePoint2D 
ePoint3D 
eSegment2D 
eSegment3D 
eRectangle 
eBox 
eLine2D 
eLine3D 
eTriangle2D 
eTriangle3D 
eQuadix2D 
eQuadix3D 
eRay2D 
eRay3D 
eCircle 
eSphere 

Function Documentation

◆ aabb() [1/24]

template<typename T >
void wykobi::aabb ( const box< T, 3 > &  box,
T &  x1,
T &  y1,
T &  z1,
T &  x2,
T &  y2,
T &  z2 
)
inline

◆ aabb() [2/24]

template<typename T >
box<T, 3> wykobi::aabb ( const box< T, 3 > &  rectangle)
inline

◆ aabb() [3/24]

template<typename T >
rectangle<T> wykobi::aabb ( const circle< T > &  circle)
inline

◆ aabb() [4/24]

template<typename T >
void wykobi::aabb ( const circle< T > &  circle,
T &  x1,
T &  y1,
T &  x2,
T &  y2 
)
inline

◆ aabb() [5/24]

template<typename T >
rectangle<T> wykobi::aabb ( const polygon< T, 2 > &  polygon)
inline

◆ aabb() [6/24]

template<typename T >
void wykobi::aabb ( const polygon< T, 2 > &  polygon,
T &  x1,
T &  y1,
T &  x2,
T &  y2 
)
inline

◆ aabb() [7/24]

template<typename T >
box<T, 3> wykobi::aabb ( const polygon< T, 3 > &  polygon)
inline

◆ aabb() [8/24]

template<typename T >
void wykobi::aabb ( const polygon< T, 3 > &  polygon,
T &  x1,
T &  y1,
T &  z1,
T &  x2,
T &  y2,
T &  z2 
)
inline

◆ aabb() [9/24]

template<typename T >
rectangle<T> wykobi::aabb ( const quadix< T, 2 > &  quadix)
inline

◆ aabb() [10/24]

template<typename T >
void wykobi::aabb ( const quadix< T, 2 > &  quadix,
T &  x1,
T &  y1,
T &  x2,
T &  y2 
)
inline

◆ aabb() [11/24]

template<typename T >
box<T, 3> wykobi::aabb ( const quadix< T, 3 > &  quadix)
inline

◆ aabb() [12/24]

template<typename T >
void wykobi::aabb ( const quadix< T, 3 > &  quadix,
T &  x1,
T &  y1,
T &  z1,
T &  x2,
T &  y2,
T &  z2 
)
inline

◆ aabb() [13/24]

template<typename T >
rectangle<T> wykobi::aabb ( const rectangle< T > &  rectangle)
inline

◆ aabb() [14/24]

template<typename T >
void wykobi::aabb ( const rectangle< T > &  rectangle,
T &  x1,
T &  y1,
T &  x2,
T &  y2 
)
inline

◆ aabb() [15/24]

template<typename T >
rectangle<T> wykobi::aabb ( const segment< T, 2 > &  segment)
inline

◆ aabb() [16/24]

template<typename T >
void wykobi::aabb ( const segment< T, 2 > &  segment,
T &  x1,
T &  y1,
T &  x2,
T &  y2 
)
inline

◆ aabb() [17/24]

template<typename T >
box<T, 3> wykobi::aabb ( const segment< T, 3 > &  segment)
inline

◆ aabb() [18/24]

template<typename T >
void wykobi::aabb ( const segment< T, 3 > &  segment,
T &  x1,
T &  y1,
T &  z1,
T &  x2,
T &  y2,
T &  z2 
)
inline

◆ aabb() [19/24]

template<typename T >
box<T, 3> wykobi::aabb ( const sphere< T > &  sphere)
inline

◆ aabb() [20/24]

template<typename T >
void wykobi::aabb ( const sphere< T > &  sphere,
T &  x1,
T &  y1,
T &  z1,
T &  x2,
T &  y2,
T &  z2 
)
inline

◆ aabb() [21/24]

template<typename T >
rectangle<T> wykobi::aabb ( const triangle< T, 2 > &  triangle)
inline

◆ aabb() [22/24]

template<typename T >
void wykobi::aabb ( const triangle< T, 2 > &  triangle,
T &  x1,
T &  y1,
T &  x2,
T &  y2 
)
inline

◆ aabb() [23/24]

template<typename T >
box<T, 3> wykobi::aabb ( const triangle< T, 3 > &  triangle)
inline

◆ aabb() [24/24]

template<typename T >
void wykobi::aabb ( const triangle< T, 3 > &  triangle,
T &  x1,
T &  y1,
T &  z1,
T &  x2,
T &  y2,
T &  z2 
)
inline

◆ abs()

template<typename T >
T wykobi::abs ( const T &  value)
inline

◆ acos()

template<typename T >
T wykobi::acos ( const T &  value)
inline

◆ antipodal_point() [1/2]

template<typename T >
point2d<T> wykobi::antipodal_point ( const point2d< T > &  point,
const circle< T > &  circle 
)
inline

◆ antipodal_point() [2/2]

template<typename T >
point3d<T> wykobi::antipodal_point ( const point3d< T > &  point,
const sphere< T > &  sphere 
)
inline

◆ approx_cos()

template<typename T >
T wykobi::approx_cos ( angle)
inline

◆ approx_sin()

template<typename T >
T wykobi::approx_sin ( angle)
inline

◆ approx_tan()

template<typename T >
T wykobi::approx_tan ( angle)
inline

◆ are_perspective_triangles() [1/2]

template<typename T >
bool wykobi::are_perspective_triangles ( const triangle< T, 2 > &  triangle1,
const triangle< T, 2 > &  triangle2 
)
inline

◆ are_perspective_triangles() [2/2]

template<typename T >
bool wykobi::are_perspective_triangles ( const triangle< T, 3 > &  triangle1,
const triangle< T, 3 > &  triangle2 
)
inline

◆ area() [1/9]

template<typename T >
T wykobi::area ( const circle< T > &  circle)
inline

◆ area() [2/9]

template<typename T >
T wykobi::area ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ area() [3/9]

template<typename T >
T wykobi::area ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ area() [4/9]

template<typename T >
T wykobi::area ( const polygon< T, 2 > &  polygon)
inline

◆ area() [5/9]

template<typename T >
T wykobi::area ( const quadix< T, 2 > &  quadix)
inline

◆ area() [6/9]

template<typename T >
T wykobi::area ( const quadix< T, 3 > &  quadix)
inline

◆ area() [7/9]

template<typename T >
T wykobi::area ( const rectangle< T > &  rectangle)
inline

◆ area() [8/9]

template<typename T >
T wykobi::area ( const triangle< T, 2 > &  triangle)
inline

◆ area() [9/9]

template<typename T >
T wykobi::area ( const triangle< T, 3 > &  triangle)
inline

◆ asin()

template<typename T >
T wykobi::asin ( const T &  value)
inline

◆ atan()

template<typename T >
T wykobi::atan ( const T &  value)
inline

◆ bezier_convex_hull() [1/2]

template<typename T >
quadix<T, 2> wykobi::bezier_convex_hull ( const cubic_bezier< T, 2 > &  bezier)
inline

◆ bezier_convex_hull() [2/2]

template<typename T >
triangle<T, 2> wykobi::bezier_convex_hull ( const quadratic_bezier< T, 2 > &  bezier)
inline

◆ bezier_curve_length() [1/4]

template<typename T >
T wykobi::bezier_curve_length ( const cubic_bezier< T, 2 > &  bezier,
const std::size_t &  point_count 
)
inline

◆ bezier_curve_length() [2/4]

template<typename T >
T wykobi::bezier_curve_length ( const cubic_bezier< T, 3 > &  bezier,
const std::size_t &  point_count 
)
inline

◆ bezier_curve_length() [3/4]

template<typename T >
T wykobi::bezier_curve_length ( const quadratic_bezier< T, 2 > &  bezier,
const std::size_t &  point_count 
)
inline

◆ bezier_curve_length() [4/4]

template<typename T >
T wykobi::bezier_curve_length ( const quadratic_bezier< T, 3 > &  bezier,
const std::size_t &  point_count 
)
inline

◆ box_corner()

template<typename T >
point3d<T> wykobi::box_corner ( const box< T, 3 > &  box,
const std::size_t &  corner_index 
)
inline

◆ box_to_box_intersect() [1/2]

template<typename T >
bool wykobi::box_to_box_intersect ( const box< T, 3 > &  box1,
const box< T, 3 > &  box2 
)
inline

◆ box_to_box_intersect() [2/2]

template<typename T >
bool wykobi::box_to_box_intersect ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4 
)
inline

◆ box_within_box() [1/2]

template<typename T >
bool wykobi::box_within_box ( const box< T, 3 > &  box1,
const box< T, 3 > &  box2 
)
inline

◆ box_within_box() [2/2]

template<typename T >
bool wykobi::box_within_box ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4 
)
inline

◆ brocard_circle()

template<typename T >
circle<T> wykobi::brocard_circle ( const triangle< T, 2 > &  triangle)
inline

◆ calculate_bezier_coefficients() [1/8]

template<typename T >
void wykobi::calculate_bezier_coefficients ( const cubic_bezier< T, 2 > &  bezier,
bezier_coefficients< T, 2, eCubicBezier > &  coeffs 
)
inline

◆ calculate_bezier_coefficients() [2/8]

template<typename T >
void wykobi::calculate_bezier_coefficients ( const cubic_bezier< T, 2 > &  bezier,
T &  ax,
T &  bx,
T &  cx,
T &  ay,
T &  by,
T &  cy 
)
inline

◆ calculate_bezier_coefficients() [3/8]

template<typename T >
void wykobi::calculate_bezier_coefficients ( const cubic_bezier< T, 3 > &  bezier,
bezier_coefficients< T, 3, eCubicBezier > &  coeffs 
)
inline

◆ calculate_bezier_coefficients() [4/8]

template<typename T >
void wykobi::calculate_bezier_coefficients ( const cubic_bezier< T, 3 > &  bezier,
T &  ax,
T &  bx,
T &  cx,
T &  ay,
T &  by,
T &  cy,
T &  az,
T &  bz,
T &  cz 
)
inline

◆ calculate_bezier_coefficients() [5/8]

template<typename T >
void wykobi::calculate_bezier_coefficients ( const quadratic_bezier< T, 2 > &  bezier,
bezier_coefficients< T, 2, eQuadraticBezier > &  coeffs 
)
inline

◆ calculate_bezier_coefficients() [6/8]

template<typename T >
void wykobi::calculate_bezier_coefficients ( const quadratic_bezier< T, 2 > &  bezier,
T &  ax,
T &  bx,
T &  ay,
T &  by 
)
inline

◆ calculate_bezier_coefficients() [7/8]

template<typename T >
void wykobi::calculate_bezier_coefficients ( const quadratic_bezier< T, 3 > &  bezier,
bezier_coefficients< T, 3, eQuadraticBezier > &  coeffs 
)
inline

◆ calculate_bezier_coefficients() [8/8]

template<typename T >
void wykobi::calculate_bezier_coefficients ( const quadratic_bezier< T, 3 > &  bezier,
T &  ax,
T &  bx,
T &  ay,
T &  by,
T &  az,
T &  bz 
)
inline

◆ cartesian_angle() [1/4]

template<typename T >
T wykobi::cartesian_angle ( const point2d< T > &  point)
inline

◆ cartesian_angle() [2/4]

template<typename T >
T wykobi::cartesian_angle ( const point2d< T > &  point,
const point2d< T > &  origin 
)
inline

◆ cartesian_angle() [3/4]

template<typename T >
T wykobi::cartesian_angle ( const T &  x,
const T &  y 
)
inline

◆ cartesian_angle() [4/4]

template<typename T >
T wykobi::cartesian_angle ( const T &  x,
const T &  y,
const T &  ox,
const T &  oy 
)
inline

◆ center_at_location() [1/16]

template<typename T >
box<T, 3> wykobi::center_at_location ( const box< T, 3 > &  box,
const point3d< T > &  center_point 
)
inline

◆ center_at_location() [2/16]

template<typename T >
box<T, 3> wykobi::center_at_location ( const box< T, 3 > &  box,
const T &  x,
const T &  y,
const T &  z 
)
inline

◆ center_at_location() [3/16]

template<typename T >
circle<T> wykobi::center_at_location ( const circle< T > &  circle,
const point2d< T > &  center_point 
)
inline

◆ center_at_location() [4/16]

template<typename T >
circle<T> wykobi::center_at_location ( const circle< T > &  circle,
const T &  x,
const T &  y 
)
inline

◆ center_at_location() [5/16]

template<typename T >
polygon<T, 2> wykobi::center_at_location ( const polygon< T, 2 > &  polygon,
const point2d< T > &  center_point 
)
inline

◆ center_at_location() [6/16]

template<typename T >
polygon<T, 2> wykobi::center_at_location ( const polygon< T, 2 > &  polygon,
const T &  x,
const T &  y 
)
inline

◆ center_at_location() [7/16]

template<typename T >
quadix<T, 2> wykobi::center_at_location ( const quadix< T, 2 > &  quadix,
const point2d< T > &  center_point 
)
inline

◆ center_at_location() [8/16]

template<typename T >
quadix<T, 2> wykobi::center_at_location ( const quadix< T, 2 > &  quadix,
const T &  x,
const T &  y 
)
inline

◆ center_at_location() [9/16]

template<typename T >
rectangle<T> wykobi::center_at_location ( const rectangle< T > &  rectangle,
const point2d< T > &  center_point 
)
inline

◆ center_at_location() [10/16]

template<typename T >
rectangle<T> wykobi::center_at_location ( const rectangle< T > &  rectangle,
const T &  x,
const T &  y 
)
inline

◆ center_at_location() [11/16]

template<typename T >
segment<T, 2> wykobi::center_at_location ( const segment< T, 2 > &  segment,
const point2d< T > &  center_point 
)
inline

◆ center_at_location() [12/16]

template<typename T >
segment<T, 2> wykobi::center_at_location ( const segment< T, 2 > &  segment,
const T &  x,
const T &  y 
)
inline

◆ center_at_location() [13/16]

template<typename T >
segment<T, 3> wykobi::center_at_location ( const segment< T, 3 > &  segment,
const point3d< T > &  center_point 
)
inline

◆ center_at_location() [14/16]

template<typename T >
segment<T, 3> wykobi::center_at_location ( const segment< T, 3 > &  segment,
const T &  x,
const T &  y,
const T &  z 
)
inline

◆ center_at_location() [15/16]

template<typename T >
triangle<T, 2> wykobi::center_at_location ( const triangle< T, 2 > &  triangle,
const point2d< T > &  center_point 
)
inline

◆ center_at_location() [16/16]

template<typename T >
triangle<T, 2> wykobi::center_at_location ( const triangle< T, 2 > &  triangle,
const T &  x,
const T &  y 
)
inline

◆ centroid() [1/20]

template<typename T >
point3d<T> wykobi::centroid ( const box< T, 3 > &  box)
inline

◆ centroid() [2/20]

template<typename T >
void wykobi::centroid ( const box< T, 3 > &  box,
T &  x,
T &  y,
T &  z 
)
inline

◆ centroid() [3/20]

template<typename T >
point2d<T> wykobi::centroid ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ centroid() [4/20]

template<typename T >
point2d<T> wykobi::centroid ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ centroid() [5/20]

template<typename T >
point2d<T> wykobi::centroid ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4 
)
inline

◆ centroid() [6/20]

template<typename T >
point2d<T> wykobi::centroid ( const polygon< T, 2 > &  polygon)
inline

◆ centroid() [7/20]

template<typename T >
void wykobi::centroid ( const polygon< T, 2 > &  polygon,
T &  x,
T &  y 
)
inline

◆ centroid() [8/20]

template<typename T >
point2d<T> wykobi::centroid ( const quadix< T, 2 > &  quadix)
inline

◆ centroid() [9/20]

template<typename T >
void wykobi::centroid ( const quadix< T, 2 > &  quadix,
T &  x,
T &  y 
)
inline

◆ centroid() [10/20]

template<typename T >
point2d<T> wykobi::centroid ( const rectangle< T > &  rectangle)
inline

◆ centroid() [11/20]

template<typename T >
void wykobi::centroid ( const rectangle< T > &  rectangle,
T &  x,
T &  y 
)
inline

◆ centroid() [12/20]

template<typename T >
point2d<T> wykobi::centroid ( const segment< T, 2 > &  segment)
inline

◆ centroid() [13/20]

template<typename T >
void wykobi::centroid ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
T &  x,
T &  y 
)
inline

◆ centroid() [14/20]

template<typename T >
void wykobi::centroid ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
T &  x,
T &  y 
)
inline

◆ centroid() [15/20]

template<typename T >
void wykobi::centroid ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
T &  x,
T &  y 
)
inline

◆ centroid() [16/20]

template<typename T >
void wykobi::centroid ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
T &  x,
T &  y,
T &  z 
)
inline

◆ centroid() [17/20]

template<typename T >
point2d<T> wykobi::centroid ( const triangle< T, 2 > &  triangle)
inline

◆ centroid() [18/20]

template<typename T >
void wykobi::centroid ( const triangle< T, 2 > &  triangle,
T &  x,
T &  y 
)
inline

◆ centroid() [19/20]

template<typename T >
point3d<T> wykobi::centroid ( const triangle< T, 3 > &  triangle)
inline

◆ centroid() [20/20]

template<typename T >
void wykobi::centroid ( const triangle< T, 3 > &  triangle,
T &  x,
T &  y,
T &  z 
)
inline

◆ chebyshev_distance() [1/8]

template<typename T >
T wykobi::chebyshev_distance ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ chebyshev_distance() [2/8]

template<typename T >
T wykobi::chebyshev_distance ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ chebyshev_distance() [3/8]

template<typename T >
T wykobi::chebyshev_distance ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ chebyshev_distance() [4/8]

template<typename T , std::size_t D>
T wykobi::chebyshev_distance ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ chebyshev_distance() [5/8]

template<typename T >
T wykobi::chebyshev_distance ( const segment< T, 2 > &  segment)
inline

◆ chebyshev_distance() [6/8]

template<typename T >
T wykobi::chebyshev_distance ( const segment< T, 3 > &  segment)
inline

◆ chebyshev_distance() [7/8]

template<typename T >
T wykobi::chebyshev_distance ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ chebyshev_distance() [8/8]

template<typename T >
T wykobi::chebyshev_distance ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ circle_in_circle()

template<typename T >
bool wykobi::circle_in_circle ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ circle_internal_tangent_lines()

template<typename T >
void wykobi::circle_internal_tangent_lines ( const circle< T > &  circle0,
const circle< T > &  circle1,
std::vector< line< T, 2 > > &  lines 
)
inline

◆ circle_internal_tangent_segments()

template<typename T >
void wykobi::circle_internal_tangent_segments ( const circle< T > &  circle0,
const circle< T > &  circle1,
std::vector< segment< T, 2 > > &  segments 
)
inline

◆ circle_outer_tangent_lines()

template<typename T >
void wykobi::circle_outer_tangent_lines ( const circle< T > &  circle0,
const circle< T > &  circle1,
std::vector< line< T, 2 > > &  lines 
)
inline

◆ circle_outer_tangent_segments()

template<typename T >
void wykobi::circle_outer_tangent_segments ( const circle< T > &  circle0,
const circle< T > &  circle1,
std::vector< segment< T, 2 > > &  segments 
)
inline

◆ circle_tangent_points()

template<typename T >
void wykobi::circle_tangent_points ( const circle< T > &  circle,
const point2d< T > &  point,
point2d< T > &  point1,
point2d< T > &  point2 
)
inline

◆ circle_within_rectangle() [1/2]

template<typename T >
bool wykobi::circle_within_rectangle ( const circle< T > &  circle,
const rectangle< T > &  rectangle 
)
inline

◆ circle_within_rectangle() [2/2]

template<typename T >
bool wykobi::circle_within_rectangle ( const T &  x,
const T &  y,
const T &  radius,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ circumcenter() [1/6]

template<typename T >
point2d<T> wykobi::circumcenter ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ circumcenter() [2/6]

template<typename T >
point3d<T> wykobi::circumcenter ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ circumcenter() [3/6]

template<typename T >
void wykobi::circumcenter ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
T &  px,
T &  py 
)
inline

◆ circumcenter() [4/6]

template<typename T >
void wykobi::circumcenter ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
T &  px,
T &  py,
T &  pz 
)
inline

◆ circumcenter() [5/6]

template<typename T >
point2d<T> wykobi::circumcenter ( const triangle< T, 2 > &  triangle)
inline

◆ circumcenter() [6/6]

template<typename T >
point3d<T> wykobi::circumcenter ( const triangle< T, 3 > &  triangle)
inline

◆ circumcircle() [1/3]

template<typename T >
circle<T> wykobi::circumcircle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ circumcircle() [2/3]

template<typename T >
circle<T> wykobi::circumcircle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ circumcircle() [3/3]

template<typename T >
circle<T> wykobi::circumcircle ( const triangle< T, 2 > &  triangle)
inline

◆ circumsphere() [1/3]

template<typename T >
sphere<T> wykobi::circumsphere ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ circumsphere() [2/3]

template<typename T >
sphere<T> wykobi::circumsphere ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3 
)
inline

◆ circumsphere() [3/3]

template<typename T >
sphere<T> wykobi::circumsphere ( const triangle< T, 3 > &  triangle)
inline

◆ clamp()

template<typename T >
T wykobi::clamp ( const T &  value,
const T &  low,
const T &  high 
)
inline

◆ clip() [1/8]

template<typename T >
bool wykobi::clip ( const box< T, 3 > &  box1,
const box< T, 3 > &  box2,
box< T, 3 > &  cbox 
)
inline

◆ clip() [2/8]

template<typename T >
bool wykobi::clip ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2,
rectangle< T > &  crectangle 
)
inline

◆ clip() [3/8]

template<typename T >
bool wykobi::clip ( const segment< T, 2 > &  src_segment,
const circle< T > &  circle,
segment< T, 2 > &  csegment 
)
inline

◆ clip() [4/8]

template<typename T >
bool wykobi::clip ( const segment< T, 2 > &  src_segment,
const quadix< T, 2 > &  quadix,
segment< T, 2 > &  csegment 
)
inline

◆ clip() [5/8]

template<typename T >
bool wykobi::clip ( const segment< T, 2 > &  src_segment,
const rectangle< T > &  rectangle,
segment< T, 2 > &  csegment 
)
inline

◆ clip() [6/8]

template<typename T >
bool wykobi::clip ( const segment< T, 2 > &  src_segment,
const triangle< T, 2 > &  triangle,
segment< T, 2 > &  csegment 
)
inline

◆ clip() [7/8]

template<typename T >
bool wykobi::clip ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
T &  cx1,
T &  cy1,
T &  cx2,
T &  cy2 
)
inline

◆ clip() [8/8]

template<typename T >
bool wykobi::clip ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
T &  cx1,
T &  cy1,
T &  cz1,
T &  cx2,
T &  cy2,
T &  cz2 
)
inline

◆ closest_point_on_aabbb_from_point()

template<typename T >
point2d<T> wykobi::closest_point_on_aabbb_from_point ( const rectangle< T > &  rectangle,
const point2d< T > &  point 
)
inline

◆ closest_point_on_bezier_from_point() [1/4]

template<typename T >
point2d<T> wykobi::closest_point_on_bezier_from_point ( const cubic_bezier< T, 2 > &  bezier,
const point2d< T > &  point,
const std::size_t &  steps = 1000 
)
inline

◆ closest_point_on_bezier_from_point() [2/4]

template<typename T >
point3d<T> wykobi::closest_point_on_bezier_from_point ( const cubic_bezier< T, 3 > &  bezier,
const point3d< T > &  point,
const std::size_t &  steps = 1000 
)
inline

◆ closest_point_on_bezier_from_point() [3/4]

template<typename T >
point2d<T> wykobi::closest_point_on_bezier_from_point ( const quadratic_bezier< T, 2 > &  bezier,
const point2d< T > &  point,
const std::size_t &  steps = 1000 
)
inline

◆ closest_point_on_bezier_from_point() [4/4]

template<typename T >
point3d<T> wykobi::closest_point_on_bezier_from_point ( const quadratic_bezier< T, 3 > &  bezier,
const point3d< T > &  point,
const std::size_t &  steps = 1000 
)
inline

◆ closest_point_on_box_from_point() [1/5]

template<typename T >
point3d<T> wykobi::closest_point_on_box_from_point ( const box< T, 3 > &  box,
const point3d< T > &  point 
)
inline

◆ closest_point_on_box_from_point() [2/5]

template<typename T >
point3d<T> wykobi::closest_point_on_box_from_point ( const box< T, 3 > &  box,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ closest_point_on_box_from_point() [3/5]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::closest_point_on_box_from_point ( const box< T, D > &  box,
const pointnd< T, D > &  point 
)
inline

◆ closest_point_on_box_from_point() [4/5]

template<typename T >
point3d<T> wykobi::closest_point_on_box_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ closest_point_on_box_from_point() [5/5]

template<typename T >
void wykobi::closest_point_on_box_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ closest_point_on_circle_from_circle()

template<typename T >
point2d<T> wykobi::closest_point_on_circle_from_circle ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ closest_point_on_circle_from_point()

template<typename T >
point2d<T> wykobi::closest_point_on_circle_from_point ( const circle< T > &  circle,
const point2d< T > &  point 
)
inline

◆ closest_point_on_circle_from_segment()

template<typename T >
point2d<T> wykobi::closest_point_on_circle_from_segment ( const circle< T > &  circle,
const segment< T, 2 > &  segment 
)
inline

◆ closest_point_on_line_from_point() [1/7]

template<typename T >
point2d<T> wykobi::closest_point_on_line_from_point ( const line< T, 2 > &  line,
const point2d< T > &  point 
)
inline

◆ closest_point_on_line_from_point() [2/7]

template<typename T >
point3d<T> wykobi::closest_point_on_line_from_point ( const line< T, 3 > &  line,
const point3d< T > &  point 
)
inline

◆ closest_point_on_line_from_point() [3/7]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::closest_point_on_line_from_point ( const line< T, D > &  segment,
const pointnd< T, D > &  point 
)
inline

◆ closest_point_on_line_from_point() [4/7]

template<typename T >
point2d<T> wykobi::closest_point_on_line_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py 
)
inline

◆ closest_point_on_line_from_point() [5/7]

template<typename T >
void wykobi::closest_point_on_line_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py,
T &  nx,
T &  ny 
)
inline

◆ closest_point_on_line_from_point() [6/7]

template<typename T >
point3d<T> wykobi::closest_point_on_line_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ closest_point_on_line_from_point() [7/7]

template<typename T >
void wykobi::closest_point_on_line_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ closest_point_on_plane_from_point() [1/2]

template<typename T >
point3d<T> wykobi::closest_point_on_plane_from_point ( const plane< T, 3 > &  plane,
const point3d< T > &  point 
)
inline

◆ closest_point_on_plane_from_point() [2/2]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::closest_point_on_plane_from_point ( const plane< T, D > &  plane,
const pointnd< T, D > &  point 
)
inline

◆ closest_point_on_polygon_from_point()

template<typename T >
point2d<T> wykobi::closest_point_on_polygon_from_point ( const polygon< T, 2 > &  polygon,
const point2d< T > &  point 
)
inline

◆ closest_point_on_quadix_from_point() [1/3]

template<typename T >
point2d<T> wykobi::closest_point_on_quadix_from_point ( const quadix< T, 2 > &  quadix,
const point2d< T > &  point 
)
inline

◆ closest_point_on_quadix_from_point() [2/3]

template<typename T >
point2d<T> wykobi::closest_point_on_quadix_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  px,
const T &  py 
)
inline

◆ closest_point_on_quadix_from_point() [3/3]

template<typename T >
void wykobi::closest_point_on_quadix_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  px,
const T &  py,
T &  nx,
T &  ny 
)
inline

◆ closest_point_on_ray_from_point() [1/6]

template<typename T >
point2d<T> wykobi::closest_point_on_ray_from_point ( const ray< T, 2 > &  ray,
const point2d< T > &  point 
)
inline

◆ closest_point_on_ray_from_point() [2/6]

template<typename T >
point3d<T> wykobi::closest_point_on_ray_from_point ( const ray< T, 3 > &  ray,
const point3d< T > &  point 
)
inline

◆ closest_point_on_ray_from_point() [3/6]

template<typename T >
point2d<T> wykobi::closest_point_on_ray_from_point ( const T &  ox,
const T &  oy,
const T &  dx,
const T &  dy,
const T &  px,
const T &  py 
)
inline

◆ closest_point_on_ray_from_point() [4/6]

template<typename T >
void wykobi::closest_point_on_ray_from_point ( const T &  ox,
const T &  oy,
const T &  dx,
const T &  dy,
const T &  px,
const T &  py,
T &  nx,
T &  ny 
)
inline

◆ closest_point_on_ray_from_point() [5/6]

template<typename T >
point3d<T> wykobi::closest_point_on_ray_from_point ( const T &  ox,
const T &  oy,
const T &  oz,
const T &  dx,
const T &  dy,
const T &  dz,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ closest_point_on_ray_from_point() [6/6]

template<typename T >
void wykobi::closest_point_on_ray_from_point ( const T &  ox,
const T &  oy,
const T &  oz,
const T &  dx,
const T &  dy,
const T &  dz,
const T &  px,
const T &  py,
const T &  pz,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ closest_point_on_rectangle_from_point() [1/4]

template<typename T >
point2d<T> wykobi::closest_point_on_rectangle_from_point ( const rectangle< T > &  rectangle,
const point2d< T > &  point 
)
inline

◆ closest_point_on_rectangle_from_point() [2/4]

template<typename T >
point2d<T> wykobi::closest_point_on_rectangle_from_point ( const rectangle< T > &  rectangle,
const T &  px,
const T &  py 
)
inline

◆ closest_point_on_rectangle_from_point() [3/4]

template<typename T >
point2d<T> wykobi::closest_point_on_rectangle_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py 
)
inline

◆ closest_point_on_rectangle_from_point() [4/4]

template<typename T >
void wykobi::closest_point_on_rectangle_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py,
T &  nx,
T &  ny 
)
inline

◆ closest_point_on_segment_from_point() [1/7]

template<typename T >
point2d<T> wykobi::closest_point_on_segment_from_point ( const segment< T, 2 > &  segment,
const point2d< T > &  point 
)
inline

◆ closest_point_on_segment_from_point() [2/7]

template<typename T >
point3d<T> wykobi::closest_point_on_segment_from_point ( const segment< T, 3 > &  segment,
const point3d< T > &  point 
)
inline

◆ closest_point_on_segment_from_point() [3/7]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::closest_point_on_segment_from_point ( const segment< T, D > &  segment,
const pointnd< T, D > &  point 
)
inline

◆ closest_point_on_segment_from_point() [4/7]

template<typename T >
point2d<T> wykobi::closest_point_on_segment_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py 
)
inline

◆ closest_point_on_segment_from_point() [5/7]

template<typename T >
void wykobi::closest_point_on_segment_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py,
T &  nx,
T &  ny 
)
inline

◆ closest_point_on_segment_from_point() [6/7]

template<typename T >
point3d<T> wykobi::closest_point_on_segment_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ closest_point_on_segment_from_point() [7/7]

template<typename T >
void wykobi::closest_point_on_segment_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ closest_point_on_sphere_from_point() [1/2]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::closest_point_on_sphere_from_point ( const hypersphere< T, D > &  sphere,
const pointnd< T, D > &  point 
)
inline

◆ closest_point_on_sphere_from_point() [2/2]

template<typename T >
point3d<T> wykobi::closest_point_on_sphere_from_point ( const sphere< T > &  sphere,
const point3d< T > &  point 
)
inline

◆ closest_point_on_sphere_from_segment()

template<typename T >
point3d<T> wykobi::closest_point_on_sphere_from_segment ( const sphere< T > &  sphere,
const segment< T, 3 > &  segment 
)
inline

◆ closest_point_on_sphere_from_sphere()

template<typename T >
point3d<T> wykobi::closest_point_on_sphere_from_sphere ( const sphere< T > &  sphere1,
const sphere< T > &  sphere2 
)
inline

◆ closest_point_on_triangle_from_point() [1/8]

template<typename T >
point2d<T> wykobi::closest_point_on_triangle_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  px,
const T &  py 
)
inline

◆ closest_point_on_triangle_from_point() [2/8]

template<typename T >
void wykobi::closest_point_on_triangle_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  px,
const T &  py,
T &  nx,
T &  ny 
)
inline

◆ closest_point_on_triangle_from_point() [3/8]

template<typename T >
point3d<T> wykobi::closest_point_on_triangle_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ closest_point_on_triangle_from_point() [4/8]

template<typename T >
void wykobi::closest_point_on_triangle_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  px,
const T &  py,
const T &  pz,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ closest_point_on_triangle_from_point() [5/8]

template<typename T >
point2d<T> wykobi::closest_point_on_triangle_from_point ( const triangle< T, 2 > &  triangle,
const point2d< T > &  point 
)
inline

◆ closest_point_on_triangle_from_point() [6/8]

template<typename T >
point2d<T> wykobi::closest_point_on_triangle_from_point ( const triangle< T, 2 > &  triangle,
const T &  px,
const T &  py 
)
inline

◆ closest_point_on_triangle_from_point() [7/8]

template<typename T >
point3d<T> wykobi::closest_point_on_triangle_from_point ( const triangle< T, 3 > &  triangle,
const point3d< T > &  point 
)
inline

◆ closest_point_on_triangle_from_point() [8/8]

template<typename T >
point3d<T> wykobi::closest_point_on_triangle_from_point ( const triangle< T, 3 > &  triangle,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ cocircular() [1/4]

template<typename T >
bool wykobi::cocircular ( const circle< T > &  circle,
const point2d< T > &  point,
const T &  epsilon = T(Epsilon) 
)
inline

◆ cocircular() [2/4]

template<typename T >
bool wykobi::cocircular ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ cocircular() [3/4]

template<typename T >
bool wykobi::cocircular ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ cocircular() [4/4]

template<typename T >
bool wykobi::cocircular ( const triangle< T, 2 > &  triangle,
const point2d< T > &  point,
const T &  epsilon = T(Epsilon) 
)
inline

◆ collinear() [1/5]

template<typename T >
bool wykobi::collinear ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ collinear() [2/5]

template<typename T >
bool wykobi::collinear ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ collinear() [3/5]

template<typename T , std::size_t D>
bool wykobi::collinear ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2,
const pointnd< T, D > &  point3 
)
inline

◆ collinear() [4/5]

template<typename T >
bool wykobi::collinear ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  epsilon = T(Epsilon) 
)
inline

◆ collinear() [5/5]

template<typename T >
bool wykobi::collinear ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  epsilon = T(Epsilon) 
)
inline

◆ collinear_vertex()

template<typename T >
bool wykobi::collinear_vertex ( const std::size_t &  index,
const polygon< T, 2 > &  polygon 
)
inline

◆ common_center() [1/2]

template<typename T >
bool wykobi::common_center ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ common_center() [2/2]

template<typename T >
bool wykobi::common_center ( const sphere< T > &  sphere1,
const sphere< T > &  circle2 
)
inline

◆ confined_triangle_median() [1/2]

template<typename T >
line<T, 2> wykobi::confined_triangle_median ( const triangle< T, 2 > &  triangle,
const point2d< T > &  point,
const std::size_t &  median 
)
inline

◆ confined_triangle_median() [2/2]

template<typename T >
line<T, 3> wykobi::confined_triangle_median ( const triangle< T, 3 > &  triangle,
const point3d< T > &  point,
const std::size_t &  median 
)
inline

◆ convex_quadix() [1/2]

template<typename T >
bool wykobi::convex_quadix ( const quadix< T, 2 > &  quadix)
inline

◆ convex_quadix() [2/2]

template<typename T >
bool wykobi::convex_quadix ( const quadix< T, 3 > &  quadix)
inline

◆ convex_vertex()

template<typename T >
bool wykobi::convex_vertex ( const std::size_t &  index,
const polygon< T, 2 > &  polygon,
const int &  polygon_orientation = LeftHandSide 
)
inline

◆ coplanar() [1/5]

template<typename T >
bool wykobi::coplanar ( const line< T, 3 > &  line1,
const line< T, 3 > &  line2 
)
inline

◆ coplanar() [2/5]

template<typename T >
bool wykobi::coplanar ( const quadix< T, 3 > &  quadix1,
const quadix< T, 3 > &  quadix2 
)
inline

◆ coplanar() [3/5]

template<typename T >
bool wykobi::coplanar ( const ray< T, 3 > &  ray1,
const ray< T, 3 > &  ray2 
)
inline

◆ coplanar() [4/5]

template<typename T >
bool wykobi::coplanar ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2 
)
inline

◆ coplanar() [5/5]

template<typename T >
bool wykobi::coplanar ( const triangle< T, 3 > &  triangle1,
const triangle< T, 3 > &  triangle2 
)
inline

◆ cos()

template<typename T >
T wykobi::cos ( const T &  value)
inline

◆ create_anticevian_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_anticevian_triangle ( const triangle< T, 2 > &  triangle,
const point2d< T > &  point 
)
inline

◆ create_anticevian_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_anticevian_triangle ( const triangle< T, 3 > &  triangle,
const point3d< T > &  point 
)
inline

◆ create_anticomplementary_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_anticomplementary_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_anticomplementary_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_anticomplementary_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ create_antipedal_triangle()

template<typename T >
triangle<T, 2> wykobi::create_antipedal_triangle ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ create_cevian_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_cevian_triangle ( const triangle< T, 2 > &  triangle,
const point2d< T > &  point 
)
inline

◆ create_cevian_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_cevian_triangle ( const triangle< T, 3 > &  triangle,
const point3d< T > &  point 
)
inline

◆ create_circumcevian_triangle()

template<typename T >
triangle<T, 2> wykobi::create_circumcevian_triangle ( const triangle< T, 2 > &  triangle,
const point2d< T > &  point 
)
inline

◆ create_circummedial_triangle()

template<typename T >
triangle<T, 2> wykobi::create_circummedial_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_contact_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_contact_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_contact_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_contact_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ create_equilateral_quadix() [1/7]

template<typename T >
quadix<T, 2> wykobi::create_equilateral_quadix ( const point2d< T > &  center_point,
const T &  side_length 
)
inline

◆ create_equilateral_quadix() [2/7]

template<typename T >
quadix<T, 2> wykobi::create_equilateral_quadix ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ create_equilateral_quadix() [3/7]

template<typename T >
void wykobi::create_equilateral_quadix ( const point2d< T > &  point1,
const point2d< T > &  point2,
point2d< T > &  point3,
point2d< T > &  point4 
)
inline

◆ create_equilateral_quadix() [4/7]

template<typename T >
quadix<T, 2> wykobi::create_equilateral_quadix ( const segment< T, 2 > &  segment)
inline

◆ create_equilateral_quadix() [5/7]

template<typename T >
quadix<T, 2> wykobi::create_equilateral_quadix ( const T &  cx,
const T &  cy,
const T &  side_length 
)
inline

◆ create_equilateral_quadix() [6/7]

template<typename T >
quadix<T, 2> wykobi::create_equilateral_quadix ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ create_equilateral_quadix() [7/7]

template<typename T >
void wykobi::create_equilateral_quadix ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
T &  x3,
T &  y3,
T &  x4,
T &  y4 
)
inline

◆ create_equilateral_triangle() [1/6]

template<typename T >
triangle<T, 2> wykobi::create_equilateral_triangle ( const point2d< T > &  center_point,
const T &  side_length 
)
inline

◆ create_equilateral_triangle() [2/6]

template<typename T >
triangle<T, 2> wykobi::create_equilateral_triangle ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ create_equilateral_triangle() [3/6]

template<typename T >
void wykobi::create_equilateral_triangle ( const point2d< T > &  point1,
const point2d< T > &  point2,
point2d< T > &  point3 
)
inline

◆ create_equilateral_triangle() [4/6]

template<typename T >
triangle<T, 2> wykobi::create_equilateral_triangle ( const T &  cx,
const T &  cy,
const T &  side_length 
)
inline

◆ create_equilateral_triangle() [5/6]

template<typename T >
triangle<T, 2> wykobi::create_equilateral_triangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ create_equilateral_triangle() [6/6]

template<typename T >
void wykobi::create_equilateral_triangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
T &  x3,
T &  y3 
)
inline

◆ create_excentral_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_excentral_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_excentral_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_excentral_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ create_extouch_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_extouch_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_extouch_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_extouch_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ create_feuerbach_triangle()

template<typename T >
triangle<T, 2> wykobi::create_feuerbach_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_first_brocard_triangle()

template<typename T >
triangle<T, 2> wykobi::create_first_brocard_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_incentral_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_incentral_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_incentral_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_incentral_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ create_inner_napoleon_triangle()

template<typename T >
triangle<T, 2> wykobi::create_inner_napoleon_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_inner_vecten_triangle()

template<typename T >
triangle<T, 2> wykobi::create_inner_vecten_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_intouch_triangle()

template<typename T >
triangle<T, 2> wykobi::create_intouch_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_isosceles_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_isosceles_triangle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const T &  angle 
)
inline

◆ create_isosceles_triangle() [2/2]

template<typename T >
triangle<T, 2> wykobi::create_isosceles_triangle ( const segment< T, 2 > &  segment,
const T &  angle 
)
inline

◆ create_line_from_bisector() [1/4]

template<typename T >
line<T, 2> wykobi::create_line_from_bisector ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ create_line_from_bisector() [2/4]

template<typename T >
line<T, 3> wykobi::create_line_from_bisector ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ create_line_from_bisector() [3/4]

template<typename T >
line<T, 2> wykobi::create_line_from_bisector ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ create_line_from_bisector() [4/4]

template<typename T >
line<T, 3> wykobi::create_line_from_bisector ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3 
)
inline

◆ create_medial_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_medial_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_medial_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_medial_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ create_morley_triangle()

template<typename T >
triangle<T, 2> wykobi::create_morley_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_orthic_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_orthic_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_orthic_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_orthic_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ create_outer_napoleon_triangle()

template<typename T >
triangle<T, 2> wykobi::create_outer_napoleon_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_outer_vecten_triangle()

template<typename T >
triangle<T, 2> wykobi::create_outer_vecten_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ create_parallel_line_on_point() [1/2]

template<typename T >
line<T, 2> wykobi::create_parallel_line_on_point ( const line< T, 2 > &  line,
const point2d< T > &  point 
)
inline

◆ create_parallel_line_on_point() [2/2]

template<typename T >
line<T, 3> wykobi::create_parallel_line_on_point ( const line< T, 3 > &  line,
const point3d< T > &  point 
)
inline

◆ create_parallel_segment_on_point() [1/2]

template<typename T >
segment<T, 2> wykobi::create_parallel_segment_on_point ( const line< T, 2 > &  line,
const point2d< T > &  point 
)
inline

◆ create_parallel_segment_on_point() [2/2]

template<typename T >
segment<T, 3> wykobi::create_parallel_segment_on_point ( const line< T, 3 > &  line,
const point3d< T > &  point 
)
inline

◆ create_pedal_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_pedal_triangle ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ create_pedal_triangle() [2/2]

template<typename T >
triangle<T, 3> wykobi::create_pedal_triangle ( const point3d< T > &  point,
const triangle< T, 3 > &  triangle 
)
inline

◆ create_perpendicular_bisector() [1/3]

template<typename T >
line<T, 2> wykobi::create_perpendicular_bisector ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ create_perpendicular_bisector() [2/3]

template<typename T >
line<T, 2> wykobi::create_perpendicular_bisector ( const segment< T, 2 > &  segment)
inline

◆ create_perpendicular_bisector() [3/3]

template<typename T >
line<T, 2> wykobi::create_perpendicular_bisector ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ create_perpendicular_line_at_end_point()

template<typename T >
line<T, 2> wykobi::create_perpendicular_line_at_end_point ( const line< T, 2 > &  line)
inline

◆ create_point_on_bezier() [1/8]

template<typename T >
point2d<T> wykobi::create_point_on_bezier ( const point2d< T > &  start_point,
const bezier_coefficients< T, 2, eCubicBezier > &  coeffs,
const T &  t 
)
inline

◆ create_point_on_bezier() [2/8]

template<typename T >
point2d<T> wykobi::create_point_on_bezier ( const point2d< T > &  start_point,
const bezier_coefficients< T, 2, eQuadraticBezier > &  coeffs,
const T &  t 
)
inline

◆ create_point_on_bezier() [3/8]

template<typename T >
point2d<T> wykobi::create_point_on_bezier ( const point2d< T > &  start_point,
const T &  ax,
const T &  bx,
const T &  ay,
const T &  by,
const T &  t 
)
inline

◆ create_point_on_bezier() [4/8]

template<typename T >
point2d<T> wykobi::create_point_on_bezier ( const point2d< T > &  start_point,
const T &  ax,
const T &  bx,
const T &  cx,
const T &  ay,
const T &  by,
const T &  cy,
const T &  t 
)
inline

◆ create_point_on_bezier() [5/8]

template<typename T >
point3d<T> wykobi::create_point_on_bezier ( const point3d< T > &  start_point,
const bezier_coefficients< T, 3, eCubicBezier > &  coeffs,
const T &  t 
)
inline

◆ create_point_on_bezier() [6/8]

template<typename T >
point3d<T> wykobi::create_point_on_bezier ( const point3d< T > &  start_point,
const bezier_coefficients< T, 3, eQuadraticBezier > &  coeffs,
const T &  t 
)
inline

◆ create_point_on_bezier() [7/8]

template<typename T >
point3d<T> wykobi::create_point_on_bezier ( const point3d< T > &  start_point,
const T &  ax,
const T &  bx,
const T &  ay,
const T &  by,
const T &  az,
const T &  bz,
const T &  t 
)
inline

◆ create_point_on_bezier() [8/8]

template<typename T >
point3d<T> wykobi::create_point_on_bezier ( const point3d< T > &  start_point,
const T &  ax,
const T &  bx,
const T &  cx,
const T &  ay,
const T &  by,
const T &  cy,
const T &  az,
const T &  bz,
const T &  cz,
const T &  t 
)
inline

◆ create_ray_from_bisector() [1/4]

template<typename T >
ray<T, 2> wykobi::create_ray_from_bisector ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ create_ray_from_bisector() [2/4]

template<typename T >
ray<T, 3> wykobi::create_ray_from_bisector ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ create_ray_from_bisector() [3/4]

template<typename T >
ray<T, 2> wykobi::create_ray_from_bisector ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ create_ray_from_bisector() [4/4]

template<typename T >
ray<T, 3> wykobi::create_ray_from_bisector ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3 
)
inline

◆ create_right_triangle()

template<typename T >
void wykobi::create_right_triangle ( const wykobi::point2d< T > &  p1,
const wykobi::point2d< T > &  p2,
wykobi::point2d< T > &  c1,
wykobi::point2d< T > &  c2 
)
inline

◆ create_segment_from_bisector() [1/4]

template<typename T >
segment<T, 2> wykobi::create_segment_from_bisector ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ create_segment_from_bisector() [2/4]

template<typename T >
segment<T, 3> wykobi::create_segment_from_bisector ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ create_segment_from_bisector() [3/4]

template<typename T >
segment<T, 2> wykobi::create_segment_from_bisector ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ create_segment_from_bisector() [4/4]

template<typename T >
segment<T, 3> wykobi::create_segment_from_bisector ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3 
)
inline

◆ create_symmedial_triangle()

template<typename T >
triangle<T, 2> wykobi::create_symmedial_triangle ( const triangle< T, 2 > &  triangle,
const point2d< T > &  point 
)
inline

◆ create_triangle() [1/2]

template<typename T >
triangle<T, 2> wykobi::create_triangle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const T &  angle1,
const T &  angle2 
)
inline

◆ create_triangle() [2/2]

template<typename T >
triangle<T, 2> wykobi::create_triangle ( const segment< T, 2 > &  segment,
const T &  angle1,
const T &  angle2 
)
inline

◆ cyclocevian_conjugate()

template<typename T >
point2d<T> wykobi::cyclocevian_conjugate ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ degenerate_box()

template<typename T , std::size_t D>
box<T, D> wykobi::degenerate_box ( )
inline

◆ degenerate_circle()

template<typename T >
circle<T> wykobi::degenerate_circle ( )
inline

◆ degenerate_hypersphere()

template<typename T , std::size_t D>
hypersphere<T, D> wykobi::degenerate_hypersphere ( )
inline

◆ degenerate_line2d()

template<typename T >
line<T, 2> wykobi::degenerate_line2d ( )
inline

◆ degenerate_line3d()

template<typename T >
line<T, 3> wykobi::degenerate_line3d ( )
inline

◆ degenerate_linend()

template<typename T , std::size_t D>
line<T, D> wykobi::degenerate_linend ( )
inline

◆ degenerate_point2d()

template<typename T >
point2d<T> wykobi::degenerate_point2d ( )
inline

◆ degenerate_point3d()

template<typename T >
point3d<T> wykobi::degenerate_point3d ( )
inline

◆ degenerate_pointnd()

template<typename T , std::size_t D>
pointnd<T, D> wykobi::degenerate_pointnd ( )
inline

◆ degenerate_quadix2d()

template<typename T >
quadix<T, 2> wykobi::degenerate_quadix2d ( )
inline

◆ degenerate_quadix3d()

template<typename T >
quadix<T, 3> wykobi::degenerate_quadix3d ( )
inline

◆ degenerate_quadixnd()

template<typename T , std::size_t D>
quadix<T, D> wykobi::degenerate_quadixnd ( )
inline

◆ degenerate_ray2d()

template<typename T >
ray<T, 2> wykobi::degenerate_ray2d ( )
inline

◆ degenerate_ray3d()

template<typename T >
ray<T, 3> wykobi::degenerate_ray3d ( )
inline

◆ degenerate_raynd()

template<typename T , std::size_t D>
ray<T, D> wykobi::degenerate_raynd ( )
inline

◆ degenerate_rectangle()

template<typename T >
rectangle<T> wykobi::degenerate_rectangle ( )
inline

◆ degenerate_segment2d()

template<typename T >
segment<T, 2> wykobi::degenerate_segment2d ( )
inline

◆ degenerate_segment3d()

template<typename T >
segment<T, 3> wykobi::degenerate_segment3d ( )
inline

◆ degenerate_segmentnd()

template<typename T , std::size_t D>
segment<T, D> wykobi::degenerate_segmentnd ( )
inline

◆ degenerate_sphere()

template<typename T >
sphere<T> wykobi::degenerate_sphere ( )
inline

◆ degenerate_triangle2d()

template<typename T >
triangle<T, 2> wykobi::degenerate_triangle2d ( )
inline

◆ degenerate_triangle3d()

template<typename T >
triangle<T, 3> wykobi::degenerate_triangle3d ( )
inline

◆ degenerate_trianglend()

template<typename T , std::size_t D>
triangle<T, D> wykobi::degenerate_trianglend ( )
inline

◆ degenerate_vector2d()

template<typename T >
vector2d<T> wykobi::degenerate_vector2d ( )
inline

◆ degenerate_vector3d()

template<typename T >
vector3d<T> wykobi::degenerate_vector3d ( )
inline

◆ degenerate_vectornd()

template<typename T , std::size_t D>
vectornd<T, D> wykobi::degenerate_vectornd ( )
inline

◆ det() [1/4]

template<typename T >
T wykobi::det ( const matrix< T, 1, 1 > &  matrix)
inline

◆ det() [2/4]

template<typename T >
T wykobi::det ( const matrix< T, 2, 2 > &  matrix)
inline

◆ det() [3/4]

template<typename T >
T wykobi::det ( const matrix< T, 3, 3 > &  matrix)
inline

◆ det() [4/4]

template<typename T >
T wykobi::det ( const matrix< T, 4, 4 > &  matrix)
inline

◆ differing_orientation() [1/2]

template<typename T >
bool wykobi::differing_orientation ( const point2d< T > &  p1,
const point2d< T > &  p2,
const point2d< T > &  q1,
const point2d< T > &  q2 
)
inline

◆ differing_orientation() [2/2]

template<typename T >
bool wykobi::differing_orientation ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  p1x,
const T &  p1y,
const T &  p2x,
const T &  p2y 
)
inline

◆ distance() [1/37]

template<typename T >
T wykobi::distance ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ distance() [2/37]

template<typename T >
T wykobi::distance ( const curve_point< T, 2 > &  point1,
const curve_point< T, 2 > &  point2 
)
inline

◆ distance() [3/37]

template<typename T >
T wykobi::distance ( const curve_point< T, 3 > &  point1,
const curve_point< T, 3 > &  point2 
)
inline

◆ distance() [4/37]

template<typename T >
T wykobi::distance ( const line< T, 2 > &  line1,
const line< T, 2 > &  line2 
)
inline

◆ distance() [5/37]

template<typename T >
T wykobi::distance ( const line< T, 3 > &  line1,
const line< T, 3 > &  line2 
)
inline

◆ distance() [6/37]

template<typename T , std::size_t D>
T wykobi::distance ( const line< T, D > &  line1,
const line< T, D > &  line2 
)
inline

◆ distance() [7/37]

template<typename T >
T wykobi::distance ( const point2d< T > &  point,
const circle< T > &  circle 
)
inline

◆ distance() [8/37]

template<typename T >
T wykobi::distance ( const point2d< T > &  point,
const quadix< T, 2 > &  quadix 
)
inline

◆ distance() [9/37]

template<typename T >
T wykobi::distance ( const point2d< T > &  point,
const ray< T, 2 > &  ray 
)
inline

◆ distance() [10/37]

template<typename T >
T wykobi::distance ( const point2d< T > &  point,
const rectangle< T > &  rectangle 
)
inline

◆ distance() [11/37]

template<typename T >
T wykobi::distance ( const point2d< T > &  point,
const segment< T, 2 > &  segment 
)
inline

◆ distance() [12/37]

template<typename T >
T wykobi::distance ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ distance() [13/37]

template<typename T >
T wykobi::distance ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ distance() [14/37]

template<typename T >
T wykobi::distance ( const point3d< T > &  point,
const plane< T, 3 > &  plane 
)
inline

◆ distance() [15/37]

template<typename T >
T wykobi::distance ( const point3d< T > &  point,
const ray< T, 3 > &  ray 
)
inline

◆ distance() [16/37]

template<typename T >
T wykobi::distance ( const point3d< T > &  point,
const segment< T, 3 > &  segment 
)
inline

◆ distance() [17/37]

template<typename T >
T wykobi::distance ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ distance() [18/37]

template<typename T , std::size_t D>
T wykobi::distance ( const pointnd< T, D > &  point,
const line< T, D > &  line 
)
inline

◆ distance() [19/37]

template<typename T , std::size_t D>
T wykobi::distance ( const pointnd< T, D > &  point,
const segment< T, D > &  segment 
)
inline

◆ distance() [20/37]

template<typename T , std::size_t D>
T wykobi::distance ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ distance() [21/37]

template<typename T >
T wykobi::distance ( const rectangle< T > &  rectangle,
const circle< T > &  circle 
)
inline

◆ distance() [22/37]

template<typename T >
T wykobi::distance ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2 
)
inline

◆ distance() [23/37]

template<typename T >
T wykobi::distance ( const segment< T, 2 > &  segment)
inline

◆ distance() [24/37]

template<typename T >
T wykobi::distance ( const segment< T, 2 > &  segment,
const circle< T > &  circle 
)
inline

◆ distance() [25/37]

template<typename T >
T wykobi::distance ( const segment< T, 2 > &  segment,
const rectangle< T > &  rectangle 
)
inline

◆ distance() [26/37]

template<typename T >
T wykobi::distance ( const segment< T, 2 > &  segment,
const triangle< T, 2 > &  triangle 
)
inline

◆ distance() [27/37]

template<typename T >
T wykobi::distance ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2 
)
inline

◆ distance() [28/37]

template<typename T >
T wykobi::distance ( const segment< T, 3 > &  segment)
inline

◆ distance() [29/37]

template<typename T >
T wykobi::distance ( const segment< T, 3 > &  segment,
const triangle< T, 3 > &  triangle 
)
inline

◆ distance() [30/37]

template<typename T >
T wykobi::distance ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2 
)
inline

◆ distance() [31/37]

template<typename T , std::size_t D>
T wykobi::distance ( const segment< T, D > &  segment1,
const segment< T, D > &  segment2 
)
inline

◆ distance() [32/37]

template<typename T >
T wykobi::distance ( const sphere< T > &  sphere1,
const sphere< T > &  sphere2 
)
inline

◆ distance() [33/37]

template<typename T >
T wykobi::distance ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ distance() [34/37]

template<typename T >
T wykobi::distance ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ distance() [35/37]

template<typename T >
T wykobi::distance ( const triangle< T, 2 > &  triangle,
const circle< T > &  circle 
)
inline

◆ distance() [36/37]

template<typename T >
T wykobi::distance ( const triangle< T, 2 > &  triangle,
const rectangle< T > &  rectangle 
)
inline

◆ distance() [37/37]

template<typename T >
T wykobi::distance ( const triangle< T, 2 > &  triangle1,
const triangle< T, 2 > &  triangle2 
)
inline

◆ distance_from_point_to_circle_center()

template<typename T >
T wykobi::distance_from_point_to_circle_center ( const point2d< T > &  point,
const circle< T > &  circle 
)
inline

◆ distance_from_point_to_sphere_center()

template<typename T >
T wykobi::distance_from_point_to_sphere_center ( const point3d< T > &  point,
const sphere< T > &  sphere 
)
inline

◆ distance_line_to_line() [1/2]

template<typename T >
T wykobi::distance_line_to_line ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ distance_line_to_line() [2/2]

template<typename T >
T wykobi::distance_line_to_line ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4 
)
inline

◆ distance_segment_to_segment() [1/2]

template<typename T >
T wykobi::distance_segment_to_segment ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ distance_segment_to_segment() [2/2]

template<typename T >
T wykobi::distance_segment_to_segment ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4 
)
inline

◆ dot_product() [1/3]

template<typename T >
T wykobi::dot_product ( const vector2d< T > &  v1,
const vector2d< T > &  v2 
)
inline

◆ dot_product() [2/3]

template<typename T >
T wykobi::dot_product ( const vector3d< T > &  v1,
const vector3d< T > &  v2 
)
inline

◆ dot_product() [3/3]

template<typename T , std::size_t D>
T wykobi::dot_product ( const vectornd< T, D > &  v1,
const vectornd< T, D > &  v2 
)
inline

◆ edge() [1/7]

template<typename T >
segment<T, 2> wykobi::edge ( const polygon< T, 2 > &  polygon,
const std::size_t &  edge 
)
inline

◆ edge() [2/7]

template<typename T >
segment<T, 3> wykobi::edge ( const polygon< T, 3 > &  polygon,
const std::size_t &  edge 
)
inline

◆ edge() [3/7]

template<typename T >
segment<T, 2> wykobi::edge ( const quadix< T, 2 > &  quadix,
const std::size_t &  edge_index 
)
inline

◆ edge() [4/7]

template<typename T >
segment<T, 3> wykobi::edge ( const quadix< T, 3 > &  quadix,
const std::size_t &  edge_index 
)
inline

◆ edge() [5/7]

template<typename T >
segment<T, 2> wykobi::edge ( const rectangle< T > &  rectangle,
const std::size_t &  edge 
)
inline

◆ edge() [6/7]

template<typename T >
segment<T, 2> wykobi::edge ( const triangle< T, 2 > &  triangle,
const std::size_t &  edge_index 
)
inline

◆ edge() [7/7]

template<typename T >
segment<T, 3> wykobi::edge ( const triangle< T, 3 > &  triangle,
const std::size_t &  edge_index 
)
inline

◆ eigen_values()

template<typename T >
void wykobi::eigen_values ( const matrix< T, 2, 2 > &  matrix,
T &  eigen_value1,
T &  eigen_value2 
)
inline

◆ eigenvector()

template<typename T >
void wykobi::eigenvector ( const matrix< T, 2, 2 > &  matrix,
vector2d< T > &  eigenvector1,
vector2d< T > &  eigenvector2 
)
inline

◆ epsilon()

template<typename T >
T wykobi::epsilon ( )

◆ epsilon< double >()

template<>
double wykobi::epsilon< double > ( )
inline

◆ epsilon< float >()

template<>
float wykobi::epsilon< float > ( )
inline

◆ euler_line() [1/2]

template<typename T >
line<T, 2> wykobi::euler_line ( const triangle< T, 2 > &  triangle)
inline

◆ euler_line() [2/2]

template<typename T >
line<T, 3> wykobi::euler_line ( const triangle< T, 3 > &  triangle)
inline

◆ excenter() [1/2]

template<typename T >
point2d<T> wykobi::excenter ( const triangle< T, 2 > &  triangle,
const std::size_t &  corner 
)
inline

◆ excenter() [2/2]

template<typename T >
point3d<T> wykobi::excenter ( const triangle< T, 3 > &  triangle,
const std::size_t &  corner 
)
inline

◆ excircle()

template<typename T >
circle<T> wykobi::excircle ( const triangle< T, 2 > &  triangle,
const std::size_t &  i 
)
inline

◆ exmedian_point() [1/2]

template<typename T >
point2d<T> wykobi::exmedian_point ( const triangle< T, 2 > &  triangle,
const std::size_t &  corner 
)
inline

◆ exmedian_point() [2/2]

template<typename T >
point3d<T> wykobi::exmedian_point ( const triangle< T, 3 > &  triangle,
const std::size_t &  corner 
)
inline

◆ fast_rotate() [1/24]

template<typename T >
point2d<T> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const point2d< T > &  point 
)
inline

◆ fast_rotate() [2/24]

template<typename T >
point2d<T> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const point2d< T > &  point,
const point2d< T > &  opoint 
)
inline

◆ fast_rotate() [3/24]

template<typename T >
polygon<T, 2> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const polygon< T, 2 > &  polygon 
)
inline

◆ fast_rotate() [4/24]

template<typename T >
polygon<T, 2> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const polygon< T, 2 > &  polygon,
const point2d< T > &  opoint 
)
inline

◆ fast_rotate() [5/24]

template<typename T >
quadix<T, 2> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const quadix< T, 2 > &  quadix 
)
inline

◆ fast_rotate() [6/24]

template<typename T >
quadix<T, 2> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const quadix< T, 2 > &  quadix,
const point2d< T > &  opoint 
)
inline

◆ fast_rotate() [7/24]

template<typename T >
segment<T, 2> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const segment< T, 2 > &  segment 
)
inline

◆ fast_rotate() [8/24]

template<typename T >
segment<T, 2> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const segment< T, 2 > &  segment,
const point2d< T > &  opoint 
)
inline

◆ fast_rotate() [9/24]

template<typename T >
void wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const T &  x,
const T &  y,
const T &  ox,
const T &  oy,
T &  nx,
T &  ny 
)
inline

◆ fast_rotate() [10/24]

template<typename T >
void wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const T &  x,
const T &  y,
T &  nx,
T &  ny 
)
inline

◆ fast_rotate() [11/24]

template<typename T >
triangle<T, 2> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const triangle< T, 2 > &  triangle 
)
inline

◆ fast_rotate() [12/24]

template<typename T >
triangle<T, 2> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rotation_angle,
const triangle< T, 2 > &  triangle,
const point2d< T > &  opoint 
)
inline

◆ fast_rotate() [13/24]

template<typename T >
point3d<T> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const point3d< T > &  point 
)
inline

◆ fast_rotate() [14/24]

template<typename T >
point3d<T> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const point3d< T > &  point,
const point3d< T > &  opoint 
)
inline

◆ fast_rotate() [15/24]

template<typename T >
polygon<T, 3> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const polygon< T, 3 > &  polygon 
)
inline

◆ fast_rotate() [16/24]

template<typename T >
polygon<T, 3> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const polygon< T, 3 > &  polygon,
const point3d< T > &  opoint 
)
inline

◆ fast_rotate() [17/24]

template<typename T >
quadix<T, 3> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const quadix< T, 3 > &  quadix 
)
inline

◆ fast_rotate() [18/24]

template<typename T >
quadix<T, 3> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const quadix< T, 3 > &  quadix,
const point3d< T > &  opoint 
)
inline

◆ fast_rotate() [19/24]

template<typename T >
segment<T, 3> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const segment< T, 3 > &  segment 
)
inline

◆ fast_rotate() [20/24]

template<typename T >
segment<T, 3> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const segment< T, 3 > &  segment,
const point3d< T > &  opoint 
)
inline

◆ fast_rotate() [21/24]

template<typename T >
void wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const T &  x,
const T &  y,
const T &  z,
const T &  ox,
const T &  oy,
const T &  oz,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ fast_rotate() [22/24]

template<typename T >
void wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const T &  x,
const T &  y,
const T &  z,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ fast_rotate() [23/24]

template<typename T >
triangle<T, 3> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const triangle< T, 3 > &  triangle 
)
inline

◆ fast_rotate() [24/24]

template<typename T >
triangle<T, 3> wykobi::fast_rotate ( const trig_luts< T > &  lut,
const int  rx,
const int  ry,
const int  rz,
const triangle< T, 3 > &  triangle,
const point3d< T > &  opoint 
)
inline

◆ feuerbach_point()

template<typename T >
point2d<T> wykobi::feuerbach_point ( const triangle< T, 2 > &  triangle)
inline

◆ generate_bezier() [1/4]

template<typename T , typename OutputIterator >
void wykobi::generate_bezier ( const cubic_bezier< T, 2 > &  bezier,
OutputIterator  out,
const std::size_t &  point_count = 1000 
)
inline

◆ generate_bezier() [2/4]

template<typename T , typename OutputIterator >
void wykobi::generate_bezier ( const cubic_bezier< T, 3 > &  bezier,
OutputIterator  out,
const std::size_t &  point_count = 1000 
)
inline

◆ generate_bezier() [3/4]

template<typename T , typename OutputIterator >
void wykobi::generate_bezier ( const quadratic_bezier< T, 2 > &  bezier,
OutputIterator  out,
const std::size_t &  point_count = 1000 
)
inline

◆ generate_bezier() [4/4]

template<typename T , typename OutputIterator >
void wykobi::generate_bezier ( const quadratic_bezier< T, 3 > &  bezier,
OutputIterator  out,
const std::size_t &  point_count = 1000 
)
inline

◆ generate_point_on_ray() [1/2]

template<typename T >
point2d<T> wykobi::generate_point_on_ray ( const ray< T, 2 > &  ray,
const T &  t 
)
inline

◆ generate_point_on_ray() [2/2]

template<typename T >
point3d<T> wykobi::generate_point_on_ray ( const ray< T, 3 > &  ray,
const T &  t 
)
inline

◆ generate_point_on_segment() [1/2]

template<typename T >
point2d<T> wykobi::generate_point_on_segment ( const segment< T, 2 > &  segment,
const T &  t 
)
inline

◆ generate_point_on_segment() [2/2]

template<typename T >
point3d<T> wykobi::generate_point_on_segment ( const segment< T, 3 > &  segment,
const T &  t 
)
inline

◆ generate_random_object() [1/6]

template<typename T >
void wykobi::generate_random_object ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
circle< T > &  circle 
)
inline

◆ generate_random_object() [2/6]

template<typename T >
void wykobi::generate_random_object ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
quadix< T, 2 > &  quadix 
)
inline

◆ generate_random_object() [3/6]

template<typename T >
void wykobi::generate_random_object ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
rectangle< T > &  rectangle 
)
inline

◆ generate_random_object() [4/6]

template<typename T >
void wykobi::generate_random_object ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
segment< T, 2 > &  segment 
)
inline

◆ generate_random_object() [5/6]

template<typename T >
void wykobi::generate_random_object ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
triangle< T, 2 > &  triangle 
)
inline

◆ generate_random_object() [6/6]

template<typename T >
void wykobi::generate_random_object ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
box< T, 3 > &  box 
)
inline

◆ generate_random_point() [1/14]

template<typename T >
point3d<T> wykobi::generate_random_point ( const box< T, 3 > &  box)
inline

◆ generate_random_point() [2/14]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::generate_random_point ( const box< T, D > &  box)
inline

◆ generate_random_point() [3/14]

template<typename T >
point2d<T> wykobi::generate_random_point ( const quadix< T, 2 > &  quadix)
inline

◆ generate_random_point() [4/14]

template<typename T >
point3d<T> wykobi::generate_random_point ( const quadix< T, 3 > &  quadix)
inline

◆ generate_random_point() [5/14]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::generate_random_point ( const quadix< T, D > &  quadix)
inline

◆ generate_random_point() [6/14]

template<typename T >
point2d<T> wykobi::generate_random_point ( const rectangle< T > &  rectangle)
inline

◆ generate_random_point() [7/14]

template<typename T >
point2d<T> wykobi::generate_random_point ( const segment< T, 2 > &  segment)
inline

◆ generate_random_point() [8/14]

template<typename T >
point3d<T> wykobi::generate_random_point ( const segment< T, 3 > &  segment)
inline

◆ generate_random_point() [9/14]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::generate_random_point ( const segment< T, D > &  segment)
inline

◆ generate_random_point() [10/14]

template<typename T >
point2d<T> wykobi::generate_random_point ( const T &  dx,
const T &  dy 
)
inline

◆ generate_random_point() [11/14]

template<typename T >
point3d<T> wykobi::generate_random_point ( const T &  dx,
const T &  dy,
const T &  dz 
)
inline

◆ generate_random_point() [12/14]

template<typename T >
point2d<T> wykobi::generate_random_point ( const triangle< T, 2 > &  triangle)
inline

◆ generate_random_point() [13/14]

template<typename T >
point3d<T> wykobi::generate_random_point ( const triangle< T, 3 > &  triangle)
inline

◆ generate_random_point() [14/14]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::generate_random_point ( const triangle< T, D > &  triangle)
inline

◆ generate_random_points() [1/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const box< T, 3 > &  box,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [2/15]

template<typename T , std::size_t D, typename OutputIterator >
void wykobi::generate_random_points ( const box< T, D > &  box,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [3/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const circle< T > &  circle,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [4/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const quadix< T, 2 > &  quadix,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [5/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const quadix< T, 3 > &  quadix,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [6/15]

template<typename T , std::size_t D, typename OutputIterator >
void wykobi::generate_random_points ( const quadix< T, D > &  quadix,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [7/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const rectangle< T > &  rectangle,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [8/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const segment< T, 2 > &  segment,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [9/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const segment< T, 3 > &  segment,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [10/15]

template<typename T , std::size_t D, typename OutputIterator >
void wykobi::generate_random_points ( const segment< T, D > &  segment,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [11/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [12/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [13/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const triangle< T, 2 > &  triangle,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [14/15]

template<typename T , typename OutputIterator >
void wykobi::generate_random_points ( const triangle< T, 3 > &  triangle,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_points() [15/15]

template<typename T , std::size_t D, typename OutputIterator >
void wykobi::generate_random_points ( const triangle< T, D > &  triangle,
const std::size_t &  point_count,
OutputIterator  out 
)
inline

◆ generate_random_value()

template<typename T >
T wykobi::generate_random_value ( const T &  range)
inline

◆ greater_than_or_equal() [1/2]

template<typename T >
bool wykobi::greater_than_or_equal ( const T &  val1,
const T &  val2 
)
inline

◆ greater_than_or_equal() [2/2]

template<typename T >
bool wykobi::greater_than_or_equal ( const T &  val1,
const T &  val2,
const T &  epsilon 
)
inline

◆ horizontal_mirror()

template<typename T >
T wykobi::horizontal_mirror ( const T &  angle)
inline

◆ in_circle() [1/3]

template<typename T >
int wykobi::in_circle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4 
)
inline

◆ in_circle() [2/3]

template<typename T >
int wykobi::in_circle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  px,
const T &  py 
)
inline

◆ in_circle() [3/3]

template<typename T >
int wykobi::in_circle ( const triangle< T, 2 > &  triangle,
const point2d< T > &  point 
)
inline

◆ in_sphere() [1/3]

template<typename T >
int wykobi::in_sphere ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4,
const point2d< T > &  point5 
)
inline

◆ in_sphere() [2/3]

template<typename T >
int wykobi::in_sphere ( const quadix< T, 3 > &  quadix,
const point3d< T > &  point 
)
inline

◆ in_sphere() [3/3]

template<typename T >
int wykobi::in_sphere ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ incenter() [1/6]

template<typename T >
point2d<T> wykobi::incenter ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ incenter() [2/6]

template<typename T >
point3d<T> wykobi::incenter ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ incenter() [3/6]

template<typename T >
void wykobi::incenter ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
T &  px,
T &  py 
)
inline

◆ incenter() [4/6]

template<typename T >
void wykobi::incenter ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
T &  px,
T &  py,
T &  pz 
)
inline

◆ incenter() [5/6]

template<typename T >
point2d<T> wykobi::incenter ( const triangle< T, 2 > &  triangle)
inline

◆ incenter() [6/6]

template<typename T >
point3d<T> wykobi::incenter ( const triangle< T, 3 > &  triangle)
inline

◆ infinity()

template<typename T >
T wykobi::infinity ( )
inline

◆ inscribed_circle() [1/3]

template<typename T >
circle<T> wykobi::inscribed_circle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ inscribed_circle() [2/3]

template<typename T >
circle<T> wykobi::inscribed_circle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ inscribed_circle() [3/3]

template<typename T >
circle<T> wykobi::inscribed_circle ( const triangle< T, 2 > &  triangle)
inline

◆ inscribed_sphere() [1/3]

template<typename T >
sphere<T> wykobi::inscribed_sphere ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ inscribed_sphere() [2/3]

template<typename T >
sphere<T> wykobi::inscribed_sphere ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3 
)
inline

◆ inscribed_sphere() [3/3]

template<typename T >
sphere<T> wykobi::inscribed_sphere ( const triangle< T, 3 > &  triangle)
inline

◆ intersect() [1/70]

template<typename T >
bool wykobi::intersect ( const box< T, 3 > &  box,
const sphere< T > &  sphere 
)
inline

◆ intersect() [2/70]

template<typename T >
bool wykobi::intersect ( const circle< T > &  circle,
const cubic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [3/70]

template<typename T >
bool wykobi::intersect ( const circle< T > &  circle,
const quadratic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [4/70]

template<typename T >
bool wykobi::intersect ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ intersect() [5/70]

template<typename T >
bool wykobi::intersect ( const line< T, 2 > &  line,
const circle< T > &  circle 
)
inline

◆ intersect() [6/70]

template<typename T >
bool wykobi::intersect ( const line< T, 2 > &  line,
const cubic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [7/70]

template<typename T >
bool wykobi::intersect ( const line< T, 2 > &  line,
const quadix< T, 2 > &  quadix 
)
inline

◆ intersect() [8/70]

template<typename T >
bool wykobi::intersect ( const line< T, 2 > &  line,
const quadratic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [9/70]

template<typename T >
bool wykobi::intersect ( const line< T, 2 > &  line,
const triangle< T, 2 > &  triangle 
)
inline

◆ intersect() [10/70]

template<typename T >
bool wykobi::intersect ( const line< T, 2 > &  line1,
const line< T, 2 > &  line2 
)
inline

◆ intersect() [11/70]

template<typename T >
bool wykobi::intersect ( const line< T, 3 > &  line,
const cubic_bezier< T, 3 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [12/70]

template<typename T >
bool wykobi::intersect ( const line< T, 3 > &  line,
const plane< T, 3 > &  plane 
)
inline

◆ intersect() [13/70]

template<typename T >
bool wykobi::intersect ( const line< T, 3 > &  line,
const quadratic_bezier< T, 3 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [14/70]

template<typename T >
bool wykobi::intersect ( const line< T, 3 > &  line,
const sphere< T > &  sphere 
)
inline

◆ intersect() [15/70]

template<typename T >
bool wykobi::intersect ( const line< T, 3 > &  line,
const triangle< T, 3 > &  triangle 
)
inline

◆ intersect() [16/70]

template<typename T , std::size_t D>
bool wykobi::intersect ( const line< T, D > &  line1,
const line< T, D > &  line2,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersect() [17/70]

template<typename T >
bool wykobi::intersect ( const plane< T, 3 > &  plane,
const line< T, 3 > &  line 
)
inline

◆ intersect() [18/70]

template<typename T >
bool wykobi::intersect ( const plane< T, 3 > &  plane,
const sphere< T > &  sphere 
)
inline

◆ intersect() [19/70]

template<typename T >
bool wykobi::intersect ( const plane< T, 3 > &  plane1,
const plane< T, 3 > &  plane2 
)
inline

◆ intersect() [20/70]

template<typename T >
bool wykobi::intersect ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4 
)
inline

◆ intersect() [21/70]

template<typename T >
bool wykobi::intersect ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4,
point2d< T > &  int_point 
)
inline

◆ intersect() [22/70]

template<typename T >
bool wykobi::intersect ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersect() [23/70]

template<typename T >
bool wykobi::intersect ( const quadix< T, 2 > &  quadix,
const cubic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [24/70]

template<typename T >
bool wykobi::intersect ( const quadix< T, 2 > &  quadix,
const quadratic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [25/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 2 > &  ray,
const circle< T > &  circle 
)
inline

◆ intersect() [26/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 2 > &  ray,
const polygon< T, 2 > &  polygon 
)
inline

◆ intersect() [27/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 2 > &  ray,
const quadix< T, 2 > &  quadix 
)
inline

◆ intersect() [28/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 2 > &  ray,
const rectangle< T > &  rectangle 
)
inline

◆ intersect() [29/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 2 > &  ray,
const segment< T, 2 > &  segment 
)
inline

◆ intersect() [30/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 2 > &  ray,
const triangle< T, 2 > &  triangle 
)
inline

◆ intersect() [31/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 2 > &  ray1,
const ray< T, 2 > &  ray2 
)
inline

◆ intersect() [32/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 3 > &  ray,
const box< T, 3 > &  box 
)
inline

◆ intersect() [33/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 3 > &  ray,
const plane< T, 3 > &  plane 
)
inline

◆ intersect() [34/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 3 > &  ray,
const segment< T, 3 > &  segment 
)
inline

◆ intersect() [35/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 3 > &  ray,
const sphere< T > &  sphere 
)
inline

◆ intersect() [36/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 3 > &  ray,
const triangle< T, 3 > &  triangle 
)
inline

◆ intersect() [37/70]

template<typename T >
bool wykobi::intersect ( const ray< T, 3 > &  ray1,
const ray< T, 3 > &  ray2 
)
inline

◆ intersect() [38/70]

template<typename T >
bool wykobi::intersect ( const rectangle< T > &  rectangle,
const circle< T > &  circle 
)
inline

◆ intersect() [39/70]

template<typename T >
bool wykobi::intersect ( const rectangle< T > &  rectangle,
const cubic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [40/70]

template<typename T >
bool wykobi::intersect ( const rectangle< T > &  rectangle,
const quadratic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [41/70]

template<typename T >
bool wykobi::intersect ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2 
)
inline

◆ intersect() [42/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment,
const circle< T > &  circle 
)
inline

◆ intersect() [43/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment,
const cubic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [44/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment,
const line< T, 2 > &  line 
)
inline

◆ intersect() [45/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment,
const quadix< T, 2 > &  quadix 
)
inline

◆ intersect() [46/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment,
const quadratic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [47/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment,
const rectangle< T > &  rectangle 
)
inline

◆ intersect() [48/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment,
const triangle< T, 2 > &  triangle 
)
inline

◆ intersect() [49/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2 
)
inline

◆ intersect() [50/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2,
point2d< T > &  i_point 
)
inline

◆ intersect() [51/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2,
T &  ix,
T &  iy 
)
inline

◆ intersect() [52/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 3 > &  segment,
const box< T, 3 > &  box 
)
inline

◆ intersect() [53/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 3 > &  segment,
const cubic_bezier< T, 3 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [54/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 3 > &  segment,
const line< T, 3 > &  line,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersect() [55/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 3 > &  segment,
const plane< T, 3 > &  plane 
)
inline

◆ intersect() [56/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 3 > &  segment,
const quadratic_bezier< T, 3 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [57/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 3 > &  segment,
const sphere< T > &  sphere 
)
inline

◆ intersect() [58/70]

template<typename T >
bool wykobi::intersect ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersect() [59/70]

template<typename T , std::size_t D>
bool wykobi::intersect ( const segment< T, D > &  segment1,
const segment< T, D > &  segment2,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersect() [60/70]

template<typename T >
bool wykobi::intersect ( const sphere< T > &  sphere,
const cubic_bezier< T, 3 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [61/70]

template<typename T >
bool wykobi::intersect ( const sphere< T > &  sphere,
const quadratic_bezier< T, 3 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [62/70]

template<typename T >
bool wykobi::intersect ( const sphere< T > &  sphere1,
const sphere< T > &  sphere2 
)
inline

◆ intersect() [63/70]

template<typename T >
bool wykobi::intersect ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ intersect() [64/70]

template<typename T >
bool wykobi::intersect ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
T &  ix,
T &  iy 
)
inline

◆ intersect() [65/70]

template<typename T >
bool wykobi::intersect ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersect() [66/70]

template<typename T >
bool wykobi::intersect ( const triangle< T, 2 > &  triangle,
const circle< T > &  circle 
)
inline

◆ intersect() [67/70]

template<typename T >
bool wykobi::intersect ( const triangle< T, 2 > &  triangle,
const cubic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [68/70]

template<typename T >
bool wykobi::intersect ( const triangle< T, 2 > &  triangle,
const quadratic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000 
)
inline

◆ intersect() [69/70]

template<typename T >
bool wykobi::intersect ( const triangle< T, 2 > &  triangle,
const rectangle< T > &  rectangle 
)
inline

◆ intersect() [70/70]

template<typename T >
bool wykobi::intersect ( const triangle< T, 2 > &  triangle1,
const triangle< T, 2 > &  triangle2 
)
inline

◆ intersect_horizontal_horizontal()

template<typename T >
bool wykobi::intersect_horizontal_horizontal ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2 
)
inline

◆ intersect_vertical_horizontal()

template<typename T >
bool wykobi::intersect_vertical_horizontal ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2 
)
inline

◆ intersect_vertical_vertical()

template<typename T >
bool wykobi::intersect_vertical_vertical ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2 
)
inline

◆ intersection_point() [1/33]

template<typename T >
void wykobi::intersection_point ( const circle< T > &  circle1,
const circle< T > &  circle2,
point2d< T > &  point1,
point2d< T > &  point2 
)
inline

◆ intersection_point() [2/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const line< T, 2 > &  line,
const circle< T > &  circle,
OutputIterator  out 
)
inline

◆ intersection_point() [3/33]

template<typename T >
point2d<T> wykobi::intersection_point ( const line< T, 2 > &  line1,
const line< T, 2 > &  line2 
)
inline

◆ intersection_point() [4/33]

template<typename T >
point3d<T> wykobi::intersection_point ( const line< T, 3 > &  line,
const plane< T, 3 > &  plane 
)
inline

◆ intersection_point() [5/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const line< T, 3 > &  line,
const sphere< T > &  sphere,
OutputIterator  out 
)
inline

◆ intersection_point() [6/33]

template<typename T >
void wykobi::intersection_point ( const line< T, 3 > &  line,
const triangle< T, 3 > &  triangle,
point3d< T > &  ipoint 
)
inline

◆ intersection_point() [7/33]

template<typename T >
point3d<T> wykobi::intersection_point ( const line< T, 3 > &  line1,
const line< T, 3 > &  line2,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersection_point() [8/33]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::intersection_point ( const line< T, D > &  line1,
const line< T, D > &  line2,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersection_point() [9/33]

template<typename T >
point2d<T> wykobi::intersection_point ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4 
)
inline

◆ intersection_point() [10/33]

template<typename T >
void wykobi::intersection_point ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4,
T &  ix,
T &  iy 
)
inline

◆ intersection_point() [11/33]

template<typename T >
point3d<T> wykobi::intersection_point ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersection_point() [12/33]

template<typename T >
void wykobi::intersection_point ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4,
T &  ix,
T &  iy,
T &  iz,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersection_point() [13/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const ray< T, 2 > &  ray,
const circle< T > &  circle,
OutputIterator  out 
)
inline

◆ intersection_point() [14/33]

template<typename T >
point2d<T> wykobi::intersection_point ( const ray< T, 2 > &  ray1,
const ray< T, 2 > &  ray2 
)
inline

◆ intersection_point() [15/33]

template<typename T >
point3d<T> wykobi::intersection_point ( const ray< T, 3 > &  ray,
const plane< T, 3 > &  plane 
)
inline

◆ intersection_point() [16/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const ray< T, 3 > &  ray,
const sphere< T > &  sphere,
OutputIterator  out 
)
inline

◆ intersection_point() [17/33]

template<typename T >
point3d<T> wykobi::intersection_point ( const ray< T, 3 > &  ray,
const triangle< T, 3 > &  triangle 
)
inline

◆ intersection_point() [18/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const segment< T, 2 > &  segment,
const circle< T > &  circle,
OutputIterator  out 
)
inline

◆ intersection_point() [19/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const segment< T, 2 > &  segment,
const cubic_bezier< T, 2 > &  bezier,
OutputIterator  out,
const std::size_t &  steps = 1000 
)
inline

◆ intersection_point() [20/33]

template<typename T >
point2d<T> wykobi::intersection_point ( const segment< T, 2 > &  segment,
const line< T, 2 > &  line 
)
inline

◆ intersection_point() [21/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const segment< T, 2 > &  segment,
const quadratic_bezier< T, 2 > &  bezier,
OutputIterator  out,
const std::size_t &  steps = 1000 
)
inline

◆ intersection_point() [22/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const segment< T, 2 > &  segment,
const triangle< T, 2 > &  triangle,
OutputIterator  out 
)
inline

◆ intersection_point() [23/33]

template<typename T >
point2d<T> wykobi::intersection_point ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2 
)
inline

◆ intersection_point() [24/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const segment< T, 3 > &  segment,
const cubic_bezier< T, 3 > &  bezier,
OutputIterator  out,
const std::size_t &  steps = 1000 
)
inline

◆ intersection_point() [25/33]

template<typename T >
point3d<T> wykobi::intersection_point ( const segment< T, 3 > &  segment,
const line< T, 3 > &  line,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersection_point() [26/33]

template<typename T >
point3d<T> wykobi::intersection_point ( const segment< T, 3 > &  segment,
const plane< T, 3 > &  plane 
)
inline

◆ intersection_point() [27/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const segment< T, 3 > &  segment,
const quadratic_bezier< T, 3 > &  bezier,
OutputIterator  out,
const std::size_t &  steps = 1000 
)
inline

◆ intersection_point() [28/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const segment< T, 3 > &  segment,
const sphere< T > &  sphere,
OutputIterator  out 
)
inline

◆ intersection_point() [29/33]

template<typename T >
point3d<T> wykobi::intersection_point ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersection_point() [30/33]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::intersection_point ( const segment< T, D > &  segment1,
const segment< T, D > &  segment2,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersection_point() [31/33]

template<typename T , typename OutputIterator >
void wykobi::intersection_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  cx,
const T &  cy,
const T &  radius,
OutputIterator  out 
)
inline

◆ intersection_point() [32/33]

template<typename T >
void wykobi::intersection_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
T &  ix,
T &  iy 
)
inline

◆ intersection_point() [33/33]

template<typename T >
void wykobi::intersection_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
T &  ix,
T &  iy,
T &  iz,
const T &  fuzzy = T(0.0) 
)
inline

◆ intersection_point_line_to_line()

template<typename T >
void wykobi::intersection_point_line_to_line ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
T &  Ix,
T &  Iy,
T &  Iz,
const T &  fuzzy = T(0.0) 
)
inline

◆ inverse() [1/4]

template<typename T >
void wykobi::inverse ( matrix< T, 2, 2 > &  out_matrix,
const matrix< T, 2, 2 > &  in_matrix 
)
inline

◆ inverse() [2/4]

template<typename T >
void wykobi::inverse ( matrix< T, 3, 3 > &  out_matrix,
const matrix< T, 3, 3 > &  in_matrix 
)
inline

◆ inverse() [3/4]

template<typename T >
void wykobi::inverse ( matrix< T, 4, 4 > &  out_matrix,
const matrix< T, 4, 4 > &  in_matrix 
)
inline

◆ inverse() [4/4]

template<typename T , std::size_t N>
void wykobi::inverse ( matrix< T, N, N > &  out_matrix,
const matrix< T, N, N > &  in_matrix 
)
inline

◆ inverse_chebyshev_distance() [1/8]

template<typename T >
T wykobi::inverse_chebyshev_distance ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ inverse_chebyshev_distance() [2/8]

template<typename T >
T wykobi::inverse_chebyshev_distance ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ inverse_chebyshev_distance() [3/8]

template<typename T >
T wykobi::inverse_chebyshev_distance ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ inverse_chebyshev_distance() [4/8]

template<typename T , std::size_t D>
T wykobi::inverse_chebyshev_distance ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ inverse_chebyshev_distance() [5/8]

template<typename T >
T wykobi::inverse_chebyshev_distance ( const segment< T, 2 > &  segment)
inline

◆ inverse_chebyshev_distance() [6/8]

template<typename T >
T wykobi::inverse_chebyshev_distance ( const segment< T, 3 > &  segment)
inline

◆ inverse_chebyshev_distance() [7/8]

template<typename T >
T wykobi::inverse_chebyshev_distance ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ inverse_chebyshev_distance() [8/8]

template<typename T >
T wykobi::inverse_chebyshev_distance ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ invert_circle_across_circle()

template<typename T >
circle<T> wykobi::invert_circle_across_circle ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ invert_point() [1/2]

template<typename T >
point2d<T> wykobi::invert_point ( const point2d< T > &  point,
const circle< T > &  circle 
)
inline

◆ invert_point() [2/2]

template<typename T >
point3d<T> wykobi::invert_point ( const point3d< T > &  point,
const sphere< T > &  sphere 
)
inline

◆ invert_sphere_across_sphere()

template<typename T >
sphere<T> wykobi::invert_sphere_across_sphere ( const sphere< T > &  sphere1,
const sphere< T > &  sphere2 
)
inline

◆ is_convex_polygon()

template<typename T >
bool wykobi::is_convex_polygon ( const polygon< T, 2 > &  polygon)
inline

◆ is_degenerate() [1/14]

template<typename T >
bool wykobi::is_degenerate ( const circle< T > &  circle)
inline

◆ is_degenerate() [2/14]

template<typename T >
bool wykobi::is_degenerate ( const circular_arc< T > &  arc)
inline

◆ is_degenerate() [3/14]

template<typename T >
bool wykobi::is_degenerate ( const line< T, 2 > &  line)
inline

◆ is_degenerate() [4/14]

template<typename T >
bool wykobi::is_degenerate ( const line< T, 3 > &  line)
inline

◆ is_degenerate() [5/14]

template<typename T >
bool wykobi::is_degenerate ( const quadix< T, 2 > &  quadix)
inline

◆ is_degenerate() [6/14]

template<typename T >
bool wykobi::is_degenerate ( const quadix< T, 3 > &  quadix)
inline

◆ is_degenerate() [7/14]

template<typename T >
bool wykobi::is_degenerate ( const rectangle< T > &  rectangle)
inline

◆ is_degenerate() [8/14]

template<typename T >
bool wykobi::is_degenerate ( const segment< T, 2 > &  segment)
inline

◆ is_degenerate() [9/14]

template<typename T >
bool wykobi::is_degenerate ( const segment< T, 3 > &  segment)
inline

◆ is_degenerate() [10/14]

template<typename T >
bool wykobi::is_degenerate ( const sphere< T > &  sphere)
inline

◆ is_degenerate() [11/14]

template<typename T >
bool wykobi::is_degenerate ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ is_degenerate() [12/14]

template<typename T >
bool wykobi::is_degenerate ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ is_degenerate() [13/14]

template<typename T >
bool wykobi::is_degenerate ( const triangle< T, 2 > &  triangle)
inline

◆ is_degenerate() [14/14]

template<typename T >
bool wykobi::is_degenerate ( const triangle< T, 3 > &  triangle)
inline

◆ is_equal() [1/12]

template<typename T >
bool wykobi::is_equal ( const box< T, 3 > &  box1,
const box< T, 3 > &  box2 
)
inline

◆ is_equal() [2/12]

template<typename T >
bool wykobi::is_equal ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ is_equal() [3/12]

template<typename T >
bool wykobi::is_equal ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ is_equal() [4/12]

template<typename T >
bool wykobi::is_equal ( const point2d< T > &  point1,
const point2d< T > &  point2,
const T &  epsilon 
)
inline

◆ is_equal() [5/12]

template<typename T >
bool wykobi::is_equal ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ is_equal() [6/12]

template<typename T >
bool wykobi::is_equal ( const point3d< T > &  point1,
const point3d< T > &  point2,
const T &  epsilon 
)
inline

◆ is_equal() [7/12]

template<typename T , std::size_t D>
bool wykobi::is_equal ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ is_equal() [8/12]

template<typename T , std::size_t D>
bool wykobi::is_equal ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2,
const T &  epsilon 
)
inline

◆ is_equal() [9/12]

template<typename T >
bool wykobi::is_equal ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2 
)
inline

◆ is_equal() [10/12]

template<typename T >
bool wykobi::is_equal ( const sphere< T > &  sphere1,
const sphere< T > &  sphere2 
)
inline

◆ is_equal() [11/12]

template<typename T >
bool wykobi::is_equal ( const T &  val1,
const T &  val2 
)
inline

◆ is_equal() [12/12]

template<typename T >
bool wykobi::is_equal ( const T &  val1,
const T &  val2,
const T &  epsilon 
)
inline

◆ is_equilateral_triangle() [1/2]

template<typename T >
bool wykobi::is_equilateral_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ is_equilateral_triangle() [2/2]

template<typename T >
bool wykobi::is_equilateral_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ is_isosceles_triangle() [1/2]

template<typename T >
bool wykobi::is_isosceles_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ is_isosceles_triangle() [2/2]

template<typename T >
bool wykobi::is_isosceles_triangle ( const triangle< T, 3 > &  triangle)
inline

◆ is_point_collinear() [1/8]

template<typename T >
bool wykobi::is_point_collinear ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const bool  robust = false 
)
inline

◆ is_point_collinear() [2/8]

template<typename T >
bool wykobi::is_point_collinear ( const point2d< T > &  point1,
const point2d< T > &  point2,
const T &  px,
const T &  py,
const bool  robust = false 
)
inline

◆ is_point_collinear() [3/8]

template<typename T >
bool wykobi::is_point_collinear ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const bool  robust = false 
)
inline

◆ is_point_collinear() [4/8]

template<typename T >
bool wykobi::is_point_collinear ( const segment< T, 2 > &  segment,
const point2d< T > &  point,
const bool  robust = false 
)
inline

◆ is_point_collinear() [5/8]

template<typename T >
bool wykobi::is_point_collinear ( const segment< T, 3 > &  segment,
const point3d< T > &  point,
const bool  robust = false 
)
inline

◆ is_point_collinear() [6/8]

template<typename T , std::size_t D>
bool wykobi::is_point_collinear ( const segment< T, D > &  segment,
const pointnd< T, D > &  point,
const bool  robust = false 
)
inline

◆ is_point_collinear() [7/8]

template<typename T >
bool wykobi::is_point_collinear ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py,
const bool  robust = false 
)
inline

◆ is_point_collinear() [8/8]

template<typename T >
bool wykobi::is_point_collinear ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz,
const bool  robust = false 
)
inline

◆ is_right_triangle() [1/2]

template<typename T >
bool wykobi::is_right_triangle ( const wykobi::triangle< T, 2 > &  triangle)
inline

◆ is_right_triangle() [2/2]

template<typename T >
bool wykobi::is_right_triangle ( const wykobi::triangle< T, 3 > &  triangle)
inline

◆ is_skinny_triangle() [1/3]

template<typename T >
bool wykobi::is_skinny_triangle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ is_skinny_triangle() [2/3]

template<typename T >
bool wykobi::is_skinny_triangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ is_skinny_triangle() [3/3]

template<typename T >
bool wykobi::is_skinny_triangle ( const triangle< T, 2 > &  triangle)
inline

◆ is_tangent()

template<typename T >
bool wykobi::is_tangent ( const segment< T, 2 > &  segment,
const circle< T > &  circle 
)
inline

◆ isogonal_conjugate() [1/2]

template<typename T >
point2d<T> wykobi::isogonal_conjugate ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ isogonal_conjugate() [2/2]

template<typename T >
point3d<T> wykobi::isogonal_conjugate ( const point3d< T > &  point,
const triangle< T, 3 > &  triangle 
)
inline

◆ lay_distance() [1/21]

template<typename T >
T wykobi::lay_distance ( const line< T, 3 > &  line1,
const line< T, 3 > &  line2 
)
inline

◆ lay_distance() [2/21]

template<typename T , std::size_t D>
T wykobi::lay_distance ( const line< T, D > &  line1,
const line< T, D > &  line2 
)
inline

◆ lay_distance() [3/21]

template<typename T >
T wykobi::lay_distance ( const point2d< T > &  point,
const quadix< T, 2 > &  triangle 
)
inline

◆ lay_distance() [4/21]

template<typename T >
T wykobi::lay_distance ( const point2d< T > &  point,
const ray< T, 2 > &  ray 
)
inline

◆ lay_distance() [5/21]

template<typename T >
T wykobi::lay_distance ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ lay_distance() [6/21]

template<typename T >
T wykobi::lay_distance ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ lay_distance() [7/21]

template<typename T >
T wykobi::lay_distance ( const point3d< T > &  point,
const plane< T, 3 > &  plane 
)
inline

◆ lay_distance() [8/21]

template<typename T >
T wykobi::lay_distance ( const point3d< T > &  point,
const ray< T, 3 > &  ray 
)
inline

◆ lay_distance() [9/21]

template<typename T >
T wykobi::lay_distance ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ lay_distance() [10/21]

template<typename T , std::size_t D>
T wykobi::lay_distance ( const pointnd< T, D > &  point,
const line< T, D > &  line 
)
inline

◆ lay_distance() [11/21]

template<typename T , std::size_t D>
T wykobi::lay_distance ( const pointnd< T, D > &  point,
const segment< T, D > &  segment 
)
inline

◆ lay_distance() [12/21]

template<typename T , std::size_t D>
T wykobi::lay_distance ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ lay_distance() [13/21]

template<typename T >
T wykobi::lay_distance ( const segment< T, 2 > &  segment)
inline

◆ lay_distance() [14/21]

template<typename T >
T wykobi::lay_distance ( const segment< T, 2 > &  segment,
const triangle< T, 2 > &  triangle 
)
inline

◆ lay_distance() [15/21]

template<typename T >
T wykobi::lay_distance ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2 
)
inline

◆ lay_distance() [16/21]

template<typename T >
T wykobi::lay_distance ( const segment< T, 3 > &  segment)
inline

◆ lay_distance() [17/21]

template<typename T >
T wykobi::lay_distance ( const segment< T, 3 > &  segment,
const triangle< T, 3 > &  triangle 
)
inline

◆ lay_distance() [18/21]

template<typename T >
T wykobi::lay_distance ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2 
)
inline

◆ lay_distance() [19/21]

template<typename T , std::size_t D>
T wykobi::lay_distance ( const segment< T, D > &  segment1,
const segment< T, D > &  segment2 
)
inline

◆ lay_distance() [20/21]

template<typename T >
T wykobi::lay_distance ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ lay_distance() [21/21]

template<typename T >
T wykobi::lay_distance ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ lay_distance_from_point_to_circle_center()

template<typename T >
T wykobi::lay_distance_from_point_to_circle_center ( const point2d< T > &  point,
const circle< T > &  circle 
)
inline

◆ lay_distance_from_point_to_sphere_center()

template<typename T >
T wykobi::lay_distance_from_point_to_sphere_center ( const point3d< T > &  point,
const sphere< T > &  sphere 
)
inline

◆ lay_distance_line_to_line() [1/2]

template<typename T >
T wykobi::lay_distance_line_to_line ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ lay_distance_line_to_line() [2/2]

template<typename T >
T wykobi::lay_distance_line_to_line ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4 
)
inline

◆ lay_distance_segment_to_segment() [1/2]

template<typename T >
T wykobi::lay_distance_segment_to_segment ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ lay_distance_segment_to_segment() [2/2]

template<typename T >
T wykobi::lay_distance_segment_to_segment ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4 
)
inline

◆ lengthen_segment() [1/4]

template<typename T >
segment<T, 2> wykobi::lengthen_segment ( const segment< T, 2 > &  segment,
const T &  amount 
)
inline

◆ lengthen_segment() [2/4]

template<typename T >
segment<T, 3> wykobi::lengthen_segment ( const segment< T, 3 > &  segment,
const T &  amount 
)
inline

◆ lengthen_segment() [3/4]

template<typename T >
void wykobi::lengthen_segment ( T &  x1,
T &  y1,
T &  x2,
T &  y2,
const T &  amount 
)
inline

◆ lengthen_segment() [4/4]

template<typename T >
void wykobi::lengthen_segment ( T &  x1,
T &  y1,
T &  z1,
T &  x2,
T &  y2,
T &  z2,
const T &  amount 
)
inline

◆ less_than_or_equal() [1/2]

template<typename T >
bool wykobi::less_than_or_equal ( const T &  val1,
const T &  val2 
)
inline

◆ less_than_or_equal() [2/2]

template<typename T >
bool wykobi::less_than_or_equal ( const T &  val1,
const T &  val2,
const T &  epsilon 
)
inline

◆ line_to_line_intersect() [1/2]

template<typename T >
bool wykobi::line_to_line_intersect ( const line< T, 2 > &  line1,
const line< T, 2 > &  line2 
)
inline

◆ line_to_line_intersect() [2/2]

template<typename T >
bool wykobi::line_to_line_intersect ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ make_box() [1/3]

template<typename T >
box<T, 3> wykobi::make_box ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ make_box() [2/3]

template<typename T , std::size_t D>
box<T, D> wykobi::make_box ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ make_box() [3/3]

template<typename T >
box<T, 3> wykobi::make_box ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ make_circle() [1/5]

template<typename T >
circle<T> wykobi::make_circle ( const point2d< T > &  point,
const T &  radius 
)
inline

◆ make_circle() [2/5]

template<typename T >
circle<T> wykobi::make_circle ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ make_circle() [3/5]

template<typename T >
circle<T> wykobi::make_circle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ make_circle() [4/5]

template<typename T >
circle<T> wykobi::make_circle ( const T &  x,
const T &  y,
const T &  radius 
)
inline

◆ make_circle() [5/5]

template<typename T >
circle<T> wykobi::make_circle ( const triangle< T, 2 > &  triangle)
inline

◆ make_curve_point() [1/4]

template<typename T >
curve_point<T, 2> wykobi::make_curve_point ( const point2d< T > &  point,
const T &  t 
)
inline

◆ make_curve_point() [2/4]

template<typename T >
curve_point<T, 3> wykobi::make_curve_point ( const point3d< T > &  point,
const T &  t 
)
inline

◆ make_curve_point() [3/4]

template<typename T >
curve_point<T, 2> wykobi::make_curve_point ( const T &  x,
const T &  y,
const T &  t 
)
inline

◆ make_curve_point() [4/4]

template<typename T >
curve_point<T, 3> wykobi::make_curve_point ( const T &  x,
const T &  y,
const T &  z,
const T &  t 
)
inline

◆ make_line() [1/9]

template<typename T >
line<T, 2> wykobi::make_line ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ make_line() [2/9]

template<typename T >
line<T, 3> wykobi::make_line ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ make_line() [3/9]

template<typename T , std::size_t D>
line<T, D> wykobi::make_line ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ make_line() [4/9]

template<typename T >
line<T, 2> wykobi::make_line ( const ray< T, 2 > &  ray)
inline

◆ make_line() [5/9]

template<typename T >
line<T, 3> wykobi::make_line ( const ray< T, 3 > &  ray)
inline

◆ make_line() [6/9]

template<typename T >
line<T, 2> wykobi::make_line ( const segment< T, 2 > &  segment)
inline

◆ make_line() [7/9]

template<typename T >
line<T, 3> wykobi::make_line ( const segment< T, 3 > &  segment)
inline

◆ make_line() [8/9]

template<typename T >
line<T, 2> wykobi::make_line ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ make_line() [9/9]

template<typename T >
line<T, 3> wykobi::make_line ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ make_plane() [1/5]

template<typename T >
plane<T, 3> wykobi::make_plane ( const point3d< T > &  point,
const vector3d< T > &  normal 
)
inline

◆ make_plane() [2/5]

template<typename T >
plane<T, 3> wykobi::make_plane ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ make_plane() [3/5]

template<typename T >
plane<T, 3> wykobi::make_plane ( const T &  px,
const T &  py,
const T &  pz,
const T &  nx,
const T &  ny,
const T &  nz 
)
inline

◆ make_plane() [4/5]

template<typename T >
plane<T, 3> wykobi::make_plane ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3 
)
inline

◆ make_plane() [5/5]

template<typename T >
plane<T, 3> wykobi::make_plane ( const triangle< T, 3 > &  triangle)
inline

◆ make_point() [1/6]

template<typename T >
point2d<T> wykobi::make_point ( const circle< T > &  circle)
inline

◆ make_point() [2/6]

template<typename T >
point3d<T> wykobi::make_point ( const point2d< T >  point,
const T &  z = T(0.0) 
)
inline

◆ make_point() [3/6]

template<typename T >
point2d<T> wykobi::make_point ( const point3d< T >  point)
inline

◆ make_point() [4/6]

template<typename T >
point3d<T> wykobi::make_point ( const sphere< T > &  sphere)
inline

◆ make_point() [5/6]

template<typename T >
point2d<T> wykobi::make_point ( const T &  x,
const T &  y 
)
inline

◆ make_point() [6/6]

template<typename T >
point3d<T> wykobi::make_point ( const T &  x,
const T &  y,
const T &  z 
)
inline

◆ make_polygon() [1/10]

template<typename T >
polygon<T, 2> wykobi::make_polygon ( const circle< T > &  circle,
const unsigned int  point_count = 360 
)
inline

◆ make_polygon() [2/10]

template<typename T , std::size_t D, typename InputIterator >
polygon<T, D> wykobi::make_polygon ( const InputIterator  begin,
const InputIterator  end 
)
inline

◆ make_polygon() [3/10]

template<typename T >
polygon<T, 2> wykobi::make_polygon ( const quadix< T, 2 > &  quadix)
inline

◆ make_polygon() [4/10]

template<typename T , std::size_t D>
polygon<T, D> wykobi::make_polygon ( const quadix< T, D > &  quadix)
inline

◆ make_polygon() [5/10]

template<typename T >
polygon<T, 2> wykobi::make_polygon ( const rectangle< T > &  rectangle)
inline

◆ make_polygon() [6/10]

template<typename T >
polygon<T, 2> wykobi::make_polygon ( const std::vector< point2d< T > > &  point_list)
inline

◆ make_polygon() [7/10]

template<typename T >
polygon<T, 3> wykobi::make_polygon ( const std::vector< point3d< T > > &  point_list)
inline

◆ make_polygon() [8/10]

template<typename T , std::size_t D>
polygon<T, D> wykobi::make_polygon ( const std::vector< pointnd< T, D > > &  point_list)
inline

◆ make_polygon() [9/10]

template<typename T >
polygon<T, 2> wykobi::make_polygon ( const triangle< T, 2 > &  triangle)
inline

◆ make_polygon() [10/10]

template<typename T , std::size_t D>
polygon<T, D> wykobi::make_polygon ( const triangle< T, D > &  triangle)
inline

◆ make_quadix() [1/7]

template<typename T >
quadix<T, 2> wykobi::make_quadix ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4 
)
inline

◆ make_quadix() [2/7]

template<typename T >
quadix<T, 3> wykobi::make_quadix ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4 
)
inline

◆ make_quadix() [3/7]

template<typename T , std::size_t D>
quadix<T, D> wykobi::make_quadix ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2,
const pointnd< T, D > &  point3,
const pointnd< T, D > &  point4 
)
inline

◆ make_quadix() [4/7]

template<typename T >
quadix<T, 2> wykobi::make_quadix ( const rectangle< T > &  rectangle)
inline

◆ make_quadix() [5/7]

template<typename T >
quadix<T, 2> wykobi::make_quadix ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ make_quadix() [6/7]

template<typename T >
quadix<T, 2> wykobi::make_quadix ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ make_quadix() [7/7]

template<typename T >
quadix<T, 3> wykobi::make_quadix ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4 
)
inline

◆ make_ray() [1/6]

template<typename T >
ray<T, 2> wykobi::make_ray ( const point2d< T > &  origin,
const T &  bearing 
)
inline

◆ make_ray() [2/6]

template<typename T >
ray<T, 2> wykobi::make_ray ( const point2d< T > &  origin,
const vector2d< T > &  direction 
)
inline

◆ make_ray() [3/6]

template<typename T >
ray<T, 3> wykobi::make_ray ( const point3d< T > &  origin,
const vector3d< T > &  direction 
)
inline

◆ make_ray() [4/6]

template<typename T , std::size_t D>
ray<T, D> wykobi::make_ray ( const pointnd< T, D > &  origin,
const vectornd< T, D > &  direction 
)
inline

◆ make_ray() [5/6]

template<typename T >
ray<T, 2> wykobi::make_ray ( const T &  ox,
const T &  oy,
const T &  dir_x,
const T &  dir_y 
)
inline

◆ make_ray() [6/6]

template<typename T >
ray<T, 3> wykobi::make_ray ( const T &  ox,
const T &  oy,
const T &  oz,
const T &  dir_x,
const T &  dir_y,
const T &  dir_z 
)
inline

◆ make_rectangle() [1/2]

template<typename T >
rectangle<T> wykobi::make_rectangle ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ make_rectangle() [2/2]

template<typename T >
rectangle<T> wykobi::make_rectangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ make_segment() [1/7]

template<typename T >
segment<T, 2> wykobi::make_segment ( const line< T, 2 > &  line)
inline

◆ make_segment() [2/7]

template<typename T >
segment<T, 3> wykobi::make_segment ( const line< T, 3 > &  line)
inline

◆ make_segment() [3/7]

template<typename T >
segment<T, 2> wykobi::make_segment ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ make_segment() [4/7]

template<typename T >
segment<T, 3> wykobi::make_segment ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ make_segment() [5/7]

template<typename T , std::size_t D>
segment<T, D> wykobi::make_segment ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ make_segment() [6/7]

template<typename T >
segment<T, 2> wykobi::make_segment ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ make_segment() [7/7]

template<typename T >
segment<T, 3> wykobi::make_segment ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ make_sphere() [1/5]

template<typename T >
sphere<T> wykobi::make_sphere ( const point3d< T > &  point,
const T &  radius 
)
inline

◆ make_sphere() [2/5]

template<typename T >
sphere<T> wykobi::make_sphere ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ make_sphere() [3/5]

template<typename T , std::size_t D>
hypersphere<T, D> wykobi::make_sphere ( const pointnd< T, D > &  point,
const T &  radius 
)
inline

◆ make_sphere() [4/5]

template<typename T , std::size_t D>
hypersphere<T, D> wykobi::make_sphere ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ make_sphere() [5/5]

template<typename T >
sphere<T> wykobi::make_sphere ( const T &  x,
const T &  y,
const T &  z,
const T &  radius 
)
inline

◆ make_triangle() [1/5]

template<typename T >
triangle<T, 2> wykobi::make_triangle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ make_triangle() [2/5]

template<typename T >
triangle<T, 3> wykobi::make_triangle ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ make_triangle() [3/5]

template<typename T , std::size_t D>
triangle<T, D> wykobi::make_triangle ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2,
const pointnd< T, D > &  point3 
)
inline

◆ make_triangle() [4/5]

template<typename T >
triangle<T, 2> wykobi::make_triangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ make_triangle() [5/5]

template<typename T >
triangle<T, 3> wykobi::make_triangle ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3 
)
inline

◆ make_vector() [1/7]

template<typename T >
vector2d<T> wykobi::make_vector ( const point2d< T >  point)
inline

◆ make_vector() [2/7]

template<typename T >
vector3d<T> wykobi::make_vector ( const point3d< T >  point)
inline

◆ make_vector() [3/7]

template<typename T , std::size_t D>
vectornd<T, D> wykobi::make_vector ( const pointnd< T, D > &  point)
inline

◆ make_vector() [4/7]

template<typename T >
vector2d<T> wykobi::make_vector ( const T &  x,
const T &  y 
)
inline

◆ make_vector() [5/7]

template<typename T >
vector3d<T> wykobi::make_vector ( const T &  x,
const T &  y,
const T &  z 
)
inline

◆ make_vector() [6/7]

template<typename T >
vector3d<T> wykobi::make_vector ( const vector2d< T >  v,
const T &  z = T(0.0) 
)
inline

◆ make_vector() [7/7]

template<typename T >
vector2d<T> wykobi::make_vector ( const vector3d< T >  v)
inline

◆ mandart_circle()

template<typename T >
circle<T> wykobi::mandart_circle ( const triangle< T, 2 > &  triangle)
inline

◆ manhattan_distance() [1/10]

template<typename T >
T wykobi::manhattan_distance ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ manhattan_distance() [2/10]

template<typename T >
T wykobi::manhattan_distance ( const point2d< T > &  point,
const ray< T, 2 > &  ray 
)
inline

◆ manhattan_distance() [3/10]

template<typename T >
T wykobi::manhattan_distance ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ manhattan_distance() [4/10]

template<typename T >
T wykobi::manhattan_distance ( const point3d< T > &  point,
const ray< T, 3 > &  ray 
)
inline

◆ manhattan_distance() [5/10]

template<typename T >
T wykobi::manhattan_distance ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ manhattan_distance() [6/10]

template<typename T , std::size_t D>
T wykobi::manhattan_distance ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ manhattan_distance() [7/10]

template<typename T >
T wykobi::manhattan_distance ( const segment< T, 2 > &  segment)
inline

◆ manhattan_distance() [8/10]

template<typename T >
T wykobi::manhattan_distance ( const segment< T, 3 > &  segment)
inline

◆ manhattan_distance() [9/10]

template<typename T >
T wykobi::manhattan_distance ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ manhattan_distance() [10/10]

template<typename T >
T wykobi::manhattan_distance ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ max() [1/2]

template<typename T >
T wykobi::max ( const T &  value1,
const T &  value2 
)
inline

◆ max() [2/2]

template<typename T >
T wykobi::max ( const T &  value1,
const T &  value2,
const T &  value3 
)
inline

◆ min() [1/2]

template<typename T >
T wykobi::min ( const T &  value1,
const T &  value2 
)
inline

◆ min() [2/2]

template<typename T >
T wykobi::min ( const T &  value1,
const T &  value2,
const T &  value3 
)
inline

◆ minimum_distance_from_point_to_line() [1/4]

template<typename T >
T wykobi::minimum_distance_from_point_to_line ( const point2d< T > &  point,
const line< T, 2 > &  line 
)
inline

◆ minimum_distance_from_point_to_line() [2/4]

template<typename T >
T wykobi::minimum_distance_from_point_to_line ( const point3d< T > &  point,
const line< T, 3 > &  line 
)
inline

◆ minimum_distance_from_point_to_line() [3/4]

template<typename T >
T wykobi::minimum_distance_from_point_to_line ( const T &  px,
const T &  py,
const T &  pz,
const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ minimum_distance_from_point_to_line() [4/4]

template<typename T >
T wykobi::minimum_distance_from_point_to_line ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ minimum_distance_from_point_to_rectangle() [1/2]

template<typename T >
T wykobi::minimum_distance_from_point_to_rectangle ( const point2d< T > &  point,
const rectangle< T > &  rectangle 
)
inline

◆ minimum_distance_from_point_to_rectangle() [2/2]

template<typename T >
T wykobi::minimum_distance_from_point_to_rectangle ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ minimum_distance_from_point_to_segment() [1/4]

template<typename T >
T wykobi::minimum_distance_from_point_to_segment ( const point2d< T > &  point,
const segment< T, 2 > &  segment 
)
inline

◆ minimum_distance_from_point_to_segment() [2/4]

template<typename T >
T wykobi::minimum_distance_from_point_to_segment ( const point3d< T > &  point,
const segment< T, 3 > &  segment 
)
inline

◆ minimum_distance_from_point_to_segment() [3/4]

template<typename T >
T wykobi::minimum_distance_from_point_to_segment ( const T &  px,
const T &  py,
const T &  pz,
const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ minimum_distance_from_point_to_segment() [4/4]

template<typename T >
T wykobi::minimum_distance_from_point_to_segment ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ minimum_distance_from_point_to_triangle() [1/2]

template<typename T >
T wykobi::minimum_distance_from_point_to_triangle ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ minimum_distance_from_point_to_triangle() [2/2]

template<typename T >
T wykobi::minimum_distance_from_point_to_triangle ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ minkowski_difference() [1/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const circle< T > &  triangle,
const circle< T > &  circle 
)
inline

◆ minkowski_difference() [2/12]

template<typename T >
point2d<T> wykobi::minkowski_difference ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ minkowski_difference() [3/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const polygon< T, 2 > &  polygon1,
const polygon< T, 2 > &  polygon2 
)
inline

◆ minkowski_difference() [4/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const quadix< T, 2 > &  quadix,
const circle< T > &  circle 
)
inline

◆ minkowski_difference() [5/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const quadix< T, 2 > &  quadix,
const rectangle< T > &  rectangle 
)
inline

◆ minkowski_difference() [6/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const quadix< T, 2 > &  quadix1,
const quadix< T, 2 > &  quadix2 
)
inline

◆ minkowski_difference() [7/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const rectangle< T > &  rectangle,
const circle< T > &  circle 
)
inline

◆ minkowski_difference() [8/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2 
)
inline

◆ minkowski_difference() [9/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const triangle< T, 2 > &  triangle,
const circle< T > &  circle 
)
inline

◆ minkowski_difference() [10/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const triangle< T, 2 > &  triangle,
const quadix< T, 2 > &  quadix 
)
inline

◆ minkowski_difference() [11/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const triangle< T, 2 > &  triangle,
const rectangle< T > &  rectangle 
)
inline

◆ minkowski_difference() [12/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_difference ( const triangle< T, 2 > &  triangle1,
const triangle< T, 2 > &  triangle2 
)
inline

◆ minkowski_sum() [1/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const circle< T > &  triangle,
const circle< T > &  circle 
)
inline

◆ minkowski_sum() [2/12]

template<typename T >
point2d<T> wykobi::minkowski_sum ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ minkowski_sum() [3/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const polygon< T, 2 > &  polygon1,
const polygon< T, 2 > &  polygon2 
)
inline

◆ minkowski_sum() [4/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const quadix< T, 2 > &  quadix,
const circle< T > &  circle 
)
inline

◆ minkowski_sum() [5/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const quadix< T, 2 > &  quadix,
const rectangle< T > &  rectangle 
)
inline

◆ minkowski_sum() [6/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const quadix< T, 2 > &  quadix1,
const quadix< T, 2 > &  quadix2 
)
inline

◆ minkowski_sum() [7/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const rectangle< T > &  rectangle,
const circle< T > &  circle 
)
inline

◆ minkowski_sum() [8/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2 
)
inline

◆ minkowski_sum() [9/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const triangle< T, 2 > &  triangle,
const circle< T > &  circle 
)
inline

◆ minkowski_sum() [10/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const triangle< T, 2 > &  triangle,
const quadix< T, 2 > &  quadix 
)
inline

◆ minkowski_sum() [11/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const triangle< T, 2 > &  triangle,
const rectangle< T > &  rectangle 
)
inline

◆ minkowski_sum() [12/12]

template<typename T >
polygon<T, 2> wykobi::minkowski_sum ( const triangle< T, 2 > &  triangle1,
const triangle< T, 2 > &  triangle2 
)
inline

◆ mirror() [1/34]

template<typename T >
box<T, 3> wykobi::mirror ( const box< T, 3 > &  box,
const line< T, 3 > &  mirror_axis 
)
inline

◆ mirror() [2/34]

template<typename T >
box<T, 3> wykobi::mirror ( const box< T, 3 > &  box,
const plane< T, 3 > &  mirror_plane 
)
inline

◆ mirror() [3/34]

template<typename T , std::size_t D>
box<T, D> wykobi::mirror ( const box< T, D > &  box,
const line< T, D > &  mirror_axis 
)
inline

◆ mirror() [4/34]

template<typename T >
circle<T> wykobi::mirror ( const circle< T > &  circle,
const line< T, 2 > &  mirror_axis 
)
inline

◆ mirror() [5/34]

template<typename T , std::size_t D>
hypersphere<T, D> wykobi::mirror ( const hypersphere< T, D > &  sphere,
const line< T, D > &  mirror_axis 
)
inline

◆ mirror() [6/34]

template<typename T >
line<T, 2> wykobi::mirror ( const line< T, 2 > &  line,
const wykobi::line< T, 2 > &  mirror_axis 
)
inline

◆ mirror() [7/34]

template<typename T >
line<T, 3> wykobi::mirror ( const line< T, 3 > &  line,
const plane< T, 3 > &  mirror_plane 
)
inline

◆ mirror() [8/34]

template<typename T >
line<T, 3> wykobi::mirror ( const line< T, 3 > &  line,
const wykobi::line< T, 3 > &  mirror_axis 
)
inline

◆ mirror() [9/34]

template<typename T , std::size_t D>
line<T, D> wykobi::mirror ( const line< T, D > &  line,
const wykobi::line< T, D > &  mirror_axis 
)
inline

◆ mirror() [10/34]

template<typename T >
point2d<T> wykobi::mirror ( const point2d< T > &  point,
const line< T, 2 > &  mirror_axis 
)
inline

◆ mirror() [11/34]

template<typename T >
point3d<T> wykobi::mirror ( const point3d< T > &  point,
const line< T, 3 > &  mirror_axis 
)
inline

◆ mirror() [12/34]

template<typename T >
point3d<T> wykobi::mirror ( const point3d< T > &  point,
const plane< T, 3 > &  mirror_plane 
)
inline

◆ mirror() [13/34]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::mirror ( const pointnd< T, D > &  point,
const line< T, D > &  mirror_axis 
)
inline

◆ mirror() [14/34]

template<typename T >
polygon<T, 2> wykobi::mirror ( const polygon< T, 2 > &  polygon,
const line< T, 2 > &  mirror_axis 
)
inline

◆ mirror() [15/34]

template<typename T >
polygon<T, 3> wykobi::mirror ( const polygon< T, 3 > &  polygon,
const line< T, 3 > &  mirror_axis 
)
inline

◆ mirror() [16/34]

template<typename T >
polygon<T, 3> wykobi::mirror ( const polygon< T, 3 > &  polygon,
const plane< T, 3 > &  mirror_plane 
)
inline

◆ mirror() [17/34]

template<typename T , std::size_t D>
polygon<T, D> wykobi::mirror ( const polygon< T, D > &  polygon,
const line< T, D > &  mirror_axis 
)
inline

◆ mirror() [18/34]

template<typename T >
quadix<T, 2> wykobi::mirror ( const quadix< T, 2 > &  quadix,
const line< T, 2 > &  mirror_axis 
)
inline

◆ mirror() [19/34]

template<typename T >
quadix<T, 3> wykobi::mirror ( const quadix< T, 3 > &  quadix,
const line< T, 3 > &  mirror_axis 
)
inline

◆ mirror() [20/34]

template<typename T >
quadix<T, 3> wykobi::mirror ( const quadix< T, 3 > &  quadix,
const plane< T, 3 > &  mirror_plane 
)
inline

◆ mirror() [21/34]

template<typename T , std::size_t D>
quadix<T, D> wykobi::mirror ( const quadix< T, D > &  quadix,
const line< T, D > &  mirror_axis 
)
inline

◆ mirror() [22/34]

template<typename T >
rectangle<T> wykobi::mirror ( const rectangle< T > &  rectangle,
const line< T, 2 > &  mirror_axis 
)
inline

◆ mirror() [23/34]

template<typename T >
segment<T, 2> wykobi::mirror ( const segment< T, 2 > &  segment,
const line< T, 2 > &  mirror_axis 
)
inline

◆ mirror() [24/34]

template<typename T >
segment<T, 3> wykobi::mirror ( const segment< T, 3 > &  segment,
const line< T, 3 > &  mirror_axis 
)
inline

◆ mirror() [25/34]

template<typename T >
segment<T, 3> wykobi::mirror ( const segment< T, 3 > &  segment,
const plane< T, 3 > &  mirror_plane 
)
inline

◆ mirror() [26/34]

template<typename T , std::size_t D>
segment<T, D> wykobi::mirror ( const segment< T, D > &  segment,
const line< T, D > &  mirror_axis 
)
inline

◆ mirror() [27/34]

template<typename T >
sphere<T> wykobi::mirror ( const sphere< T > &  sphere,
const line< T, 3 > &  mirror_axis 
)
inline

◆ mirror() [28/34]

template<typename T >
sphere<T> wykobi::mirror ( const sphere< T > &  sphere,
const plane< T, 3 > &  mirror_plane 
)
inline

◆ mirror() [29/34]

template<typename T >
void wykobi::mirror ( const T &  px,
const T &  py,
const T &  pz,
const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ mirror() [30/34]

template<typename T >
void wykobi::mirror ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
T &  nx,
T &  ny 
)
inline

◆ mirror() [31/34]

template<typename T >
triangle<T, 2> wykobi::mirror ( const triangle< T, 2 > &  triangle,
const line< T, 2 > &  mirror_axis 
)
inline

◆ mirror() [32/34]

template<typename T >
triangle<T, 3> wykobi::mirror ( const triangle< T, 3 > &  triangle,
const line< T, 3 > &  mirror_axis 
)
inline

◆ mirror() [33/34]

template<typename T >
triangle<T, 3> wykobi::mirror ( const triangle< T, 3 > &  triangle,
const plane< T, 3 > &  mirror_plane 
)
inline

◆ mirror() [34/34]

template<typename T , std::size_t D>
triangle<T, D> wykobi::mirror ( const triangle< T, D > &  triangle,
const line< T, D > &  mirror_axis 
)
inline

◆ negative_infinite_point2d()

template<typename T >
point2d<T> wykobi::negative_infinite_point2d ( )
inline

◆ negative_infinite_point3d()

template<typename T >
point3d<T> wykobi::negative_infinite_point3d ( )
inline

◆ negative_infinite_pointnd()

template<typename T , std::size_t D>
pointnd<T, D> wykobi::negative_infinite_pointnd ( )
inline

◆ nine_point_circle() [1/3]

template<typename T >
circle<T> wykobi::nine_point_circle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ nine_point_circle() [2/3]

template<typename T >
circle<T> wykobi::nine_point_circle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ nine_point_circle() [3/3]

template<typename T >
circle<T> wykobi::nine_point_circle ( const triangle< T, 2 > &  triangle)
inline

◆ nonsymmetric_mirror() [1/15]

template<typename T >
box<T, 3> wykobi::nonsymmetric_mirror ( const box< T, 3 > &  box,
const T &  ratio,
const plane< T, 3 > &  plane 
)
inline

◆ nonsymmetric_mirror() [2/15]

template<typename T >
circle<T> wykobi::nonsymmetric_mirror ( const circle< T > &  circle,
const T &  ratio,
const line< T, 2 > &  line 
)
inline

◆ nonsymmetric_mirror() [3/15]

template<typename T >
point2d<T> wykobi::nonsymmetric_mirror ( const point2d< T > &  point,
const T &  ratio,
const line< T, 2 > &  line 
)
inline

◆ nonsymmetric_mirror() [4/15]

template<typename T >
point3d<T> wykobi::nonsymmetric_mirror ( const point3d< T > &  point,
const T &  ratio,
const plane< T, 3 > &  plane 
)
inline

◆ nonsymmetric_mirror() [5/15]

template<typename T >
polygon<T, 2> wykobi::nonsymmetric_mirror ( const polygon< T, 2 > &  polygon,
const T &  ratio,
const line< T, 2 > &  line 
)
inline

◆ nonsymmetric_mirror() [6/15]

template<typename T >
polygon<T, 3> wykobi::nonsymmetric_mirror ( const polygon< T, 3 > &  polygon,
const T &  ratio,
const plane< T, 3 > &  plane 
)
inline

◆ nonsymmetric_mirror() [7/15]

template<typename T >
quadix<T, 2> wykobi::nonsymmetric_mirror ( const quadix< T, 2 > &  quadix,
const T &  ratio,
const line< T, 2 > &  line 
)
inline

◆ nonsymmetric_mirror() [8/15]

template<typename T >
quadix<T, 3> wykobi::nonsymmetric_mirror ( const quadix< T, 3 > &  quadix,
const T &  ratio,
const plane< T, 3 > &  plane 
)
inline

◆ nonsymmetric_mirror() [9/15]

template<typename T >
rectangle<T> wykobi::nonsymmetric_mirror ( const rectangle< T > &  rectangle,
const T &  ratio,
const line< T, 2 > &  line 
)
inline

◆ nonsymmetric_mirror() [10/15]

template<typename T >
segment<T, 2> wykobi::nonsymmetric_mirror ( const segment< T, 2 > &  segment,
const T &  ratio,
const line< T, 2 > &  line 
)
inline

◆ nonsymmetric_mirror() [11/15]

template<typename T >
segment<T, 3> wykobi::nonsymmetric_mirror ( const segment< T, 3 > &  segment,
const T &  ratio,
const plane< T, 3 > &  plane 
)
inline

◆ nonsymmetric_mirror() [12/15]

template<typename T >
circle<T> wykobi::nonsymmetric_mirror ( const sphere< T > &  sphere,
const T &  ratio,
const plane< T, 3 > &  plane 
)
inline

◆ nonsymmetric_mirror() [13/15]

template<typename T >
void wykobi::nonsymmetric_mirror ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  ratio,
T &  nx,
T &  ny 
)
inline

◆ nonsymmetric_mirror() [14/15]

template<typename T >
triangle<T, 2> wykobi::nonsymmetric_mirror ( const triangle< T, 2 > &  triangle,
const T &  ratio,
const line< T, 2 > &  line 
)
inline

◆ nonsymmetric_mirror() [15/15]

template<typename T >
triangle<T, 3> wykobi::nonsymmetric_mirror ( const triangle< T, 3 > &  triangle,
const T &  ratio,
const plane< T, 3 > &  plane 
)
inline

◆ normalize() [1/3]

template<typename T >
vector2d<T> wykobi::normalize ( const vector2d< T > &  v)
inline

◆ normalize() [2/3]

template<typename T >
vector3d<T> wykobi::normalize ( const vector3d< T > &  v)
inline

◆ normalize() [3/3]

template<typename T , std::size_t D>
vectornd<T, D> wykobi::normalize ( const vectornd< T, D > &  v)
inline

◆ normalize_angle()

template<typename T >
T wykobi::normalize_angle ( const T &  angle)
inline

◆ not_equal() [1/12]

template<typename T >
bool wykobi::not_equal ( const box< T, 3 > &  box1,
const box< T, 3 > &  box2 
)
inline

◆ not_equal() [2/12]

template<typename T >
bool wykobi::not_equal ( const circle< T > &  circle1,
const circle< T > &  circle2 
)
inline

◆ not_equal() [3/12]

template<typename T >
bool wykobi::not_equal ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ not_equal() [4/12]

template<typename T >
bool wykobi::not_equal ( const point2d< T > &  point1,
const point2d< T > &  point2,
const T &  epsilon 
)
inline

◆ not_equal() [5/12]

template<typename T >
bool wykobi::not_equal ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ not_equal() [6/12]

template<typename T >
bool wykobi::not_equal ( const point3d< T > &  point1,
const point3d< T > &  point2,
const T &  epsilon 
)
inline

◆ not_equal() [7/12]

template<typename T , std::size_t D>
bool wykobi::not_equal ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ not_equal() [8/12]

template<typename T , std::size_t D>
bool wykobi::not_equal ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2,
const T &  epsilon 
)
inline

◆ not_equal() [9/12]

template<typename T >
bool wykobi::not_equal ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2 
)
inline

◆ not_equal() [10/12]

template<typename T >
bool wykobi::not_equal ( const sphere< T > &  sphere1,
const sphere< T > &  sphere2 
)
inline

◆ not_equal() [11/12]

template<typename T >
bool wykobi::not_equal ( const T &  val1,
const T &  val2 
)
inline

◆ not_equal() [12/12]

template<typename T >
bool wykobi::not_equal ( const T &  val1,
const T &  val2,
const T &  epsilon 
)
inline

◆ operator*() [1/16]

template<typename T >
point2d<T> wykobi::operator* ( const point2d< T > &  point,
const T &  scale 
)
inline

◆ operator*() [2/16]

template<typename T >
point3d<T> wykobi::operator* ( const point3d< T > &  point,
const T &  scale 
)
inline

◆ operator*() [3/16]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::operator* ( const pointnd< T, D > &  point,
const T &  scale 
)
inline

◆ operator*() [4/16]

template<typename T >
point2d<T> wykobi::operator* ( const T &  scale,
const point2d< T > &  point 
)
inline

◆ operator*() [5/16]

template<typename T >
point3d<T> wykobi::operator* ( const T &  scale,
const point3d< T > &  point 
)
inline

◆ operator*() [6/16]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::operator* ( const T &  scale,
const pointnd< T, D > &  point 
)
inline

◆ operator*() [7/16]

template<typename T >
vector2d<T> wykobi::operator* ( const T &  scale,
const vector2d< T > &  v1 
)
inline

◆ operator*() [8/16]

template<typename T >
vector3d<T> wykobi::operator* ( const T &  scale,
const vector3d< T > &  v1 
)
inline

◆ operator*() [9/16]

template<typename T , std::size_t D>
vectornd<T, D> wykobi::operator* ( const T &  scale,
const vectornd< T, D > &  v1 
)
inline

◆ operator*() [10/16]

template<typename T >
vector2d<T> wykobi::operator* ( const vector2d< T > &  v1,
const T &  scale 
)
inline

◆ operator*() [11/16]

template<typename T >
T wykobi::operator* ( const vector2d< T > &  v1,
const vector2d< T > &  v2 
)
inline

◆ operator*() [12/16]

template<typename T >
vector3d<T> wykobi::operator* ( const vector3d< T > &  v1,
const T &  scale 
)
inline

◆ operator*() [13/16]

template<typename T >
vector3d<T> wykobi::operator* ( const vector3d< T > &  v1,
const vector3d< T > &  v2 
)
inline

◆ operator*() [14/16]

template<typename T >
T wykobi::operator* ( const vectornd< T, 2 > &  v1,
const vectornd< T, 2 > &  v2 
)
inline

◆ operator*() [15/16]

template<typename T >
vectornd<T, 3> wykobi::operator* ( const vectornd< T, 3 > &  v1,
const vectornd< T, 3 > &  v2 
)
inline

◆ operator*() [16/16]

template<typename T , std::size_t D>
vectornd<T, D> wykobi::operator* ( const vectornd< T, D > &  v1,
const T &  scale 
)
inline

◆ operator+() [1/12]

template<typename T >
point2d<T> wykobi::operator+ ( const point2d< T > &  p1,
const point2d< T > &  p2 
)
inline

◆ operator+() [2/12]

template<typename T >
point2d<T> wykobi::operator+ ( const point2d< T > &  point,
const vector2d< T > &  v 
)
inline

◆ operator+() [3/12]

template<typename T >
point3d<T> wykobi::operator+ ( const point3d< T > &  p1,
const point3d< T > &  p2 
)
inline

◆ operator+() [4/12]

template<typename T >
point3d<T> wykobi::operator+ ( const point3d< T > &  point,
const vector3d< T > &  v 
)
inline

◆ operator+() [5/12]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::operator+ ( const pointnd< T, D > &  p1,
const pointnd< T, D > &  p2 
)
inline

◆ operator+() [6/12]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::operator+ ( const pointnd< T, D > &  point,
const vectornd< T, D > &  v 
)
inline

◆ operator+() [7/12]

template<typename T >
point2d<T> wykobi::operator+ ( const vector2d< T > &  v,
const point2d< T > &  point 
)
inline

◆ operator+() [8/12]

template<typename T >
vector2d<T> wykobi::operator+ ( const vector2d< T > &  v1,
const vector2d< T > &  v2 
)
inline

◆ operator+() [9/12]

template<typename T >
point3d<T> wykobi::operator+ ( const vector3d< T > &  v,
const point3d< T > &  point 
)
inline

◆ operator+() [10/12]

template<typename T >
vector3d<T> wykobi::operator+ ( const vector3d< T > &  v1,
const vector3d< T > &  v2 
)
inline

◆ operator+() [11/12]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::operator+ ( const vectornd< T, D > &  v,
const pointnd< T, D > &  point 
)
inline

◆ operator+() [12/12]

template<typename T , std::size_t D>
vectornd<T, D> wykobi::operator+ ( const vectornd< T, D > &  v1,
const vectornd< T, D > &  v2 
)
inline

◆ operator-() [1/6]

template<typename T >
vector2d<T> wykobi::operator- ( const point2d< T > &  p1,
const point2d< T > &  p2 
)
inline

◆ operator-() [2/6]

template<typename T >
vector3d<T> wykobi::operator- ( const point3d< T > &  p1,
const point3d< T > &  p2 
)
inline

◆ operator-() [3/6]

template<typename T , std::size_t D>
vectornd<T, D> wykobi::operator- ( const pointnd< T, D > &  p1,
const pointnd< T, D > &  p2 
)
inline

◆ operator-() [4/6]

template<typename T >
vector2d<T> wykobi::operator- ( const vector2d< T > &  v1,
const vector2d< T > &  v2 
)
inline

◆ operator-() [5/6]

template<typename T >
vector3d<T> wykobi::operator- ( const vector3d< T > &  v1,
const vector3d< T > &  v2 
)
inline

◆ operator-() [6/6]

template<typename T , std::size_t D>
vectornd<T, D> wykobi::operator- ( const vectornd< T, D > &  v1,
const vectornd< T, D > &  v2 
)
inline

◆ operator/() [1/4]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::operator/ ( const pointnd< T, D > &  point,
const T &  scale 
)
inline

◆ operator/() [2/4]

template<typename T >
vector2d<T> wykobi::operator/ ( const vector2d< T > &  v1,
const T &  scale 
)
inline

◆ operator/() [3/4]

template<typename T >
vector3d<T> wykobi::operator/ ( const vector3d< T > &  v1,
const T &  scale 
)
inline

◆ operator/() [4/4]

template<typename T , std::size_t D>
vectornd<T, D> wykobi::operator/ ( const vectornd< T, D > &  v1,
const T &  scale 
)
inline

◆ operator<() [1/3]

template<typename T >
bool wykobi::operator< ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ operator<() [2/3]

template<typename T >
bool wykobi::operator< ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ operator<() [3/3]

template<typename T , std::size_t D>
bool wykobi::operator< ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ operator<<() [1/16]

template<typename Type , std::size_t Dimension>
std::ostream& wykobi::operator<< ( std::ostream &  os,
const box< Type, Dimension > &  box 
)
inline

◆ operator<<() [2/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const circle< Type > &  circle 
)
inline

◆ operator<<() [3/16]

template<typename Type , std::size_t Dimension>
std::ostream& wykobi::operator<< ( std::ostream &  os,
const line< Type, Dimension > &  line 
)
inline

◆ operator<<() [4/16]

template<typename Type , std::size_t M, std::size_t N>
std::ostream& wykobi::operator<< ( std::ostream &  os,
const matrix< Type, M, N > &  matrix 
)
inline

◆ operator<<() [5/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const point2d< Type > &  point 
)
inline

◆ operator<<() [6/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const point3d< Type > &  point 
)
inline

◆ operator<<() [7/16]

template<typename Type , std::size_t Dimension>
std::ostream& wykobi::operator<< ( std::ostream &  os,
const pointnd< Type, Dimension > &  point 
)
inline

◆ operator<<() [8/16]

template<typename Type , std::size_t Dimension>
std::ostream& wykobi::operator<< ( std::ostream &  os,
const quadix< Type, Dimension > &  quadix 
)
inline

◆ operator<<() [9/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const ray< Type, 2 > &  ray 
)
inline

◆ operator<<() [10/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const ray< Type, 3 > &  ray 
)
inline

◆ operator<<() [11/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const rectangle< Type > &  rectangle 
)
inline

◆ operator<<() [12/16]

template<typename Type , std::size_t Dimension>
std::ostream& wykobi::operator<< ( std::ostream &  os,
const segment< Type, Dimension > &  segment 
)
inline

◆ operator<<() [13/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const sphere< Type > &  sphere 
)
inline

◆ operator<<() [14/16]

template<typename Type , std::size_t Dimension>
std::ostream& wykobi::operator<< ( std::ostream &  os,
const triangle< Type, Dimension > &  triangle 
)
inline

◆ operator<<() [15/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const vector2d< Type > &  v 
)
inline

◆ operator<<() [16/16]

template<typename Type >
std::ostream& wykobi::operator<< ( std::ostream &  os,
const vector3d< Type > &  v 
)
inline

◆ operator==() [1/3]

template<typename T >
bool wykobi::operator== ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ operator==() [2/3]

template<typename T >
bool wykobi::operator== ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ operator==() [3/3]

template<typename T , std::size_t D>
bool wykobi::operator== ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ operator>() [1/3]

template<typename T >
bool wykobi::operator> ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ operator>() [2/3]

template<typename T >
bool wykobi::operator> ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ operator>() [3/3]

template<typename T , std::size_t D>
bool wykobi::operator> ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2 
)
inline

◆ opposing_edge() [1/2]

template<typename T >
segment<T, 2> wykobi::opposing_edge ( const triangle< T, 2 > &  triangle,
const std::size_t &  corner 
)
inline

◆ opposing_edge() [2/2]

template<typename T >
segment<T, 3> wykobi::opposing_edge ( const triangle< T, 3 > &  triangle,
const std::size_t &  corner 
)
inline

◆ order_sensitive_closest_point_on_line_from_point() [1/2]

template<typename T >
void wykobi::order_sensitive_closest_point_on_line_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py,
T &  nx,
T &  ny 
)
inline

◆ order_sensitive_closest_point_on_line_from_point() [2/2]

template<typename T >
void wykobi::order_sensitive_closest_point_on_line_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ order_sensitive_closest_point_on_segment_from_point() [1/2]

template<typename T >
void wykobi::order_sensitive_closest_point_on_segment_from_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py,
T &  nx,
T &  ny 
)
inline

◆ order_sensitive_closest_point_on_segment_from_point() [2/2]

template<typename T >
void wykobi::order_sensitive_closest_point_on_segment_from_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  px,
const T &  py,
const T &  pz,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ orientation() [1/10]

template<typename T >
int wykobi::orientation ( const line< T, 2 > &  line,
const point2d< T > &  point 
)
inline

◆ orientation() [2/10]

template<typename T >
int wykobi::orientation ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ orientation() [3/10]

template<typename T >
int wykobi::orientation ( const point2d< T > &  point1,
const point2d< T > &  point2,
const T &  px,
const T &  py 
)
inline

◆ orientation() [4/10]

template<typename T >
int wykobi::orientation ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4 
)
inline

◆ orientation() [5/10]

template<typename T >
int wykobi::orientation ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ orientation() [6/10]

template<typename T >
int wykobi::orientation ( const segment< T, 2 > &  segment,
const point2d< T > &  point 
)
inline

◆ orientation() [7/10]

template<typename T >
int wykobi::orientation ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py 
)
inline

◆ orientation() [8/10]

template<typename T >
int wykobi::orientation ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ orientation() [9/10]

template<typename T >
int wykobi::orientation ( const triangle< T, 2 > &  triangle)
inline

◆ orientation() [10/10]

template<typename T >
int wykobi::orientation ( const triangle< T, 3 > &  triangle,
const point3d< T > &  point 
)
inline

◆ oriented_vertex_angle() [1/2]

template<typename T >
T wykobi::oriented_vertex_angle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const int  orient = Clockwise 
)
inline

◆ oriented_vertex_angle() [2/2]

template<typename T >
T wykobi::oriented_vertex_angle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const int  orient = Clockwise 
)
inline

◆ orthocenter() [1/2]

template<typename T >
point2d<T> wykobi::orthocenter ( const triangle< T, 2 > &  triangle)
inline

◆ orthocenter() [2/2]

template<typename T >
point3d<T> wykobi::orthocenter ( const triangle< T, 3 > &  triangle)
inline

◆ out_code()

template<typename T >
int wykobi::out_code ( const point2d< T > &  point,
const rectangle< T > &  rectangle 
)
inline

◆ parallel() [1/10]

template<typename T >
bool wykobi::parallel ( const line< T, 2 > &  line1,
const line< T, 2 > &  line2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ parallel() [2/10]

template<typename T >
bool wykobi::parallel ( const line< T, 3 > &  line1,
const line< T, 3 > &  line2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ parallel() [3/10]

template<typename T , std::size_t D>
bool wykobi::parallel ( const line< T, D > &  line1,
const line< T, D > &  line2 
)
inline

◆ parallel() [4/10]

template<typename T >
bool wykobi::parallel ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ parallel() [5/10]

template<typename T >
bool wykobi::parallel ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ parallel() [6/10]

template<typename T >
bool wykobi::parallel ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ parallel() [7/10]

template<typename T >
bool wykobi::parallel ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ parallel() [8/10]

template<typename T , std::size_t D>
bool wykobi::parallel ( const segment< T, D > &  segment1,
const segment< T, D > &  segment2 
)
inline

◆ parallel() [9/10]

template<typename T >
bool wykobi::parallel ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ parallel() [10/10]

template<typename T >
bool wykobi::parallel ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perimeter() [1/12]

template<typename T >
T wykobi::perimeter ( const circle< T > &  circle)
inline

◆ perimeter() [2/12]

template<typename T >
T wykobi::perimeter ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ perimeter() [3/12]

template<typename T >
T wykobi::perimeter ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ perimeter() [4/12]

template<typename T >
T wykobi::perimeter ( const polygon< T, 2 > &  polygon)
inline

◆ perimeter() [5/12]

template<typename T , std::size_t D>
T wykobi::perimeter ( const polygon< T, D > &  polygon)
inline

◆ perimeter() [6/12]

template<typename T >
T wykobi::perimeter ( const quadix< T, 2 > &  quadix)
inline

◆ perimeter() [7/12]

template<typename T >
T wykobi::perimeter ( const quadix< T, 3 > &  quadix)
inline

◆ perimeter() [8/12]

template<typename T , std::size_t D>
T wykobi::perimeter ( const quadix< T, D > &  quadix)
inline

◆ perimeter() [9/12]

template<typename T >
T wykobi::perimeter ( const rectangle< T > &  rectangle)
inline

◆ perimeter() [10/12]

template<typename T >
T wykobi::perimeter ( const triangle< T, 2 > &  triangle)
inline

◆ perimeter() [11/12]

template<typename T >
T wykobi::perimeter ( const triangle< T, 3 > &  triangle)
inline

◆ perimeter() [12/12]

template<typename T , std::size_t D>
T wykobi::perimeter ( const triangle< T, D > &  triangle)
inline

◆ perpendicular() [1/13]

template<typename T >
bool wykobi::perpendicular ( const line< T, 2 > &  line,
const segment< T, 2 > &  segment,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [2/13]

template<typename T >
bool wykobi::perpendicular ( const line< T, 2 > &  line1,
const line< T, 2 > &  line2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [3/13]

template<typename T >
bool wykobi::perpendicular ( const line< T, 3 > &  line1,
const line< T, 3 > &  line2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [4/13]

template<typename T , std::size_t D>
bool wykobi::perpendicular ( const line< T, D > &  line1,
const line< T, D > &  line2 
)
inline

◆ perpendicular() [5/13]

template<typename T >
bool wykobi::perpendicular ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [6/13]

template<typename T >
bool wykobi::perpendicular ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [7/13]

template<typename T >
bool wykobi::perpendicular ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [8/13]

template<typename T >
bool wykobi::perpendicular ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [9/13]

template<typename T , std::size_t D>
bool wykobi::perpendicular ( const segment< T, D > &  segment1,
const segment< T, D > &  segment2 
)
inline

◆ perpendicular() [10/13]

template<typename T >
bool wykobi::perpendicular ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [11/13]

template<typename T >
bool wykobi::perpendicular ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ perpendicular() [12/13]

template<typename T >
vector2d<T> wykobi::perpendicular ( const vector2d< T > &  v)
inline

◆ perpendicular() [13/13]

template<typename T >
vector3d<T> wykobi::perpendicular ( const vector3d< T > &  v)
inline

◆ perpendicular_product()

template<typename T >
T wykobi::perpendicular_product ( const vector2d< T > &  v1,
const vector2d< T > &  v2 
)
inline

◆ perspectrix() [1/2]

template<typename T >
line<T, 2> wykobi::perspectrix ( const triangle< T, 2 > &  triangle1,
const triangle< T, 2 > &  triangle2 
)
inline

◆ perspectrix() [2/2]

template<typename T >
line<T, 3> wykobi::perspectrix ( const triangle< T, 3 > &  triangle1,
const triangle< T, 3 > &  triangle2 
)
inline

◆ point_in_box() [1/7]

template<typename T >
bool wykobi::point_in_box ( const point3d< T > &  point,
const box< T, 3 > &  box 
)
inline

◆ point_in_box() [2/7]

template<typename T >
bool wykobi::point_in_box ( const point3d< T > &  point,
const point3d< T > &  box_point1,
const point3d< T > &  box_point2 
)
inline

◆ point_in_box() [3/7]

template<typename T >
bool wykobi::point_in_box ( const point3d< T > &  point,
const segment< T, 3 > &  segment 
)
inline

◆ point_in_box() [4/7]

template<typename T >
bool wykobi::point_in_box ( const point3d< T > &  point,
const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ point_in_box() [5/7]

template<typename T , std::size_t D>
bool wykobi::point_in_box ( const pointnd< T, D > &  point,
const box< T, D > &  box 
)
inline

◆ point_in_box() [6/7]

template<typename T >
bool wykobi::point_in_box ( const T &  px,
const T &  py,
const T &  pz,
const box< T, 3 > &  box 
)
inline

◆ point_in_box() [7/7]

template<typename T >
bool wykobi::point_in_box ( const T &  px,
const T &  py,
const T &  pz,
const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ point_in_circle() [1/3]

template<typename T >
bool wykobi::point_in_circle ( const point2d< T > &  point,
const circle< T > &  circle 
)
inline

◆ point_in_circle() [2/3]

template<typename T >
bool wykobi::point_in_circle ( const T &  px,
const T &  py,
const circle< T > &  circle 
)
inline

◆ point_in_circle() [3/3]

template<typename T >
bool wykobi::point_in_circle ( const T &  px,
const T &  py,
const T &  cx,
const T &  cy,
const T &  radius 
)
inline

◆ point_in_convex_polygon() [1/2]

template<typename T >
bool wykobi::point_in_convex_polygon ( const point2d< T > &  point,
const polygon< T, 2 > &  polygon 
)
inline

◆ point_in_convex_polygon() [2/2]

template<typename T >
bool wykobi::point_in_convex_polygon ( const T &  px,
const T &  py,
const polygon< T, 2 > &  polygon 
)
inline

◆ point_in_focus_area() [1/2]

template<typename T >
bool wykobi::point_in_focus_area ( const point2d< T > &  point,
const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ point_in_focus_area() [2/2]

template<typename T >
bool wykobi::point_in_focus_area ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ point_in_polygon() [1/2]

template<typename T >
bool wykobi::point_in_polygon ( const point2d< T > &  point,
const polygon< T, 2 > &  polygon 
)
inline

◆ point_in_polygon() [2/2]

template<typename T >
bool wykobi::point_in_polygon ( const T &  px,
const T &  py,
const polygon< T, 2 > &  polygon 
)
inline

◆ point_in_polygon_winding_number() [1/2]

template<typename T >
bool wykobi::point_in_polygon_winding_number ( const point2d< T > &  point,
const polygon< T, 2 > &  polygon 
)
inline

◆ point_in_polygon_winding_number() [2/2]

template<typename T >
bool wykobi::point_in_polygon_winding_number ( const T &  px,
const T &  py,
const polygon< T, 2 > &  polygon 
)
inline

◆ point_in_quadix() [1/4]

template<typename T >
bool wykobi::point_in_quadix ( const point2d< T > &  point,
const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4 
)
inline

◆ point_in_quadix() [2/4]

template<typename T >
bool wykobi::point_in_quadix ( const point2d< T > &  point,
const quadix< T, 2 > &  quadix 
)
inline

◆ point_in_quadix() [3/4]

template<typename T >
bool wykobi::point_in_quadix ( const T &  px,
const T &  py,
const quadix< T, 2 > &  quadix 
)
inline

◆ point_in_quadix() [4/4]

template<typename T >
bool wykobi::point_in_quadix ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ point_in_rectangle() [1/6]

template<typename T >
bool wykobi::point_in_rectangle ( const point2d< T > &  point,
const point2d< T > &  rect_point1,
point2d< T > &  rect_point2 
)
inline

◆ point_in_rectangle() [2/6]

template<typename T >
bool wykobi::point_in_rectangle ( const point2d< T > &  point,
const rectangle< T > &  rectangle 
)
inline

◆ point_in_rectangle() [3/6]

template<typename T >
bool wykobi::point_in_rectangle ( const point2d< T > &  point,
const segment< T, 2 > &  segment 
)
inline

◆ point_in_rectangle() [4/6]

template<typename T >
bool wykobi::point_in_rectangle ( const point2d< T > &  point,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ point_in_rectangle() [5/6]

template<typename T >
bool wykobi::point_in_rectangle ( const T &  px,
const T &  py,
const rectangle< T > &  rectangle 
)
inline

◆ point_in_rectangle() [6/6]

template<typename T >
bool wykobi::point_in_rectangle ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ point_in_sphere() [1/4]

template<typename T >
bool wykobi::point_in_sphere ( const point3d< T > &  point,
const sphere< T > &  sphere 
)
inline

◆ point_in_sphere() [2/4]

template<typename T , std::size_t D>
bool wykobi::point_in_sphere ( const pointnd< T, D > &  point,
const hypersphere< T, D > &  hypersphere 
)
inline

◆ point_in_sphere() [3/4]

template<typename T >
bool wykobi::point_in_sphere ( const T &  px,
const T &  py,
const T &  pz,
const sphere< T > &  sphere 
)
inline

◆ point_in_sphere() [4/4]

template<typename T >
bool wykobi::point_in_sphere ( const T &  px,
const T &  py,
const T &  pz,
const T &  cx,
const T &  cy,
const T &  cz,
const T &  radius 
)
inline

◆ point_in_three_point_circle() [1/3]

template<typename T >
bool wykobi::point_in_three_point_circle ( const point2d< T > &  point,
const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ point_in_three_point_circle() [2/3]

template<typename T >
bool wykobi::point_in_three_point_circle ( const point2d< T > &  point,
const triangle< T, 2 >  triangle 
)
inline

◆ point_in_three_point_circle() [3/3]

template<typename T >
bool wykobi::point_in_three_point_circle ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ point_in_triangle() [1/4]

template<typename T >
bool wykobi::point_in_triangle ( const point2d< T > &  point,
const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ point_in_triangle() [2/4]

template<typename T >
bool wykobi::point_in_triangle ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ point_in_triangle() [3/4]

template<typename T >
bool wykobi::point_in_triangle ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ point_in_triangle() [4/4]

template<typename T >
bool wykobi::point_in_triangle ( const T &  px,
const T &  py,
const triangle< T, 2 > &  triangle 
)
inline

◆ point_of_reflection() [1/2]

template<typename T >
bool wykobi::point_of_reflection ( const segment< T, 2 > &  segment,
const point2d< T > &  point1,
const point2d< T > &  point2,
point2d< T > &  reflection_point 
)
inline

◆ point_of_reflection() [2/2]

template<typename T >
bool wykobi::point_of_reflection ( const T &  sx1,
const T &  sy1,
const T &  sx2,
const T &  sy2,
const T &  p1x,
const T &  p1y,
const T &  p2x,
const T &  p2y,
T &  rpx,
T &  rpy 
)
inline

◆ point_on_bezier() [1/4]

template<typename T >
bool wykobi::point_on_bezier ( const point2d< T > &  point,
const cubic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000,
const T &  fuzzy = T(Epsilon) 
)
inline

◆ point_on_bezier() [2/4]

template<typename T >
bool wykobi::point_on_bezier ( const point2d< T > &  point,
const quadratic_bezier< T, 2 > &  bezier,
const std::size_t &  steps = 1000,
const T &  fuzzy = T(Epsilon) 
)
inline

◆ point_on_bezier() [3/4]

template<typename T >
bool wykobi::point_on_bezier ( const point3d< T > &  point,
const cubic_bezier< T, 3 > &  bezier,
const std::size_t &  steps = 1000,
const T &  fuzzy = T(Epsilon) 
)
inline

◆ point_on_bezier() [4/4]

template<typename T >
bool wykobi::point_on_bezier ( const point3d< T > &  point,
const quadratic_bezier< T, 3 > &  bezier,
const std::size_t &  steps = 1000,
const T &  fuzzy = T(Epsilon) 
)
inline

◆ point_on_circle() [1/3]

template<typename T >
bool wykobi::point_on_circle ( const point2d< T > &  point,
const circle< T > &  circle 
)
inline

◆ point_on_circle() [2/3]

template<typename T >
bool wykobi::point_on_circle ( const T &  px,
const T &  py,
const circle< T > &  circle 
)
inline

◆ point_on_circle() [3/3]

template<typename T >
bool wykobi::point_on_circle ( const T &  px,
const T &  py,
const T &  cx,
const T &  cy,
const T &  radius 
)
inline

◆ point_on_polygon_edge() [1/2]

template<typename T >
bool wykobi::point_on_polygon_edge ( const point2d< T > &  point,
const polygon< T, 2 > &  polygon 
)
inline

◆ point_on_polygon_edge() [2/2]

template<typename T >
bool wykobi::point_on_polygon_edge ( const T &  px,
const T &  py,
const polygon< T, 2 > &  polygon 
)
inline

◆ point_on_quadix() [1/4]

template<typename T >
bool wykobi::point_on_quadix ( const point2d< T > &  point,
const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4 
)
inline

◆ point_on_quadix() [2/4]

template<typename T >
bool wykobi::point_on_quadix ( const point2d< T > &  point,
const quadix< T, 2 > &  quadix 
)
inline

◆ point_on_quadix() [3/4]

template<typename T >
bool wykobi::point_on_quadix ( const T &  px,
const T &  py,
const quadix< T, 2 > &  quadix 
)
inline

◆ point_on_quadix() [4/4]

template<typename T >
bool wykobi::point_on_quadix ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ point_on_ray() [1/4]

template<typename T >
bool wykobi::point_on_ray ( const point2d< T > &  point,
const ray< T, 2 > &  ray 
)
inline

◆ point_on_ray() [2/4]

template<typename T >
bool wykobi::point_on_ray ( const point3d< T > &  point,
const ray< T, 3 > &  ray 
)
inline

◆ point_on_ray() [3/4]

template<typename T >
bool wykobi::point_on_ray ( const T &  px,
const T &  py,
const T &  ox,
const T &  oy,
const T &  dx,
const T &  dy 
)
inline

◆ point_on_ray() [4/4]

template<typename T >
bool wykobi::point_on_ray ( const T &  px,
const T &  py,
const T &  pz,
const T &  ox,
const T &  oy,
const T &  oz,
const T &  dx,
const T &  dy,
const T &  dz 
)
inline

◆ point_on_rectangle() [1/4]

template<typename T >
bool wykobi::point_on_rectangle ( const point2d< T > &  point,
const rectangle< T > &  rectangle 
)
inline

◆ point_on_rectangle() [2/4]

template<typename T >
bool wykobi::point_on_rectangle ( const point2d< T > &  point,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ point_on_rectangle() [3/4]

template<typename T >
bool wykobi::point_on_rectangle ( const T &  px,
const T &  py,
const rectangle< T > &  rectangle 
)
inline

◆ point_on_rectangle() [4/4]

template<typename T >
bool wykobi::point_on_rectangle ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2 
)
inline

◆ point_on_segment() [1/2]

template<typename T >
bool wykobi::point_on_segment ( const point2d< T > &  point,
const segment< T, 2 > &  segment 
)
inline

◆ point_on_segment() [2/2]

template<typename T >
bool wykobi::point_on_segment ( const point3d< T > &  point,
const segment< T, 3 > &  segment 
)
inline

◆ point_on_triangle() [1/4]

template<typename T >
bool wykobi::point_on_triangle ( const point2d< T > &  point,
const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ point_on_triangle() [2/4]

template<typename T >
bool wykobi::point_on_triangle ( const point2d< T > &  point,
const triangle< T, 2 > &  triangle 
)
inline

◆ point_on_triangle() [3/4]

template<typename T >
bool wykobi::point_on_triangle ( const T &  px,
const T &  py,
const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ point_on_triangle() [4/4]

template<typename T >
bool wykobi::point_on_triangle ( const T &  px,
const T &  py,
const triangle< T, 2 > &  triangle 
)
inline

◆ polygon_orientation()

template<typename T >
int wykobi::polygon_orientation ( const polygon< T, 2 > &  polygon)
inline

◆ polygon_within_box()

template<typename T >
bool wykobi::polygon_within_box ( const polygon< T, 3 > &  polygon,
const box< T, 3 > &  box 
)
inline

◆ polygon_within_rectangle()

template<typename T >
bool wykobi::polygon_within_rectangle ( const polygon< T, 2 > &  polygon,
const rectangle< T > &  rectangle 
)
inline

◆ positive_infinite_point2d()

template<typename T >
point2d<T> wykobi::positive_infinite_point2d ( )
inline

◆ positive_infinite_point3d()

template<typename T >
point3d<T> wykobi::positive_infinite_point3d ( )
inline

◆ positive_infinite_pointnd()

template<typename T , std::size_t D>
pointnd<T, D> wykobi::positive_infinite_pointnd ( )
inline

◆ project_object() [1/6]

template<typename T >
circle<T> wykobi::project_object ( const circle< T > &  circle,
const T &  angle,
const T &  distance 
)
inline

◆ project_object() [2/6]

template<typename T >
point2d<T> wykobi::project_object ( const point2d< T > &  point,
const T &  angle,
const T &  distance 
)
inline

◆ project_object() [3/6]

template<typename T >
polygon<T, 2> wykobi::project_object ( const polygon< T, 2 > &  polygon,
const T &  angle,
const T &  distance 
)
inline

◆ project_object() [4/6]

template<typename T >
quadix<T, 2> wykobi::project_object ( const quadix< T, 2 > &  quadix,
const T &  angle,
const T &  distance 
)
inline

◆ project_object() [5/6]

template<typename T >
segment<T, 2> wykobi::project_object ( const segment< T, 2 > &  segment,
const T &  angle,
const T &  distance 
)
inline

◆ project_object() [6/6]

template<typename T >
triangle<T, 2> wykobi::project_object ( const triangle< T, 2 > &  triangle,
const T &  angle,
const T &  distance 
)
inline

◆ project_onto_axis() [1/18]

template<typename T >
segment<T, 3> wykobi::project_onto_axis ( const box< T, 3 > &  box,
const line< T, 3 > &  axis 
)
inline

◆ project_onto_axis() [2/18]

template<typename T , std::size_t D>
segment<T, D> wykobi::project_onto_axis ( const box< T, D > &  box,
const line< T, D > &  axis 
)
inline

◆ project_onto_axis() [3/18]

template<typename T >
segment<T, 2> wykobi::project_onto_axis ( const circle< T > &  circle,
const line< T, 2 > &  axis 
)
inline

◆ project_onto_axis() [4/18]

template<typename T , std::size_t D>
segment<T, D> wykobi::project_onto_axis ( const hypersphere< T, D > &  sphere,
const line< T, D > &  axis 
)
inline

◆ project_onto_axis() [5/18]

template<typename T >
segment<T, 2> wykobi::project_onto_axis ( const point2d< T > &  point,
const line< T, 2 > &  axis 
)
inline

◆ project_onto_axis() [6/18]

template<typename T >
segment<T, 3> wykobi::project_onto_axis ( const point3d< T > &  point,
const line< T, 3 > &  axis 
)
inline

◆ project_onto_axis() [7/18]

template<typename T , std::size_t D>
segment<T, D> wykobi::project_onto_axis ( const pointnd< T, D > &  point,
const line< T, D > &  axis 
)
inline

◆ project_onto_axis() [8/18]

template<typename T >
segment<T, 2> wykobi::project_onto_axis ( const polygon< T, 2 > &  polygon,
const line< T, 2 > &  axis 
)
inline

◆ project_onto_axis() [9/18]

template<typename T >
segment<T, 3> wykobi::project_onto_axis ( const polygon< T, 3 > &  polygon,
const line< T, 3 > &  axis 
)
inline

◆ project_onto_axis() [10/18]

template<typename T , std::size_t D>
segment<T, D> wykobi::project_onto_axis ( const polygon< T, D > &  polygon,
const line< T, D > &  axis 
)
inline

◆ project_onto_axis() [11/18]

template<typename T >
segment<T, 2> wykobi::project_onto_axis ( const quadix< T, 2 > &  quadix,
const line< T, 2 > &  axis 
)
inline

◆ project_onto_axis() [12/18]

template<typename T >
segment<T, 3> wykobi::project_onto_axis ( const quadix< T, 3 > &  quadix,
const line< T, 3 > &  axis 
)
inline

◆ project_onto_axis() [13/18]

template<typename T , std::size_t D>
segment<T, D> wykobi::project_onto_axis ( const quadix< T, D > &  quadix,
const line< T, D > &  axis 
)
inline

◆ project_onto_axis() [14/18]

template<typename T >
segment<T, 2> wykobi::project_onto_axis ( const rectangle< T > &  rectangle,
const line< T, 2 > &  axis 
)
inline

◆ project_onto_axis() [15/18]

template<typename T >
segment<T, 3> wykobi::project_onto_axis ( const sphere< T > &  sphere,
const line< T, 3 > &  axis 
)
inline

◆ project_onto_axis() [16/18]

template<typename T >
segment<T, 2> wykobi::project_onto_axis ( const triangle< T, 2 > &  triangle,
const line< T, 2 > &  axis 
)
inline

◆ project_onto_axis() [17/18]

template<typename T >
segment<T, 3> wykobi::project_onto_axis ( const triangle< T, 3 > &  triangle,
const line< T, 3 > &  axis 
)
inline

◆ project_onto_axis() [18/18]

template<typename T , std::size_t D>
segment<T, D> wykobi::project_onto_axis ( const triangle< T, D > &  triangle,
const line< T, D > &  axis 
)
inline

◆ project_point() [1/7]

template<typename T >
point2d<T> wykobi::project_point ( const point2d< T > &  point,
const T &  angle,
const T &  distance 
)
inline

◆ project_point() [2/7]

template<typename T >
point2d<T> wykobi::project_point ( const point2d< T > &  source_point,
const point2d< T > &  destination_point,
const T &  distance 
)
inline

◆ project_point() [3/7]

template<typename T >
point3d<T> wykobi::project_point ( const point3d< T > &  source_point,
const point3d< T > &  destination_point,
const T &  distance 
)
inline

◆ project_point() [4/7]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::project_point ( const pointnd< T, D > &  source_point,
const pointnd< T, D > &  destination_point,
const T &  distance 
)
inline

◆ project_point() [5/7]

template<typename T >
void wykobi::project_point ( const T &  px,
const T &  py,
const T &  angle,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point() [6/7]

template<typename T >
void wykobi::project_point ( const T &  srcx,
const T &  srcy,
const T &  destx,
const T &  desty,
const T &  dist,
T &  nx,
T &  ny 
)
inline

◆ project_point() [7/7]

template<typename T >
void wykobi::project_point ( const T &  srcx,
const T &  srcy,
const T &  srcz,
const T &  destx,
const T &  desty,
const T &  destz,
const T &  dist,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ project_point0() [1/2]

template<typename T >
point2d<T> wykobi::project_point0 ( const point2d< T > &  point,
const T &  distance 
)
inline

◆ project_point0() [2/2]

template<typename T >
void wykobi::project_point0 ( const T &  px,
const T &  py,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point135() [1/2]

template<typename T >
point2d<T> wykobi::project_point135 ( const point2d< T > &  point,
const T &  distance 
)
inline

◆ project_point135() [2/2]

template<typename T >
void wykobi::project_point135 ( const T &  px,
const T &  py,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point180() [1/2]

template<typename T >
point2d<T> wykobi::project_point180 ( const point2d< T > &  point,
const T &  distance 
)
inline

◆ project_point180() [2/2]

template<typename T >
void wykobi::project_point180 ( const T &  px,
const T &  py,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point225() [1/2]

template<typename T >
point2d<T> wykobi::project_point225 ( const point2d< T > &  point,
const T &  distance 
)
inline

◆ project_point225() [2/2]

template<typename T >
void wykobi::project_point225 ( const T &  px,
const T &  py,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point270() [1/2]

template<typename T >
point2d<T> wykobi::project_point270 ( const point2d< T > &  point,
const T &  distance 
)
inline

◆ project_point270() [2/2]

template<typename T >
void wykobi::project_point270 ( const T &  px,
const T &  py,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point315() [1/2]

template<typename T >
point2d<T> wykobi::project_point315 ( const point2d< T > &  point,
const T &  distance 
)
inline

◆ project_point315() [2/2]

template<typename T >
void wykobi::project_point315 ( const T &  px,
const T &  py,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point45() [1/2]

template<typename T >
point2d<T> wykobi::project_point45 ( const point2d< T > &  point,
const T &  distance 
)
inline

◆ project_point45() [2/2]

template<typename T >
void wykobi::project_point45 ( const T &  px,
const T &  py,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point90() [1/2]

template<typename T >
point2d<T> wykobi::project_point90 ( const point2d< T > &  point,
const T &  distance 
)
inline

◆ project_point90() [2/2]

template<typename T >
void wykobi::project_point90 ( const T &  px,
const T &  py,
const T &  distance,
T &  nx,
T &  ny 
)
inline

◆ project_point_t() [1/5]

template<typename T >
point2d<T> wykobi::project_point_t ( const point2d< T > &  source_point,
const point2d< T > &  destination_point,
const T &  t 
)
inline

◆ project_point_t() [2/5]

template<typename T >
point3d<T> wykobi::project_point_t ( const point3d< T > &  source_point,
const point3d< T > &  destination_point,
const T &  t 
)
inline

◆ project_point_t() [3/5]

template<typename T , std::size_t D>
pointnd<T, D> wykobi::project_point_t ( const pointnd< T, D > &  source_point,
const pointnd< T, D > &  destination_point,
const T &  t 
)
inline

◆ project_point_t() [4/5]

template<typename T >
void wykobi::project_point_t ( const T &  srcx,
const T &  srcy,
const T &  destx,
const T &  desty,
const T &  t,
T &  nx,
T &  ny 
)
inline

◆ project_point_t() [5/5]

template<typename T >
void wykobi::project_point_t ( const T &  srcx,
const T &  srcy,
const T &  srcz,
const T &  destx,
const T &  desty,
const T &  destz,
const T &  t,
T &  nx,
T &  ny,
T &  nz 
)
inline

◆ quadix_within_box() [1/2]

template<typename T >
bool wykobi::quadix_within_box ( const quadix< T, 3 > &  quadix,
const box< T, 3 > &  box 
)
inline

◆ quadix_within_box() [2/2]

template<typename T >
bool wykobi::quadix_within_box ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
const T &  x5,
const T &  y5,
const T &  z5,
const T &  x6,
const T &  y6,
const T &  z6 
)
inline

◆ quadix_within_rectangle() [1/2]

template<typename T >
bool wykobi::quadix_within_rectangle ( const quadix< T, 2 > &  quadix,
const rectangle< T > &  rectangle 
)
inline

◆ quadix_within_rectangle() [2/2]

template<typename T >
bool wykobi::quadix_within_rectangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  x5,
const T &  y5,
const T &  x6,
const T &  y6 
)
inline

◆ quadrant() [1/3]

template<typename T >
unsigned int wykobi::quadrant ( const point2d< T > &  point)
inline

◆ quadrant() [2/3]

template<typename T >
unsigned int wykobi::quadrant ( const T &  angle)
inline

◆ quadrant() [3/3]

template<typename T >
unsigned int wykobi::quadrant ( const T &  x,
const T &  y 
)
inline

◆ rectangle_corner()

template<typename T >
point2d<T> wykobi::rectangle_corner ( const rectangle< T > &  rectangle,
const std::size_t &  corner_index 
)
inline

◆ rectangle_to_rectangle_intersect() [1/2]

template<typename T >
bool wykobi::rectangle_to_rectangle_intersect ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2 
)
inline

◆ rectangle_to_rectangle_intersect() [2/2]

template<typename T >
bool wykobi::rectangle_to_rectangle_intersect ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ rectangle_within_rectangle() [1/2]

template<typename T >
bool wykobi::rectangle_within_rectangle ( const rectangle< T > &  rectangle1,
const rectangle< T > &  rectangle2 
)
inline

◆ rectangle_within_rectangle() [2/2]

template<typename T >
bool wykobi::rectangle_within_rectangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ remove_consecutive_collinear_points() [1/2]

template<typename T , typename InputIterator , typename OutputIterator >
void wykobi::remove_consecutive_collinear_points ( const InputIterator  begin,
const InputIterator  end,
OutputIterator  out 
)
inline

◆ remove_consecutive_collinear_points() [2/2]

template<typename T >
polygon<T, 2> wykobi::remove_consecutive_collinear_points ( const polygon< T, 2 > &  polygon)
inline

◆ reverse_segment() [1/2]

template<typename T >
segment<T, 2> wykobi::reverse_segment ( const segment< T, 2 > &  segment)
inline

◆ reverse_segment() [2/2]

template<typename T >
segment<T, 3> wykobi::reverse_segment ( const segment< T, 3 > &  segment)
inline

◆ right_shift() [1/4]

template<typename T >
quadix<T, 2> wykobi::right_shift ( const quadix< T, 2 > &  quadix,
const std::size_t &  shift 
)
inline

◆ right_shift() [2/4]

template<typename T >
quadix<T, 3> wykobi::right_shift ( const quadix< T, 3 > &  quadix,
const std::size_t &  shift 
)
inline

◆ right_shift() [3/4]

template<typename T >
triangle<T, 2> wykobi::right_shift ( const triangle< T, 2 > &  triangle,
const std::size_t &  shift 
)
inline

◆ right_shift() [4/4]

template<typename T >
triangle<T, 3> wykobi::right_shift ( const triangle< T, 3 > &  triangle,
const std::size_t &  shift 
)
inline

◆ robust_cartesian_angle() [1/4]

template<typename T >
T wykobi::robust_cartesian_angle ( const point2d< T > &  point)
inline

◆ robust_cartesian_angle() [2/4]

template<typename T >
T wykobi::robust_cartesian_angle ( const point2d< T > &  point,
const point2d< T > &  origin 
)
inline

◆ robust_cartesian_angle() [3/4]

template<typename T >
T wykobi::robust_cartesian_angle ( const T &  x,
const T &  y 
)
inline

◆ robust_cartesian_angle() [4/4]

template<typename T >
T wykobi::robust_cartesian_angle ( const T &  x,
const T &  y,
const T &  ox,
const T &  oy 
)
inline

◆ robust_collinear() [1/7]

template<typename T >
bool wykobi::robust_collinear ( const line< T, 2 > &  line,
const point2d< T > &  point,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_collinear() [2/7]

template<typename T >
bool wykobi::robust_collinear ( const line< T, 3 > &  line,
const point3d< T > &  point,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_collinear() [3/7]

template<typename T >
bool wykobi::robust_collinear ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_collinear() [4/7]

template<typename T >
bool wykobi::robust_collinear ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_collinear() [5/7]

template<typename T , std::size_t D>
bool wykobi::robust_collinear ( const pointnd< T, D > &  point1,
const pointnd< T, D > &  point2,
const pointnd< T, D > &  point3 
)
inline

◆ robust_collinear() [6/7]

template<typename T >
bool wykobi::robust_collinear ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_collinear() [7/7]

template<typename T >
bool wykobi::robust_collinear ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_coplanar()

template<typename T >
bool wykobi::robust_coplanar ( const point3d< T >  point1,
const point3d< T >  point2,
const point3d< T >  point3,
const point3d< T >  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_orientation() [1/2]

template<typename T >
int wykobi::robust_orientation ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py 
)
inline

◆ robust_orientation() [2/2]

template<typename T >
int wykobi::robust_orientation ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ robust_parallel() [1/10]

template<typename T >
bool wykobi::robust_parallel ( const line< T, 2 > &  line,
const segment< T, 2 > &  segment,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [2/10]

template<typename T >
bool wykobi::robust_parallel ( const line< T, 2 > &  line1,
const line< T, 2 > &  line2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [3/10]

template<typename T >
bool wykobi::robust_parallel ( const line< T, 3 > &  line,
const segment< T, 3 > &  segment,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [4/10]

template<typename T >
bool wykobi::robust_parallel ( const line< T, 3 > &  line1,
const line< T, 3 > &  line2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [5/10]

template<typename T >
bool wykobi::robust_parallel ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [6/10]

template<typename T >
bool wykobi::robust_parallel ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [7/10]

template<typename T >
bool wykobi::robust_parallel ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [8/10]

template<typename T >
bool wykobi::robust_parallel ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [9/10]

template<typename T >
bool wykobi::robust_parallel ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_parallel() [10/10]

template<typename T >
bool wykobi::robust_parallel ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [1/9]

template<typename T >
bool wykobi::robust_perpendicular ( const line< T, 2 > &  line,
const segment< T, 2 > &  segment,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [2/9]

template<typename T >
bool wykobi::robust_perpendicular ( const line< T, 2 > &  line1,
const line< T, 2 > &  line2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [3/9]

template<typename T >
bool wykobi::robust_perpendicular ( const line< T, 3 > &  line1,
const line< T, 3 > &  line2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [4/9]

template<typename T >
bool wykobi::robust_perpendicular ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [5/9]

template<typename T >
bool wykobi::robust_perpendicular ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [6/9]

template<typename T >
bool wykobi::robust_perpendicular ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [7/9]

template<typename T >
bool wykobi::robust_perpendicular ( const segment< T, 3 > &  segment1,
const segment< T, 3 > &  segment2,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [8/9]

template<typename T >
bool wykobi::robust_perpendicular ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ robust_perpendicular() [9/9]

template<typename T >
bool wykobi::robust_perpendicular ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
const T &  epsilon = T(Epsilon) 
)
inline

◆ rotate() [1/12]

template<typename T >
point2d<T> wykobi::rotate ( const T &  rotation_angle,
const point2d< T > &  point 
)
inline

◆ rotate() [2/12]

template<typename T >
point2d<T> wykobi::rotate ( const T &  rotation_angle,
const point2d< T > &  point,
const point2d< T > &  opoint 
)
inline

◆ rotate() [3/12]

template<typename T >
polygon<T, 2> wykobi::rotate ( const T &  rotation_angle,
const polygon< T, 2 > &  polygon 
)
inline

◆ rotate() [4/12]

template<typename T >
polygon<T, 2> wykobi::rotate ( const T &  rotation_angle,
const polygon< T, 2 > &  polygon,
const point2d< T > &  opoint 
)
inline

◆ rotate() [5/12]

template<typename T >
quadix<T, 2> wykobi::rotate ( const T &  rotation_angle,
const quadix< T, 2 > &  quadix 
)
inline

◆ rotate() [6/12]

template<typename T >
quadix<T, 2> wykobi::rotate ( const T &  rotation_angle,
const quadix< T, 2 > &  quadix,
const point2d< T > &  opoint 
)
inline

◆ rotate() [7/12]

template<typename T >
segment<T, 2> wykobi::rotate ( const T &  rotation_angle,
const segment< T, 2 > &  segment 
)
inline

◆ rotate() [8/12]

template<typename T >
segment<T, 2> wykobi::rotate ( const T &  rotation_angle,
const segment< T, 2 > &  segment,
const point2d< T > &  opoint 
)
inline

◆ rotate() [9/12]

template<typename T >
void wykobi::rotate ( const T &  rotation_angle,
const T &  x,
const T &  y,
const T &  ox,
const T &  oy,
T &  nx,
T &  ny 
)
inline

◆ rotate() [10/12]

template<typename T >
void wykobi::rotate ( const T &  rotation_angle,
const T &  x,
const T &  y,
T &  nx,
T &  ny 
)
inline

◆ rotate() [11/12]

template<typename T >
triangle<T, 2> wykobi::rotate ( const T &  rotation_angle,
const triangle< T, 2 > &  triangle 
)
inline

◆ rotate() [12/12]

template<typename T >
triangle<T, 2> wykobi::rotate ( const T &  rotation_angle,
const triangle< T, 2 > &  triangle,
const point2d< T > &  opoint 
)
inline

◆ scale() [1/16]

template<typename T >
circle<T> wykobi::scale ( const T &  dr,
const circle< T > &  circle 
)
inline

◆ scale() [2/16]

template<typename T >
sphere<T> wykobi::scale ( const T &  dr,
const sphere< T > &  sphere 
)
inline

◆ scale() [3/16]

template<typename T >
line<T, 2> wykobi::scale ( const T &  dx,
const T &  dy,
const line< T, 2 > &  line 
)
inline

◆ scale() [4/16]

template<typename T >
point2d<T> wykobi::scale ( const T &  dx,
const T &  dy,
const point2d< T > &  point 
)
inline

◆ scale() [5/16]

template<typename T >
polygon<T, 2> wykobi::scale ( const T &  dx,
const T &  dy,
const polygon< T, 2 > &  polygon 
)
inline

◆ scale() [6/16]

template<typename T >
quadix<T, 2> wykobi::scale ( const T &  dx,
const T &  dy,
const quadix< T, 2 > &  quadix 
)
inline

◆ scale() [7/16]

template<typename T >
rectangle<T> wykobi::scale ( const T &  dx,
const T &  dy,
const rectangle< T > &  rectangle 
)
inline

◆ scale() [8/16]

template<typename T >
segment<T, 2> wykobi::scale ( const T &  dx,
const T &  dy,
const segment< T, 2 > &  segment 
)
inline

◆ scale() [9/16]

template<typename T >
box<T, 3> wykobi::scale ( const T &  dx,
const T &  dy,
const T &  dz,
const box< T, 3 > &  box 
)
inline

◆ scale() [10/16]

template<typename T >
line<T, 3> wykobi::scale ( const T &  dx,
const T &  dy,
const T &  dz,
const line< T, 3 > &  line 
)
inline

◆ scale() [11/16]

template<typename T >
point3d<T> wykobi::scale ( const T &  dx,
const T &  dy,
const T &  dz,
const point3d< T > &  point 
)
inline

◆ scale() [12/16]

template<typename T >
polygon<T, 3> wykobi::scale ( const T &  dx,
const T &  dy,
const T &  dz,
const polygon< T, 3 > &  polygon 
)
inline

◆ scale() [13/16]

template<typename T >
quadix<T, 3> wykobi::scale ( const T &  dx,
const T &  dy,
const T &  dz,
const quadix< T, 3 > &  quadix 
)
inline

◆ scale() [14/16]

template<typename T >
segment<T, 3> wykobi::scale ( const T &  dx,
const T &  dy,
const T &  dz,
const segment< T, 3 > &  segment 
)
inline

◆ scale() [15/16]

template<typename T >
triangle<T, 3> wykobi::scale ( const T &  dx,
const T &  dy,
const T &  dz,
const triangle< T, 3 > &  triangle 
)
inline

◆ scale() [16/16]

template<typename T >
triangle<T, 2> wykobi::scale ( const T &  dx,
const T &  dy,
const triangle< T, 2 > &  triangle 
)
inline

◆ segment_mid_point() [1/8]

template<typename T >
point2d<T> wykobi::segment_mid_point ( const point2d< T > &  point1,
const point2d< T > &  point2 
)
inline

◆ segment_mid_point() [2/8]

template<typename T >
point3d<T> wykobi::segment_mid_point ( const point3d< T > &  point1,
const point3d< T > &  point2 
)
inline

◆ segment_mid_point() [3/8]

template<typename T >
point2d<T> wykobi::segment_mid_point ( const segment< T, 2 > &  segment)
inline

◆ segment_mid_point() [4/8]

template<typename T >
void wykobi::segment_mid_point ( const segment< T, 2 > &  segment,
T &  midx,
T &  midy 
)
inline

◆ segment_mid_point() [5/8]

template<typename T >
point3d<T> wykobi::segment_mid_point ( const segment< T, 3 > &  segment)
inline

◆ segment_mid_point() [6/8]

template<typename T >
void wykobi::segment_mid_point ( const segment< T, 3 > &  segment,
T &  midx,
T &  midy,
T &  midz 
)
inline

◆ segment_mid_point() [7/8]

template<typename T >
void wykobi::segment_mid_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
T &  midx,
T &  midy 
)
inline

◆ segment_mid_point() [8/8]

template<typename T >
void wykobi::segment_mid_point ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
T &  midx,
T &  midy,
T &  midz 
)
inline

◆ segment_within_box() [1/2]

template<typename T >
bool wykobi::segment_within_box ( const segment< T, 3 > &  segment,
const box< T, 3 > &  box 
)
inline

◆ segment_within_box() [2/2]

template<typename T >
bool wykobi::segment_within_box ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4 
)
inline

◆ segment_within_rectangle() [1/2]

template<typename T >
bool wykobi::segment_within_rectangle ( const segment< T, 2 > &  segment,
const rectangle< T > &  rectangle 
)
inline

◆ segment_within_rectangle() [2/2]

template<typename T >
bool wykobi::segment_within_rectangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ shorten_segment() [1/4]

template<typename T >
segment<T, 2> wykobi::shorten_segment ( const segment< T, 2 > &  segment,
const T &  amount 
)
inline

◆ shorten_segment() [2/4]

template<typename T >
segment<T, 3> wykobi::shorten_segment ( const segment< T, 3 > &  segment,
const T &  amount 
)
inline

◆ shorten_segment() [3/4]

template<typename T >
void wykobi::shorten_segment ( T &  x1,
T &  y1,
T &  x2,
T &  y2,
const T &  amount 
)
inline

◆ shorten_segment() [4/4]

template<typename T >
void wykobi::shorten_segment ( T &  x1,
T &  y1,
T &  z1,
T &  x2,
T &  y2,
T &  z2,
const T &  amount 
)
inline

◆ signed_area() [1/4]

template<typename T >
T wykobi::signed_area ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ signed_area() [2/4]

template<typename T >
T wykobi::signed_area ( const point2d< T > &  point1,
const point2d< T > &  point2,
const T &  px,
const T &  py 
)
inline

◆ signed_area() [3/4]

template<typename T >
T wykobi::signed_area ( const segment< T, 2 > &  segment,
const point2d< T > &  point 
)
inline

◆ signed_area() [4/4]

template<typename T >
T wykobi::signed_area ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  px,
const T &  py 
)
inline

◆ signed_volume() [1/4]

template<typename T >
T wykobi::signed_volume ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const point3d< T > &  point4 
)
inline

◆ signed_volume() [2/4]

template<typename T >
T wykobi::signed_volume ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ signed_volume() [3/4]

template<typename T >
T wykobi::signed_volume ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  px,
const T &  py,
const T &  pz 
)
inline

◆ signed_volume() [4/4]

template<typename T >
T wykobi::signed_volume ( const triangle< T, 3 > &  triangle,
const point3d< T > &  point 
)
inline

◆ simple_intersect() [1/3]

template<typename T >
bool wykobi::simple_intersect ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3,
const point2d< T > &  point4 
)
inline

◆ simple_intersect() [2/3]

template<typename T >
bool wykobi::simple_intersect ( const segment< T, 2 > &  segment1,
const segment< T, 2 > &  segment2 
)
inline

◆ simple_intersect() [3/3]

template<typename T >
bool wykobi::simple_intersect ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4 
)
inline

◆ simplex_to_bezier_intersect() [1/2]

template<typename T , unsigned int Dimension, typename Bezier , typename Iterator >
bool wykobi::simplex_to_bezier_intersect ( const Iterator &  begin,
const Iterator &  end,
const Bezier &  bezier,
const std::size_t &  steps 
)
inline

◆ simplex_to_bezier_intersect() [2/2]

template<typename T , unsigned int Dimension, typename Simplex , typename Bezier >
bool wykobi::simplex_to_bezier_intersect ( const Simplex &  simplex,
const Bezier &  bezier,
const std::size_t &  steps 
)
inline

◆ sin()

template<typename T >
T wykobi::sin ( const T &  value)
inline

◆ span_length() [1/2]

template<typename T >
T wykobi::span_length ( const box< T, 3 > &  box)
inline

◆ span_length() [2/2]

template<typename T >
T wykobi::span_length ( const rectangle< T > &  rectangle)
inline

◆ sphere_within_box() [1/2]

template<typename T >
bool wykobi::sphere_within_box ( const sphere< T > &  sphere,
const box< T, 3 > &  box 
)
inline

◆ sphere_within_box() [2/2]

template<typename T >
bool wykobi::sphere_within_box ( const T &  x,
const T &  y,
const T &  z,
const T &  radius,
const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2 
)
inline

◆ sqr()

template<typename T >
T wykobi::sqr ( const T &  val)
inline

◆ sqrt()

template<typename T >
T wykobi::sqrt ( const T &  val)
inline

◆ swap() [1/3]

template<typename T >
void wykobi::swap ( point2d< T > &  point1,
point2d< T > &  point2 
)
inline

◆ swap() [2/3]

template<typename T >
void wykobi::swap ( point3d< T > &  point1,
point3d< T > &  point2 
)
inline

◆ swap() [3/3]

template<typename T , std::size_t D>
void wykobi::swap ( pointnd< T, D > &  point1,
pointnd< T, D > &  point2 
)
inline

◆ symmedian_point() [1/2]

template<typename T >
point2d<T> wykobi::symmedian_point ( const triangle< T, 2 > &  triangle)
inline

◆ symmedian_point() [2/2]

template<typename T >
point3d<T> wykobi::symmedian_point ( const triangle< T, 3 > &  triangle)
inline

◆ tan()

template<typename T >
T wykobi::tan ( const T &  value)
inline

◆ tangent_line()

template<typename T >
line<T, 2> wykobi::tangent_line ( const circle< T > &  circle,
const point2d< T > &  point 
)
inline

◆ torricelli_point() [1/3]

template<typename T >
point2d<T> wykobi::torricelli_point ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ torricelli_point() [2/3]

template<typename T >
void wykobi::torricelli_point ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
T &  px,
T &  py 
)
inline

◆ torricelli_point() [3/3]

template<typename T >
point2d<T> wykobi::torricelli_point ( const triangle< T, 2 > &  triangle)
inline

◆ translate() [1/48]

template<typename T >
box<T, 3> wykobi::translate ( const T &  delta,
const box< T, 3 > &  box 
)
inline

◆ translate() [2/48]

template<typename T >
circle<T> wykobi::translate ( const T &  delta,
const circle< T > &  circle 
)
inline

◆ translate() [3/48]

template<typename T >
line<T, 2> wykobi::translate ( const T &  delta,
const line< T, 2 > &  line 
)
inline

◆ translate() [4/48]

template<typename T >
line<T, 3> wykobi::translate ( const T &  delta,
const line< T, 3 > &  line 
)
inline

◆ translate() [5/48]

template<typename T >
point2d<T> wykobi::translate ( const T &  delta,
const point2d< T > &  point 
)
inline

◆ translate() [6/48]

template<typename T >
point3d<T> wykobi::translate ( const T &  delta,
const point3d< T > &  point 
)
inline

◆ translate() [7/48]

template<typename T >
polygon<T, 2> wykobi::translate ( const T &  delta,
const polygon< T, 2 > &  polygon 
)
inline

◆ translate() [8/48]

template<typename T >
polygon<T, 3> wykobi::translate ( const T &  delta,
const polygon< T, 3 > &  polygon 
)
inline

◆ translate() [9/48]

template<typename T >
quadix<T, 2> wykobi::translate ( const T &  delta,
const quadix< T, 2 > &  quadix 
)
inline

◆ translate() [10/48]

template<typename T >
quadix<T, 3> wykobi::translate ( const T &  delta,
const quadix< T, 3 > &  quadix 
)
inline

◆ translate() [11/48]

template<typename T >
rectangle<T> wykobi::translate ( const T &  delta,
const rectangle< T > &  rectangle 
)
inline

◆ translate() [12/48]

template<typename T >
segment<T, 2> wykobi::translate ( const T &  delta,
const segment< T, 2 > &  segment 
)
inline

◆ translate() [13/48]

template<typename T >
segment<T, 3> wykobi::translate ( const T &  delta,
const segment< T, 3 > &  segment 
)
inline

◆ translate() [14/48]

template<typename T >
sphere<T> wykobi::translate ( const T &  delta,
const sphere< T > &  sphere 
)
inline

◆ translate() [15/48]

template<typename T >
triangle<T, 2> wykobi::translate ( const T &  delta,
const triangle< T, 2 > &  triangle 
)
inline

◆ translate() [16/48]

template<typename T >
triangle<T, 3> wykobi::translate ( const T &  delta,
const triangle< T, 3 > &  triangle 
)
inline

◆ translate() [17/48]

template<typename T >
circle<T> wykobi::translate ( const T &  dx,
const T &  dy,
const circle< T > &  circle 
)
inline

◆ translate() [18/48]

template<typename T >
line<T, 2> wykobi::translate ( const T &  dx,
const T &  dy,
const line< T, 2 > &  line 
)
inline

◆ translate() [19/48]

template<typename T >
point2d<T> wykobi::translate ( const T &  dx,
const T &  dy,
const point2d< T > &  point 
)
inline

◆ translate() [20/48]

template<typename T >
polygon<T, 2> wykobi::translate ( const T &  dx,
const T &  dy,
const polygon< T, 2 > &  polygon 
)
inline

◆ translate() [21/48]

template<typename T >
quadix<T, 2> wykobi::translate ( const T &  dx,
const T &  dy,
const quadix< T, 2 > &  quadix 
)
inline

◆ translate() [22/48]

template<typename T >
rectangle<T> wykobi::translate ( const T &  dx,
const T &  dy,
const rectangle< T > &  rectangle 
)
inline

◆ translate() [23/48]

template<typename T >
segment<T, 2> wykobi::translate ( const T &  dx,
const T &  dy,
const segment< T, 2 > &  segment 
)
inline

◆ translate() [24/48]

template<typename T >
box<T, 3> wykobi::translate ( const T &  dx,
const T &  dy,
const T &  dz,
const box< T, 3 > &  box 
)
inline

◆ translate() [25/48]

template<typename T >
line<T, 3> wykobi::translate ( const T &  dx,
const T &  dy,
const T &  dz,
const line< T, 3 > &  line 
)
inline

◆ translate() [26/48]

template<typename T >
point3d<T> wykobi::translate ( const T &  dx,
const T &  dy,
const T &  dz,
const point3d< T > &  point 
)
inline

◆ translate() [27/48]

template<typename T >
polygon<T, 3> wykobi::translate ( const T &  dx,
const T &  dy,
const T &  dz,
const polygon< T, 3 > &  polygon 
)
inline

◆ translate() [28/48]

template<typename T >
quadix<T, 3> wykobi::translate ( const T &  dx,
const T &  dy,
const T &  dz,
const quadix< T, 3 > &  quadix 
)
inline

◆ translate() [29/48]

template<typename T >
segment<T, 3> wykobi::translate ( const T &  dx,
const T &  dy,
const T &  dz,
const segment< T, 3 > &  segment 
)
inline

◆ translate() [30/48]

template<typename T >
sphere<T> wykobi::translate ( const T &  dx,
const T &  dy,
const T &  dz,
const sphere< T > &  sphere 
)
inline

◆ translate() [31/48]

template<typename T >
triangle<T, 3> wykobi::translate ( const T &  dx,
const T &  dy,
const T &  dz,
const triangle< T, 3 > &  triangle 
)
inline

◆ translate() [32/48]

template<typename T >
triangle<T, 2> wykobi::translate ( const T &  dx,
const T &  dy,
const triangle< T, 2 > &  triangle 
)
inline

◆ translate() [33/48]

template<typename T >
circle<T> wykobi::translate ( const vector2d< T > &  v,
const circle< T > &  circle 
)
inline

◆ translate() [34/48]

template<typename T >
line<T, 2> wykobi::translate ( const vector2d< T > &  v,
const line< T, 2 > &  line 
)
inline

◆ translate() [35/48]

template<typename T >
point2d<T> wykobi::translate ( const vector2d< T > &  v,
const point2d< T > &  point 
)
inline

◆ translate() [36/48]

template<typename T >
polygon<T, 2> wykobi::translate ( const vector2d< T > &  v,
const polygon< T, 2 > &  polygon 
)
inline

◆ translate() [37/48]

template<typename T >
quadix<T, 2> wykobi::translate ( const vector2d< T > &  v,
const quadix< T, 2 > &  quadix 
)
inline

◆ translate() [38/48]

template<typename T >
rectangle<T> wykobi::translate ( const vector2d< T > &  v,
const rectangle< T > &  rectangle 
)
inline

◆ translate() [39/48]

template<typename T >
segment<T, 2> wykobi::translate ( const vector2d< T > &  v,
const segment< T, 2 > &  segment 
)
inline

◆ translate() [40/48]

template<typename T >
triangle<T, 2> wykobi::translate ( const vector2d< T > &  v,
const triangle< T, 2 > &  triangle 
)
inline

◆ translate() [41/48]

template<typename T >
box<T, 3> wykobi::translate ( const vector3d< T > &  v,
const box< T, 3 > &  box 
)
inline

◆ translate() [42/48]

template<typename T >
line<T, 3> wykobi::translate ( const vector3d< T > &  v,
const line< T, 3 > &  line 
)
inline

◆ translate() [43/48]

template<typename T >
point3d<T> wykobi::translate ( const vector3d< T > &  v,
const point3d< T > &  point 
)
inline

◆ translate() [44/48]

template<typename T >
polygon<T, 3> wykobi::translate ( const vector3d< T > &  v,
const polygon< T, 3 > &  polygon 
)
inline

◆ translate() [45/48]

template<typename T >
quadix<T, 3> wykobi::translate ( const vector3d< T > &  v,
const quadix< T, 3 > &  quadix 
)
inline

◆ translate() [46/48]

template<typename T >
segment<T, 3> wykobi::translate ( const vector3d< T > &  v,
const segment< T, 3 > &  segment 
)
inline

◆ translate() [47/48]

template<typename T >
sphere<T> wykobi::translate ( const vector3d< T > &  v,
const sphere< T > &  sphere 
)
inline

◆ translate() [48/48]

template<typename T >
triangle<T, 3> wykobi::translate ( const vector3d< T > &  v,
const triangle< T, 3 > &  triangle 
)
inline

◆ transpose() [1/4]

template<typename T >
void wykobi::transpose ( matrix< T, 1, 1 > &  matrix)
inline

◆ transpose() [2/4]

template<typename T >
void wykobi::transpose ( matrix< T, 2, 2 > &  matrix)
inline

◆ transpose() [3/4]

template<typename T >
void wykobi::transpose ( matrix< T, 3, 3 > &  matrix)
inline

◆ transpose() [4/4]

template<typename T >
void wykobi::transpose ( matrix< T, 4, 4 > &  matrix)
inline

◆ triangle_bisector() [1/2]

template<typename T >
line<T, 2> wykobi::triangle_bisector ( const triangle< T, 2 > &  triangle,
const std::size_t &  bisector 
)
inline

◆ triangle_bisector() [2/2]

template<typename T >
line<T, 3> wykobi::triangle_bisector ( const triangle< T, 3 > &  triangle,
const std::size_t &  bisector 
)
inline

◆ triangle_external_bisector() [1/2]

template<typename T >
line<T, 2> wykobi::triangle_external_bisector ( const triangle< T, 2 > &  triangle,
const std::size_t &  corner,
const std::size_t &  opposing_corner 
)
inline

◆ triangle_external_bisector() [2/2]

template<typename T >
line<T, 3> wykobi::triangle_external_bisector ( const triangle< T, 3 > &  triangle,
const std::size_t &  corner,
const std::size_t &  opposing_corner 
)
inline

◆ triangle_median() [1/2]

template<typename T >
line<T, 2> wykobi::triangle_median ( const triangle< T, 2 > &  triangle,
const std::size_t &  median 
)
inline

◆ triangle_median() [2/2]

template<typename T >
line<T, 3> wykobi::triangle_median ( const triangle< T, 3 > &  triangle,
const std::size_t &  median 
)
inline

◆ triangle_symmedian() [1/2]

template<typename T >
line<T, 2> wykobi::triangle_symmedian ( const triangle< T, 2 > &  triangle,
const std::size_t &  symmedian 
)
inline

◆ triangle_symmedian() [2/2]

template<typename T >
line<T, 3> wykobi::triangle_symmedian ( const triangle< T, 3 > &  triangle,
const std::size_t &  symmedian 
)
inline

◆ triangle_within_box() [1/2]

template<typename T >
bool wykobi::triangle_within_box ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3,
const T &  x4,
const T &  y4,
const T &  z4,
const T &  x5,
const T &  y5,
const T &  z5 
)
inline

◆ triangle_within_box() [2/2]

template<typename T >
bool wykobi::triangle_within_box ( const triangle< T, 3 > &  triangle,
const box< T, 3 > &  box 
)
inline

◆ triangle_within_rectangle() [1/2]

template<typename T >
bool wykobi::triangle_within_rectangle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3,
const T &  x4,
const T &  y4,
const T &  x5,
const T &  y5 
)
inline

◆ triangle_within_rectangle() [2/2]

template<typename T >
bool wykobi::triangle_within_rectangle ( const triangle< T, 2 > &  triangle,
const rectangle< T > &  rectangle 
)
inline

◆ trilateration() [1/2]

template<typename T >
point2d<T> wykobi::trilateration ( const circle< T > &  c0,
const circle< T > &  c1,
const circle< T > &  c2 
)
inline

◆ trilateration() [2/2]

template<typename T >
bool wykobi::trilateration ( const T &  c0x,
const T &  c0y,
const T &  c0r,
const T &  c1x,
const T &  c1y,
const T &  c1r,
const T &  c2x,
const T &  c2y,
const T &  c2r,
T &  px,
T &  py 
)
inline

◆ triple_product()

template<typename T >
T wykobi::triple_product ( const vector3d< T > &  v1,
const vector3d< T > &  v2,
const vector3d< T > &  v3 
)
inline

◆ update_box()

template<typename T >
box<T, 3> wykobi::update_box ( const box< T, 3 > &  box,
point3d< T > &  point 
)
inline

◆ update_circle()

template<typename T >
circle<T> wykobi::update_circle ( const circle< T > &  circle,
point2d< T > &  point 
)
inline

◆ update_rectangle()

template<typename T >
rectangle<T> wykobi::update_rectangle ( const rectangle< T > &  rectangle,
point2d< T > &  point 
)
inline

◆ update_sphere()

template<typename T >
sphere<T> wykobi::update_sphere ( const sphere< T > &  sphere,
point3d< T > &  point 
)
inline

◆ vector_norm() [1/3]

template<typename T >
T wykobi::vector_norm ( const vector2d< T > &  v)
inline

◆ vector_norm() [2/3]

template<typename T >
T wykobi::vector_norm ( const vector3d< T > &  v)
inline

◆ vector_norm() [3/3]

template<typename T , std::size_t D>
T wykobi::vector_norm ( const vectornd< T, D > &  v)
inline

◆ vertex_angle() [1/4]

template<typename T >
T wykobi::vertex_angle ( const point2d< T > &  point1,
const point2d< T > &  point2,
const point2d< T > &  point3 
)
inline

◆ vertex_angle() [2/4]

template<typename T >
T wykobi::vertex_angle ( const point3d< T > &  point1,
const point3d< T > &  point2,
const point3d< T > &  point3 
)
inline

◆ vertex_angle() [3/4]

template<typename T >
T wykobi::vertex_angle ( const T &  x1,
const T &  y1,
const T &  x2,
const T &  y2,
const T &  x3,
const T &  y3 
)
inline

◆ vertex_angle() [4/4]

template<typename T >
T wykobi::vertex_angle ( const T &  x1,
const T &  y1,
const T &  z1,
const T &  x2,
const T &  y2,
const T &  z2,
const T &  x3,
const T &  y3,
const T &  z3 
)
inline

◆ vertex_is_ear()

template<typename T >
bool wykobi::vertex_is_ear ( const std::size_t &  index,
const polygon< T, 2 > &  polygon 
)
inline

◆ vertex_triangle()

template<typename T >
triangle<T, 2> wykobi::vertex_triangle ( const std::size_t &  index,
const polygon< T, 2 >  polygon 
)
inline

◆ vertical_mirror()

template<typename T >
T wykobi::vertical_mirror ( const T &  angle)
inline

Variable Documentation

◆ AboveOrientation

const int wykobi::AboveOrientation = +1

◆ basic_color

const GLfloat wykobi::basic_color[14][3]
Initial value:
= {
{0.0 / 255.0, 0.0 / 255.0, 0.0 / 255.0},
{255.0 / 255.0, 0.0 / 255.0, 0.0 / 255.0},
{0.0 / 255.0, 255.0 / 255.0, 0.0 / 255.0},
{0.0 / 255.0, 0.0 / 255.0, 255.0 / 255.0},
{255.0 / 255.0, 0.0 / 255.0, 255.0 / 255.0},
{0.0 / 255.0, 255.0 / 255.0, 255.0 / 255.0},
{0.0 / 255.0, 0.0 / 255.0, 255.0 / 255.0},
{255.0 / 255.0, 255.0 / 255.0, 0.0 / 255.0},
{0.0 / 255.0, 255.0 / 255.0, 255.0 / 255.0},
{255.0 / 255.0, 192.0 / 255.0, 64.0 / 255.0},
{255.0 / 255.0, 0.0 / 255.0, 255.0 / 255.0},
{255.0 / 255.0, 0.0 / 255.0, 0.0 / 255.0},
{255.0 / 255.0, 255.0 / 255.0, 255.0 / 255.0},
{255.0 / 255.0, 255.0 / 255.0, 0.0 / 255.0}}

◆ BelowOrientation

const int wykobi::BelowOrientation = -1

◆ CLIP_BOTTOM

const int wykobi::CLIP_BOTTOM = 1

◆ CLIP_LEFT

const int wykobi::CLIP_LEFT = 4

◆ CLIP_RIGHT

const int wykobi::CLIP_RIGHT = 8

◆ CLIP_TOP

const int wykobi::CLIP_TOP = 2

◆ Clockwise

const int wykobi::Clockwise = -1

◆ Cocircular

const int wykobi::Cocircular = 0

◆ CollinearOrientation

const int wykobi::CollinearOrientation = 0

◆ CoplanarOrientation

const int wykobi::CoplanarOrientation = 0

◆ Cospherical

const int wykobi::Cospherical = 0

◆ CounterClockwise

const int wykobi::CounterClockwise = +1

◆ LeftHandSide

const int wykobi::LeftHandSide = +1

◆ PointInside

const int wykobi::PointInside = +1

◆ PointOutside

const int wykobi::PointOutside = -1

◆ RightHandSide

const int wykobi::RightHandSide = -1