Line3 Functions

Functions that operate on the Line3 object.

template<class T>
constexpr bool Imath::closestPoints(const Line3<T> &line1, const Line3<T> &line2, Vec3<T> &point1, Vec3<T> &point2)

Compute point1 and point2 such that point1 is on line1, point2 is on line2 and the distance between point1 and point2 is minimal.

This function returns true if point1 and point2 can be computed, or false if line1 and line2 are parallel or nearly parallel. This function assumes that line1.dir and line2.dir are normalized.

Warning

doxygenfunction: Unable to resolve multiple matches for function “intersect” with arguments (const Line3<T>& line, const Vec3<T>&v0, const Vec3<T>& v1, const Vec3<T>& v2, Vec3<T>& pt, Vec3<T>& barycentric, bool& front) noexcep) in doxygen xml output for project “Imath” from directory: /build/ilmbase-pisqTC/ilmbase-3.1.11/obj-x86_64-linux-gnu/website/doxygen/xml. Potential matches:

- constexpr bool Imath::Plane3::intersect(const Line3<T>&, Vec3<T>&) const
- constexpr bool Imath::Sphere3::intersect(const Line3<T>&, Vec3<T>&) const
- template<class T>
  constexpr bool Imath::intersect(const Line3<T>&, const Vec3<T>&, const Vec3<T>&, const Vec3<T>&, Vec3<T>&, Vec3<T>&, bool&)

Warning

doxygenfunction: Unable to resolve multiple matches for function “closestVertex” with arguments (const Vec3<T>& v0, const Vec3<T>& v1, const Vec3<T>& v2, const Line3<T>& l) noexcep) in doxygen xml output for project “Imath” from directory: /build/ilmbase-pisqTC/ilmbase-3.1.11/obj-x86_64-linux-gnu/website/doxygen/xml. Potential matches:

- template<class T>
  constexpr Vec3<T> Imath::closestVertex(const Vec3<T>&, const Vec3<T>&, const Vec3<T>&, const Line3<T>&)
- template<class Vec>
  constexpr Vec Imath::closestVertex(const Vec&, const Vec&, const Vec&, const Vec&)
template<class T>
constexpr Vec3<T> Imath::rotatePoint(const Vec3<T> p, Line3<T> l, T angle)

Rotate the point p around the line l by the given angle.