Choreonoid
1.1
|
#include "DistFuncs.h"
マクロ定義 | |
#define | EPS 1e-8 |
関数 | |
std::ostream & | operator<< (std::ostream &ost, const Point &p) |
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 | 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 | |
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 | 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 | |
float | SegSegDist (const Point &u0, const Point &u1, const Point &v0, const Point &v1) |
compute distance between line segments |
#define EPS 1e-8 |
std::ostream& operator<< | ( | std::ostream & | ost, |
const Point & | p | ||
) |
|
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 |
|
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 |
float PointSegDist | ( | const Point & | P, |
const Point & | u0, | ||
const Point & | u1 | ||
) |
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 |
|
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 |
float SegSegDist | ( | const Point & | u0, |
const Point & | u1, | ||
const Point & | v0, | ||
const Point & | v1 | ||
) |
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
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 |