mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-03 18:24:02 +08:00
Return 0 volume for empty AlignedBox
This commit is contained in:
parent
64edfbed04
commit
251ec42087
@ -173,7 +173,7 @@ class AlignedBox {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** \returns the volume of the bounding box */
|
/** \returns the volume of the bounding box */
|
||||||
EIGEN_DEVICE_FUNC inline Scalar volume() const { return sizes().prod(); }
|
EIGEN_DEVICE_FUNC inline Scalar volume() const { return isEmpty() ? Scalar(0) : sizes().prod(); }
|
||||||
|
|
||||||
/** \returns an expression for the bounding box diagonal vector
|
/** \returns an expression for the bounding box diagonal vector
|
||||||
* if the length of the diagonal is needed: diagonal().norm()
|
* if the length of the diagonal is needed: diagonal().norm()
|
||||||
|
@ -51,6 +51,8 @@ void alignedbox(const BoxType& box) {
|
|||||||
kill_extra_precision(p0);
|
kill_extra_precision(p0);
|
||||||
kill_extra_precision(p1);
|
kill_extra_precision(p1);
|
||||||
|
|
||||||
|
VERIFY(numext::equal_strict(b0.volume(), Scalar(0)));
|
||||||
|
|
||||||
b0.extend(p0);
|
b0.extend(p0);
|
||||||
b0.extend(p1);
|
b0.extend(p1);
|
||||||
VERIFY(b0.contains(p0 * s1 + (Scalar(1) - s1) * p1));
|
VERIFY(b0.contains(p0 * s1 + (Scalar(1) - s1) * p1));
|
||||||
@ -423,6 +425,8 @@ void alignedboxCastTests(const BoxType& box) {
|
|||||||
|
|
||||||
BoxType b0(dim);
|
BoxType b0(dim);
|
||||||
|
|
||||||
|
VERIFY(numext::equal_strict(b0.volume(), Scalar(0)));
|
||||||
|
|
||||||
b0.extend(p0);
|
b0.extend(p0);
|
||||||
b0.extend(p1);
|
b0.extend(p1);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user