|
template<typename T , std::size_t D> |
bool | wykobi::parallel (const line< T, D > &line1, const line< T, D > &line2) |
|
template<typename T , std::size_t D> |
bool | wykobi::parallel (const segment< T, D > &segment1, const segment< T, D > &segment2) |
|
template<typename T , std::size_t D> |
bool | wykobi::perpendicular (const line< T, D > &line1, const line< T, D > &line2) |
|
template<typename T , std::size_t D> |
bool | wykobi::perpendicular (const segment< T, D > &segment1, const segment< T, D > &segment2) |
|
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) |
|
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) |
|
template<typename T , std::size_t D> |
bool | wykobi::is_point_collinear (const segment< T, D > &segment, const pointnd< T, D > &point, const bool robust=false) |
|
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)) |
|
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)) |
|
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)) |
|
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)) |
|
template<typename T , std::size_t D> |
T | wykobi::distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
T | wykobi::distance (const pointnd< T, D > &point, const segment< T, D > &segment) |
|
template<typename T , std::size_t D> |
T | wykobi::distance (const pointnd< T, D > &point, const line< T, D > &line) |
|
template<typename T , std::size_t D> |
T | wykobi::distance (const segment< T, D > &segment1, const segment< T, D > &segment2) |
|
template<typename T , std::size_t D> |
T | wykobi::distance (const line< T, D > &line1, const line< T, D > &line2) |
|
template<typename T , std::size_t D> |
T | wykobi::lay_distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
T | wykobi::lay_distance (const pointnd< T, D > &point, const segment< T, D > &segment) |
|
template<typename T , std::size_t D> |
T | wykobi::lay_distance (const pointnd< T, D > &point, const line< T, D > &line) |
|
template<typename T , std::size_t D> |
T | wykobi::lay_distance (const segment< T, D > &segment1, const segment< T, D > &segment2) |
|
template<typename T , std::size_t D> |
T | wykobi::lay_distance (const line< T, D > &line1, const line< T, D > &line2) |
|
template<typename T , std::size_t D> |
T | wykobi::manhattan_distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
T | wykobi::chebyshev_distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
T | wykobi::inverse_chebyshev_distance (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
bool | wykobi::point_in_box (const pointnd< T, D > &point, const box< T, D > &box) |
|
template<typename T , std::size_t D> |
bool | wykobi::point_in_sphere (const pointnd< T, D > &point, const hypersphere< T, D > &hypersphere) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::mirror (const pointnd< T, D > &point, const line< T, D > &mirror_axis) |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::mirror (const segment< T, D > &segment, const line< T, D > &mirror_axis) |
|
template<typename T , std::size_t D> |
line< T, D > | wykobi::mirror (const line< T, D > &line, const wykobi::line< T, D > &mirror_axis) |
|
template<typename T , std::size_t D> |
box< T, D > | wykobi::mirror (const box< T, D > &box, const line< T, D > &mirror_axis) |
|
template<typename T , std::size_t D> |
triangle< T, D > | wykobi::mirror (const triangle< T, D > &triangle, const line< T, D > &mirror_axis) |
|
template<typename T , std::size_t D> |
quadix< T, D > | wykobi::mirror (const quadix< T, D > &quadix, const line< T, D > &mirror_axis) |
|
template<typename T , std::size_t D> |
hypersphere< T, D > | wykobi::mirror (const hypersphere< T, D > &sphere, const line< T, D > &mirror_axis) |
|
template<typename T , std::size_t D> |
polygon< T, D > | wykobi::mirror (const polygon< T, D > &polygon, const line< T, D > &mirror_axis) |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::project_onto_axis (const pointnd< T, D > &point, const line< T, D > &axis) |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::project_onto_axis (const triangle< T, D > &triangle, const line< T, D > &axis) |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::project_onto_axis (const box< T, D > &box, const line< T, D > &axis) |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::project_onto_axis (const quadix< T, D > &quadix, const line< T, D > &axis) |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::project_onto_axis (const hypersphere< T, D > &sphere, const line< T, D > &axis) |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::project_onto_axis (const polygon< T, D > &polygon, const line< T, D > &axis) |
|
template<typename T , std::size_t D> |
T | wykobi::perimeter (const triangle< T, D > &triangle) |
|
template<typename T , std::size_t D> |
T | wykobi::perimeter (const quadix< T, D > &quadix) |
|
template<typename T , std::size_t D> |
T | wykobi::perimeter (const polygon< T, D > &polygon) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::generate_random_point (const segment< T, D > &segment) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::generate_random_point (const triangle< T, D > &triangle) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::generate_random_point (const quadix< T, D > &quadix) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::generate_random_point (const box< T, D > &box) |
|
template<typename T , std::size_t D, typename OutputIterator > |
void | wykobi::generate_random_points (const box< T, D > &box, const std::size_t &point_count, OutputIterator out) |
|
template<typename T , std::size_t D, typename OutputIterator > |
void | wykobi::generate_random_points (const segment< T, D > &segment, const std::size_t &point_count, OutputIterator out) |
|
template<typename T , std::size_t D, typename OutputIterator > |
void | wykobi::generate_random_points (const triangle< T, D > &triangle, const std::size_t &point_count, OutputIterator out) |
|
template<typename T , std::size_t D, typename OutputIterator > |
void | wykobi::generate_random_points (const quadix< T, D > &quadix, const std::size_t &point_count, OutputIterator out) |
|
template<typename T , std::size_t D> |
T | wykobi::vector_norm (const vectornd< T, D > &v) |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::normalize (const vectornd< T, D > &v) |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::operator+ (const vectornd< T, D > &v1, const vectornd< T, D > &v2) |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::operator- (const vectornd< T, D > &v1, const vectornd< T, D > &v2) |
|
template<typename T , std::size_t D> |
T | wykobi::dot_product (const vectornd< T, D > &v1, const vectornd< T, D > &v2) |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::operator* (const vectornd< T, D > &v1, const T &scale) |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::operator* (const T &scale, const vectornd< T, D > &v1) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::operator* (const pointnd< T, D > &point, const T &scale) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::operator* (const T &scale, const pointnd< T, D > &point) |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::operator/ (const vectornd< T, D > &v1, const T &scale) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::operator/ (const pointnd< T, D > &point, const T &scale) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::operator+ (const pointnd< T, D > &point, const vectornd< T, D > &v) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::operator+ (const vectornd< T, D > &v, const pointnd< T, D > &point) |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::operator- (const pointnd< T, D > &p1, const pointnd< T, D > &p2) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::operator+ (const pointnd< T, D > &p1, const pointnd< T, D > &p2) |
|
template<typename T > |
T | wykobi::operator* (const vectornd< T, 2 > &v1, const vectornd< T, 2 > &v2) |
|
template<typename T > |
vectornd< T, 3 > | wykobi::operator* (const vectornd< T, 3 > &v1, const vectornd< T, 3 > &v2) |
|
template<typename T , std::size_t D> |
bool | wykobi::operator< (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
bool | wykobi::operator> (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
bool | wykobi::operator== (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
bool | wykobi::is_equal (const pointnd< T, D > &point1, const pointnd< T, D > &point2, const T &epsilon) |
|
template<typename T , std::size_t D> |
bool | wykobi::is_equal (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
bool | wykobi::not_equal (const pointnd< T, D > &point1, const pointnd< T, D > &point2, const T &epsilon) |
|
template<typename T , std::size_t D> |
bool | wykobi::not_equal (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::degenerate_pointnd () |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::degenerate_vectornd () |
|
template<typename T , std::size_t D> |
ray< T, D > | wykobi::degenerate_raynd () |
|
template<typename T , std::size_t D> |
line< T, D > | wykobi::degenerate_linend () |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::degenerate_segmentnd () |
|
template<typename T , std::size_t D> |
triangle< T, D > | wykobi::degenerate_trianglend () |
|
template<typename T , std::size_t D> |
quadix< T, D > | wykobi::degenerate_quadixnd () |
|
template<typename T , std::size_t D> |
box< T, D > | wykobi::degenerate_box () |
|
template<typename T , std::size_t D> |
hypersphere< T, D > | wykobi::degenerate_hypersphere () |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::positive_infinite_pointnd () |
|
template<typename T , std::size_t D> |
pointnd< T, D > | wykobi::negative_infinite_pointnd () |
|
template<typename T , std::size_t D> |
void | wykobi::swap (pointnd< T, D > &point1, pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
vectornd< T, D > | wykobi::make_vector (const pointnd< T, D > &point) |
|
template<typename T , std::size_t D> |
ray< T, D > | wykobi::make_ray (const pointnd< T, D > &origin, const vectornd< T, D > &direction) |
|
template<typename T , std::size_t D> |
segment< T, D > | wykobi::make_segment (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
line< T, D > | wykobi::make_line (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
box< T, D > | wykobi::make_box (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
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) |
|
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) |
|
template<typename T , std::size_t D> |
hypersphere< T, D > | wykobi::make_sphere (const pointnd< T, D > &point, const T &radius) |
|
template<typename T , std::size_t D> |
hypersphere< T, D > | wykobi::make_sphere (const pointnd< T, D > &point1, const pointnd< T, D > &point2) |
|
template<typename T , std::size_t D> |
polygon< T, D > | wykobi::make_polygon (const std::vector< pointnd< T, D > > &point_list) |
|
template<typename T , std::size_t D> |
polygon< T, D > | wykobi::make_polygon (const triangle< T, D > &triangle) |
|
template<typename T , std::size_t D> |
polygon< T, D > | wykobi::make_polygon (const quadix< T, D > &quadix) |
|