24 #define SMALL_NUM 0.00000001 // anything that avoids division overflow 35 float D =
a *
c -
b *
b;
85 else if ((-d +
b) >
a)
94 sc = (fabs(sN) <
SMALL_NUM ? 0.0 : sN / sD);
98 Eigen::Vector3f dP =
w + (sc * u) - (
tc *
v);
100 return dP.squaredNorm();
105 Eigen::Vector2f normalLine;
107 for (
size_t i = 1; i < hull3D->size(); i++)
109 normalLine[0] = hull3D->points[i - 1].y - hull3D->points[i].y;
110 normalLine[1] = hull3D->points[i].x - hull3D->points[i - 1].x;
111 r[0] = point3D.x - hull3D->points[i].x;
112 r[1] = point3D.y - hull3D->points[i].y;
113 if ((
r.dot(normalLine)) < 0)
return false;
Eigen::Vector3f diffPoints(const POINT &P1, const POINT &P2)
GLubyte GLubyte GLubyte GLubyte w
float dist3D_Segment_to_Segment2(Segment S1, Segment S2)
GLdouble GLdouble GLdouble r
bool isInHull(PointT &point3D, pcl::PointCloud< PointT >::Ptr hull3D)
GLubyte GLubyte GLubyte a