Skip to content
Snippets Groups Projects
Commit 6f1b4978 authored by Tom Fischer's avatar Tom Fischer
Browse files

[GL] Use Point3d::asEigenVector3d().

parent 16318e82
No related branches found
No related tags found
No related merge requests found
......@@ -152,10 +152,10 @@ bool lineSegmentIntersect(GeoLib::LineSegment const& s0,
return false;
}
auto const a = s0.getBeginPoint().asEigenVector3d();
auto const b = s0.getEndPoint().asEigenVector3d();
auto const c = s1.getBeginPoint().asEigenVector3d();
auto const d = s1.getEndPoint().asEigenVector3d();
auto const& a = s0.getBeginPoint().asEigenVector3d();
auto const& b = s0.getEndPoint().asEigenVector3d();
auto const& c = s1.getBeginPoint().asEigenVector3d();
auto const& d = s1.getEndPoint().asEigenVector3d();
Eigen::Vector3d const v = b - a;
Eigen::Vector3d const w = d - c;
......@@ -369,16 +369,10 @@ std::unique_ptr<GeoLib::Point> triangleLineIntersection(
MathLib::Point3d const& c, MathLib::Point3d const& p,
MathLib::Point3d const& q)
{
auto const va = a.asEigenVector3d();
auto const vb = b.asEigenVector3d();
auto const vc = c.asEigenVector3d();
auto const vp = p.asEigenVector3d();
auto const vq = q.asEigenVector3d();
Eigen::Vector3d const pq = vq - vp;
Eigen::Vector3d const pa = va - vp;
Eigen::Vector3d const pb = vb - vp;
Eigen::Vector3d const pc = vc - vp;
Eigen::Vector3d const pq = q.asEigenVector3d() - p.asEigenVector3d();
Eigen::Vector3d const pa = a.asEigenVector3d() - p.asEigenVector3d();
Eigen::Vector3d const pb = b.asEigenVector3d() - p.asEigenVector3d();
Eigen::Vector3d const pc = c.asEigenVector3d() - p.asEigenVector3d();
double u = pq.cross(pc).dot(pb);
if (u < 0)
......
......@@ -34,13 +34,11 @@ MinimalBoundingSphere::MinimalBoundingSphere(MathLib::Point3d const& p,
MathLib::Point3d const& q)
: _radius(std::numeric_limits<double>::epsilon()), _center(p)
{
auto const& vp = p.asEigenVector3d();
auto const& vq = q.asEigenVector3d();
Eigen::Vector3d const a = vq - vp;
Eigen::Vector3d const a = q.asEigenVector3d() - p.asEigenVector3d();
Eigen::Vector3d o = a / 2;
_radius = o.norm() + std::numeric_limits<double>::epsilon();
o += vp;
o += p.asEigenVector3d();
_center = MathLib::Point3d{{o[0], o[1], o[2]}};
}
......@@ -49,10 +47,8 @@ MinimalBoundingSphere::MinimalBoundingSphere(MathLib::Point3d const& p,
MathLib::Point3d const& r)
{
auto const& vp = p.asEigenVector3d();
auto const& vq = q.asEigenVector3d();
auto const& vr = r.asEigenVector3d();
Eigen::Vector3d const a = vr - vp;
Eigen::Vector3d const b = vq - vp;
Eigen::Vector3d const a = r.asEigenVector3d() - vp;
Eigen::Vector3d const b = q.asEigenVector3d() - vp;
Eigen::Vector3d const axb = a.cross(b);
if (axb.squaredNorm() > 0)
......@@ -85,11 +81,9 @@ MinimalBoundingSphere::MinimalBoundingSphere(MathLib::Point3d const& p,
MathLib::Point3d const& r,
MathLib::Point3d const& s)
{
auto const& vp = p.asEigenVector3d();
Eigen::Vector3d const va = q.asEigenVector3d() - vp;
Eigen::Vector3d const vb = r.asEigenVector3d() - vp;
Eigen::Vector3d const vc = s.asEigenVector3d() - vp;
Eigen::Vector3d const va = q.asEigenVector3d() - p.asEigenVector3d();
Eigen::Vector3d const vb = r.asEigenVector3d() - p.asEigenVector3d();
Eigen::Vector3d const vc = s.asEigenVector3d() - p.asEigenVector3d();
if (!MathLib::isCoplanar(p, q, r, s))
{
......@@ -100,7 +94,7 @@ MinimalBoundingSphere::MinimalBoundingSphere(MathLib::Point3d const& p,
denom;
_radius = o.norm() + std::numeric_limits<double>::epsilon();
o += vp;
o += p.asEigenVector3d();
_center = MathLib::Point3d({o[0], o[1], o[2]});
}
else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment