Box Functions¶
Functions that operate on bounding boxes.
-
template<class
T
>
constexpr TImath
::
clip
(const T &p, const Box<T> &box)¶ Clip the coordinates of a point,
p
, against aBox<T>
,box
.Return the closest point to
p
that is inside the box.
-
template<class
T
>
constexpr TImath
::
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-TFRjEc/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-TFRjEc/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 boolImath
::
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-TFRjEc/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>&)