biped-stabilizer 1.5.0
Stabilizer for Biped Locomotion
Loading...
Searching...
No Matches
wykobi Namespace Reference

Namespaces

namespace  algorithm

Classes

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

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

◆ 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(Tangle)
inline

◆ approx_sin()

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

◆ approx_tan()

template<typename T>
T wykobi::approx_tan(Tangle)
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 introtation_angle,
const point2d< T > &point )
inline

◆ fast_rotate() [2/24]

template<typename T>
point2d< T > wykobi::fast_rotate(const trig_luts< T > &lut,
const introtation_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 introtation_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 introtation_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 introtation_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 introtation_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 introtation_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 introtation_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 introtation_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 introtation_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 introtation_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 introtation_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 intrx,
const intry,
const intrz,
const point3d< T > &point )
inline

◆ fast_rotate() [14/24]

template<typename T>
point3d< T > wykobi::fast_rotate(const trig_luts< T > &lut,
const intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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 intrx,
const intry,
const intrz,
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,
OutputIteratorout,
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,
OutputIteratorout,
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,
OutputIteratorout,
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,
OutputIteratorout,
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout )
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,
OutputIteratorout,
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,
OutputIteratorout,
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,
OutputIteratorout )
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,
OutputIteratorout,
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,
OutputIteratorout,
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,
OutputIteratorout )
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,
OutputIteratorout )
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 boolrobust = 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 boolrobust = 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 boolrobust = 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 boolrobust = 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 boolrobust = 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 boolrobust = 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 boolrobust = 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 boolrobust = 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 intpoint_count = 360 )
inline

◆ make_polygon() [2/10]

template<typename T, std::size_t D, typename InputIterator>
polygon< T, D > wykobi::make_polygon(const InputIteratorbegin,
const InputIteratorend )
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 intorient = 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 intorient = 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 InputIteratorbegin,
const InputIteratorend,
OutputIteratorout )
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