Box Functions

Functions that operate on bounding boxes.

template<class T>
constexpr T Imath::clip(const T &p, const Box<T> &box)

Clip the coordinates of a point, p, against a Box<T>, box.

Return the closest point to p that is inside the box.

template<class T>
constexpr T Imath::closestPointInBox(const T &p, const Box<T> &box)

Return the point in or on the Box<T>, box, that is closesest to the point, p.

Warning

doxygenfunction: Unable to resolve multiple matches for function “transform” with arguments (const Box<Vec3<S>>& box, const Matrix44<T>& m) noexcep) in doxygen xml output for project “Imath” from directory: /build/ilmbase-5Yemou/ilmbase-3.1.11/obj-x86_64-linux-gnu/website/doxygen/xml. Potential matches:

- template<class S, class T>
  Box<Vec3<S>> Imath::transform(const Box<Vec3<S>>&, const Matrix44<T>&)
- template<class S, class T>
  void Imath::transform(const Box<Vec3<S>>&, const Matrix44<T>&, Box<Vec3<S>>&)

Warning

doxygenfunction: Unable to resolve multiple matches for function “affineTransform” with arguments (const Box<Vec3<S>>& box, const Matrix44<T>& m) noexcep) in doxygen xml output for project “Imath” from directory: /build/ilmbase-5Yemou/ilmbase-3.1.11/obj-x86_64-linux-gnu/website/doxygen/xml. Potential matches:

- template<class S, class T>
  Box<Vec3<S>> Imath::affineTransform(const Box<Vec3<S>>&, const Matrix44<T>&)
- template<class S, class T>
  void Imath::affineTransform(const Box<Vec3<S>>&, const Matrix44<T>&, Box<Vec3<S>>&)
template<class T>
constexpr bool Imath::findEntryAndExitPoints(const Line3<T> &r, const Box<Vec3<T>> &b, Vec3<T> &entry, Vec3<T> &exit)

Compute the points where a ray, r, enters and exits a 3D box, b:

Return true if the ray starts inside the box or if the ray starts outside and intersects the box, or return false otherwise (that is, if the ray does not intersect the box).

The entry and exit points are the points on two of the faces of the box when the function returns true (the entry end exit points may be on either side of the ray’s origin), or undefined if the the function returns false.

Warning

doxygenfunction: Unable to resolve multiple matches for function “intersects” with arguments (const Box<Vec3<T>>& b, const Line3<T>& r, Vec3<T>& ip) noexcep) in doxygen xml output for project “Imath” from directory: /build/ilmbase-5Yemou/ilmbase-3.1.11/obj-x86_64-linux-gnu/website/doxygen/xml. Potential matches:

- constexpr bool Imath::Box::intersects(const Box<V>&) const
- constexpr bool Imath::Box::intersects(const Box<Vec2<T>>&) const
- constexpr bool Imath::Box::intersects(const Box<Vec3<T>>&) const
- constexpr bool Imath::Box::intersects(const V&) const
- constexpr bool Imath::Box::intersects(const Vec2<T>&) const
- constexpr bool Imath::Box::intersects(const Vec3<T>&) const
- constexpr bool Imath::Interval::intersects(const Interval<T>&) const
- constexpr bool Imath::Interval::intersects(const T&) const
- template<class T>
  constexpr bool Imath::intersects(const Box<Vec3<T>>&, const Line3<T>&)
- template<class T>
  constexpr bool Imath::intersects(const Box<Vec3<T>>&, const Line3<T>&, Vec3<T>&)