22 : m_line(point, unitVector)
38 throw std::runtime_error(
"LineIntersectVisit::Accept Surface");
106 [&u_vec](
const Kernel::V3D &Pt_a,
const Kernel::V3D &Pt_b) { return u_vec.scalar_prod(Pt_a - Pt_b) < 0; });
116 const auto origin_scaler = u_vec.scalar_prod(origin);
120 [&u_vec, &origin_scaler](
const Kernel::V3D &Pt) { return u_vec.scalar_prod(Pt) - origin_scaler; });
Holds a cone in vector form.
Holds a cylinder as a vector form.
Holds a general quadratic surface.
DistancesType m_distancesOut
The distance.
Line::PType m_intersectionPointsOut
The intersection point.
void Accept(const Surface &) override
Process an intersect track.
LineIntersectVisit(const Kernel::V3D &, const Kernel::V3D &)
Constructor.
void sortAndRemoveDuplicates()
Prune out duplicated points and sort by distance to starting point.
const Kernel::V3D & getOrigin() const
returns the origin
const Kernel::V3D & getDirect() const
returns the direction
int intersect(PType &, const Quadratic &) const
For the line that intersects the surfaces add the point(s) to the VecOut, return number of points add...
Holds a basic quadratic surface.
Holds a Sphere as vector form.
Holds a basic quadratic surface.