#include "DistFuncs.h"
Go to the source code of this file.
Defines | |
#define | EPS 1e-8 |
Functions | |
std::ostream & | operator<< (std::ostream &ost, const Point &p) |
bool | PointFaceAppTest (const Point &P, const Point **vertices, const Point *edges, const Point &n) |
check whether a point is in Voroni region of a face | |
float | PointPlaneDist (const Point &P, const Point &pointOnPlane, const Point &n, Point &cp) |
compute signed distance between a point and a plane | |
float | PointSegDist (const Point &P, const Point &u0, const Point &u1) |
compute distance between a point and a line segment | |
float | SegSegDist (const Point &u0, const Point &u, const Point &v0, const Point &v, Point &cp0, Point &cp1) |
compute the minimum distance and the closest points between two line segments | |
float | SegSegDist (const Point &u0, const Point &u1, const Point &v0, const Point &v1) |
compute distance between line segments | |
float | TriTriDist (const Point &U0, const Point &U1, const Point &U2, const Point &V0, const Point &V1, const Point &V2, Point &cp0, Point &cp1) |
compute the minimum distance and the closest points between two triangles |
#define EPS 1e-8 |
Definition at line 3 of file DistFuncs.cpp.
bool PointFaceAppTest | ( | const Point & | P, |
const Point ** | vertices, | ||
const Point * | edges, | ||
const Point & | n | ||
) | [inline] |
check whether a point is in Voroni region of a face
p | a point to be tested |
vertices | vertices of the triangle |
edges | edges of the triangle |
n | normal vector of the triangle |
Definition at line 141 of file DistFuncs.cpp.
float PointPlaneDist | ( | const Point & | P, |
const Point & | pointOnPlane, | ||
const Point & | n, | ||
Point & | cp | ||
) | [inline] |
compute signed distance between a point and a plane
P | a point |
pointOnPolane | a point on the plane |
n | normal vector of the plane |
cp | the closest point on the plane from P |
Definition at line 105 of file DistFuncs.cpp.
compute distance between a point and a line segment
P | the point |
u0 | one of end points of the line segment |
u1 | the other end point of the line segment |
Definition at line 115 of file DistFuncs.cpp.
float SegSegDist | ( | const Point & | u0, |
const Point & | u, | ||
const Point & | v0, | ||
const Point & | v, | ||
Point & | cp0, | ||
Point & | cp1 | ||
) | [inline] |
compute the minimum distance and the closest points between two line segments
This function is implemented referring the following webpage http://www.softsurfer.com/Archive/algorithm_0106/algorithm_0106.htm
u0 | start point of the first line segment |
u | vector from u0 to the other end point of the first line segment |
v0 | start point of the second line segment |
v | vector from v0 the other end point of the second line segment |
cp0 | the closest point on the first line segment |
cp1 | the closest point on the second line segment |
Definition at line 24 of file DistFuncs.cpp.
compute distance between line segments
u0 one of end points of the first line segment u1 the other end point of the first line segment v0 one of end points of the second line segment v1 the other end point of the second line segment
Definition at line 271 of file DistFuncs.cpp.
float TriTriDist | ( | const Point & | U0, |
const Point & | U1, | ||
const Point & | U2, | ||
const Point & | V0, | ||
const Point & | V1, | ||
const Point & | V2, | ||
Point & | cp0, | ||
Point & | cp1 | ||
) |
compute the minimum distance and the closest points between two triangles
U0 | the first vertex of the first triangle |
U1 | the second vertex of the first triangle |
U2 | the third vertex of the first triangle |
V0 | the first vertex of the second triangle |
V1 | the second vertex of the second triangle |
V2 | the third vertex of the second triangle |
cp0 | the closest point on the first triangle |
cp1 | the closest point on the second triangle |
Definition at line 154 of file DistFuncs.cpp.