| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // Copyright Contributors to the OpenVDB Project | ||
| 2 | // SPDX-License-Identifier: MPL-2.0 | ||
| 3 | |||
| 4 | #include <openvdb/Exceptions.h> | ||
| 5 | #include <openvdb/openvdb.h> | ||
| 6 | #include <openvdb/math/BBox.h> | ||
| 7 | #include <openvdb/Types.h> | ||
| 8 | #include <openvdb/math/Transform.h> | ||
| 9 | |||
| 10 | #include <gtest/gtest.h> | ||
| 11 | |||
| 12 | typedef float Real; | ||
| 13 | |||
| 14 | 3 | class TestBBox: public ::testing::Test | |
| 15 | { | ||
| 16 | }; | ||
| 17 | |||
| 18 | |||
| 19 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | TEST_F(TestBBox, testBBox) |
| 20 | { | ||
| 21 | typedef openvdb::Vec3R Vec3R; | ||
| 22 | typedef openvdb::math::BBox<Vec3R> BBoxType; | ||
| 23 | |||
| 24 | { | ||
| 25 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | BBoxType B(Vec3R(1,1,1),Vec3R(2,2,2)); |
| 26 | |||
| 27 |
1/16✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_TRUE(B.isSorted()); |
| 28 |
1/16✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_TRUE(B.isInside(Vec3R(1.5,2,2))); |
| 29 |
1/16✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_TRUE(!B.isInside(Vec3R(2,3,2))); |
| 30 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
|
1 | B.expand(Vec3R(3,3,3)); |
| 31 |
1/16✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_TRUE(B.isInside(Vec3R(3,3,3))); |
| 32 | } | ||
| 33 | |||
| 34 | { | ||
| 35 | BBoxType B; | ||
| 36 | EXPECT_TRUE(B.empty()); | ||
| 37 | const Vec3R expected(1); | ||
| 38 | 1 | B.expand(expected); | |
| 39 |
1/14✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
1 | EXPECT_EQ(expected, B.min()); |
| 40 |
1/14✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
1 | EXPECT_EQ(expected, B.max()); |
| 41 | } | ||
| 42 | 1 | } | |
| 43 | |||
| 44 | |||
| 45 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | TEST_F(TestBBox, testCenter) |
| 46 | { | ||
| 47 | using namespace openvdb::math; | ||
| 48 | |||
| 49 | const Vec3<double> expected(1.5); | ||
| 50 | |||
| 51 | 1 | BBox<openvdb::Vec3R> fbox(openvdb::Vec3R(1.0), openvdb::Vec3R(2.0)); | |
| 52 |
1/14✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
1 | EXPECT_EQ(expected, fbox.getCenter()); |
| 53 | |||
| 54 | 1 | BBox<openvdb::Vec3i> ibox(openvdb::Vec3i(1), openvdb::Vec3i(2)); | |
| 55 |
1/14✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
1 | EXPECT_EQ(expected, ibox.getCenter()); |
| 56 | |||
| 57 | 1 | openvdb::CoordBBox cbox(openvdb::Coord(1), openvdb::Coord(2)); | |
| 58 |
1/14✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
1 | EXPECT_EQ(expected, cbox.getCenter()); |
| 59 | 1 | } | |
| 60 | |||
| 61 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | TEST_F(TestBBox, testExtent) |
| 62 | { | ||
| 63 | typedef openvdb::Vec3R Vec3R; | ||
| 64 | typedef openvdb::math::BBox<Vec3R> BBoxType; | ||
| 65 | |||
| 66 | { | ||
| 67 | 1 | BBoxType B(Vec3R(-20,0,1),Vec3R(2,2,2)); | |
| 68 |
1/14✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_EQ(size_t(2), B.minExtent()); |
| 69 |
1/14✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_EQ(size_t(0), B.maxExtent()); |
| 70 | } | ||
| 71 | { | ||
| 72 | 1 | BBoxType B(Vec3R(1,0,1),Vec3R(2,21,20)); | |
| 73 |
1/14✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_EQ(size_t(0), B.minExtent()); |
| 74 |
1/14✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_EQ(size_t(1), B.maxExtent()); |
| 75 | } | ||
| 76 | { | ||
| 77 | 1 | BBoxType B(Vec3R(1,0,1),Vec3R(3,1.5,20)); | |
| 78 |
1/14✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_EQ(size_t(1), B.minExtent()); |
| 79 |
1/14✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_EQ(size_t(2), B.maxExtent()); |
| 80 | } | ||
| 81 | 1 | } | |
| 82 |