Directory: | ./ |
---|---|
File: | test/bvh_models.cpp |
Date: | 2025-04-01 09:23:31 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 244 | 247 | 98.8% |
Branches: | 672 | 1344 | 50.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /* | ||
2 | * Software License Agreement (BSD License) | ||
3 | * | ||
4 | * Copyright (c) 2015, Open Source Robotics Foundation | ||
5 | * Copyright (c) 2020, INRIA | ||
6 | * All rights reserved. | ||
7 | * | ||
8 | * Redistribution and use in source and binary forms, with or without | ||
9 | * modification, are permitted provided that the following conditions | ||
10 | * are met: | ||
11 | * | ||
12 | * * Redistributions of source code must retain the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer. | ||
14 | * * Redistributions in binary form must reproduce the above | ||
15 | * copyright notice, this list of conditions and the following | ||
16 | * disclaimer in the documentation and/or other materials provided | ||
17 | * with the distribution. | ||
18 | * * Neither the name of Open Source Robotics Foundation nor the names of its | ||
19 | * contributors may be used to endorse or promote products derived | ||
20 | * from this software without specific prior written permission. | ||
21 | * | ||
22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
23 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
24 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | ||
25 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
26 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
27 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | ||
28 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
30 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
31 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | ||
32 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
33 | * POSSIBILITY OF SUCH DAMAGE. | ||
34 | */ | ||
35 | |||
36 | /** \author Jeongseok Lee */ | ||
37 | |||
38 | #define BOOST_TEST_MODULE COAL_BVH_MODELS | ||
39 | #include <boost/test/included/unit_test.hpp> | ||
40 | #include <boost/filesystem.hpp> | ||
41 | |||
42 | #include "fcl_resources/config.h" | ||
43 | |||
44 | #include "coal/collision.h" | ||
45 | #include "coal/BVH/BVH_model.h" | ||
46 | #include "coal/BVH/BVH_utility.h" | ||
47 | #include "coal/math/transform.h" | ||
48 | #include "coal/shape/geometric_shapes.h" | ||
49 | #include "coal/shape/geometric_shape_to_BVH_model.h" | ||
50 | #include "coal/mesh_loader/assimp.h" | ||
51 | #include "coal/mesh_loader/loader.h" | ||
52 | #include "utility.h" | ||
53 | #include <iostream> | ||
54 | |||
55 | using namespace coal; | ||
56 | |||
57 | template <typename BV> | ||
58 | 16 | void testBVHModelPointCloud() { | |
59 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | Box box(Vec3s::Ones()); |
60 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar a = box.halfSide[0]; |
61 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar b = box.halfSide[1]; |
62 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar c = box.halfSide[2]; |
63 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | std::vector<Vec3s> points(8); |
64 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[0] << a, -b, c; |
65 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[1] << a, b, c; |
66 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[2] << -a, b, c; |
67 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[3] << -a, -b, c; |
68 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[4] << a, -b, -c; |
69 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[5] << a, b, -c; |
70 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[6] << -a, b, -c; |
71 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[7] << -a, -b, -c; |
72 | |||
73 | { | ||
74 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | shared_ptr<BVHModel<BV> > model(new BVHModel<BV>); |
75 | |||
76 |
4/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 6 taken 7 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 6 times.
✓ Branch 9 taken 1 times.
|
30 | if (model->getNodeType() != BV_AABB && model->getNodeType() != BV_KDOP16 && |
77 |
7/8✓ Branch 0 taken 7 times.
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 5 times.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 4 times.
✓ Branch 9 taken 4 times.
|
40 | model->getNodeType() != BV_KDOP18 && |
78 |
3/4✓ Branch 2 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✓ Branch 5 taken 1 times.
|
10 | model->getNodeType() != BV_KDOP24) { |
79 | 16 | std::cout << "Abort test since '" << getNodeTypeName(model->getNodeType()) | |
80 | << "' does not support point cloud model. " | ||
81 |
7/14✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 4 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 4 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 4 times.
✗ Branch 21 not taken.
|
8 | << "Please see issue #67." << std::endl; |
82 | 8 | return; | |
83 | } | ||
84 | |||
85 | int result; | ||
86 | |||
87 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | result = model->beginModel(); |
88 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(result, BVH_OK); |
89 | |||
90 |
2/2✓ Branch 1 taken 32 times.
✓ Branch 2 taken 4 times.
|
72 | for (std::size_t i = 0; i < points.size(); ++i) { |
91 |
1/2✓ Branch 3 taken 32 times.
✗ Branch 4 not taken.
|
64 | result = model->addVertex(points[i]); |
92 |
5/10✓ Branch 1 taken 32 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 32 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 32 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 32 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 32 times.
|
64 | BOOST_CHECK_EQUAL(result, BVH_OK); |
93 | } | ||
94 | |||
95 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | result = model->endModel(); |
96 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(result, BVH_OK); |
97 | |||
98 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | model->computeLocalAABB(); |
99 | |||
100 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(model->num_vertices, 8); |
101 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(model->num_tris, 0); |
102 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(model->build_state, BVH_BUILD_STATE_PROCESSED); |
103 |
2/2✓ Branch 1 taken 4 times.
✓ Branch 2 taken 4 times.
|
16 | } |
104 | |||
105 | { | ||
106 |
3/6✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
|
8 | shared_ptr<BVHModel<BV> > model(new BVHModel<BV>); |
107 | |||
108 |
4/6✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✓ Branch 9 taken 1 times.
|
14 | if (model->getNodeType() != BV_AABB && model->getNodeType() != BV_KDOP16 && |
109 |
6/8✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
16 | model->getNodeType() != BV_KDOP18 && |
110 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
2 | model->getNodeType() != BV_KDOP24) { |
111 | ✗ | std::cout << "Abort test since '" << getNodeTypeName(model->getNodeType()) | |
112 | << "' does not support point cloud model. " | ||
113 | ✗ | << "Please see issue #67." << std::endl; | |
114 | ✗ | return; | |
115 | } | ||
116 | |||
117 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | MatrixX3s all_points((Eigen::DenseIndex)points.size(), 3); |
118 |
2/2✓ Branch 1 taken 32 times.
✓ Branch 2 taken 4 times.
|
72 | for (size_t k = 0; k < points.size(); ++k) |
119 |
3/6✓ Branch 2 taken 32 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 32 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 32 times.
✗ Branch 9 not taken.
|
64 | all_points.row((Eigen::DenseIndex)k) = points[k].transpose(); |
120 | |||
121 | int result; | ||
122 | |||
123 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | result = model->beginModel(); |
124 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(result, BVH_OK); |
125 | |||
126 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | result = model->addVertices(all_points); |
127 | |||
128 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | result = model->endModel(); |
129 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(result, BVH_OK); |
130 | |||
131 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | model->computeLocalAABB(); |
132 | |||
133 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(model->num_vertices, 8); |
134 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(model->num_tris, 0); |
135 |
5/10✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
|
8 | BOOST_CHECK_EQUAL(model->build_state, BVH_BUILD_STATE_PROCESSED); |
136 | } | ||
137 |
4/4✓ Branch 1 taken 4 times.
✓ Branch 2 taken 4 times.
✓ Branch 4 taken 4 times.
✓ Branch 5 taken 4 times.
|
24 | } |
138 | |||
139 | template <typename BV> | ||
140 | 16 | void testBVHModelTriangles() { | |
141 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | shared_ptr<BVHModel<BV> > model(new BVHModel<BV>); |
142 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | Box box(Vec3s::Ones()); |
143 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | AABB aabb(Vec3s(-1, 0, -1), Vec3s(1, 1, 1)); |
144 | |||
145 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar a = box.halfSide[0]; |
146 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar b = box.halfSide[1]; |
147 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar c = box.halfSide[2]; |
148 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | std::vector<Vec3s> points(8); |
149 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | std::vector<Triangle> tri_indices(12); |
150 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[0] << a, -b, c; |
151 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[1] << a, b, c; |
152 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[2] << -a, b, c; |
153 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[3] << -a, -b, c; |
154 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[4] << a, -b, -c; |
155 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[5] << a, b, -c; |
156 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[6] << -a, b, -c; |
157 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[7] << -a, -b, -c; |
158 | |||
159 | 16 | tri_indices[0].set(0, 4, 1); | |
160 | 16 | tri_indices[1].set(1, 4, 5); | |
161 | 16 | tri_indices[2].set(2, 6, 3); | |
162 | 16 | tri_indices[3].set(3, 6, 7); | |
163 | 16 | tri_indices[4].set(3, 0, 2); | |
164 | 16 | tri_indices[5].set(2, 0, 1); | |
165 | 16 | tri_indices[6].set(6, 5, 7); | |
166 | 16 | tri_indices[7].set(7, 5, 4); | |
167 | 16 | tri_indices[8].set(1, 5, 2); | |
168 | 16 | tri_indices[9].set(2, 5, 6); | |
169 | 16 | tri_indices[10].set(3, 7, 0); | |
170 | 16 | tri_indices[11].set(0, 7, 4); | |
171 | |||
172 | int result; | ||
173 | |||
174 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | result = model->beginModel(); |
175 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(result, BVH_OK); |
176 | |||
177 |
2/2✓ Branch 1 taken 96 times.
✓ Branch 2 taken 8 times.
|
208 | for (std::size_t i = 0; i < tri_indices.size(); ++i) { |
178 | 192 | result = | |
179 |
1/2✓ Branch 11 taken 96 times.
✗ Branch 12 not taken.
|
192 | model->addTriangle(points[tri_indices[i][0]], points[tri_indices[i][1]], |
180 | points[tri_indices[i][2]]); | ||
181 |
5/10✓ Branch 1 taken 96 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 96 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 96 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 96 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 96 times.
|
192 | BOOST_CHECK_EQUAL(result, BVH_OK); |
182 | } | ||
183 | |||
184 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | result = model->endModel(); |
185 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(result, BVH_OK); |
186 | |||
187 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | model->computeLocalAABB(); |
188 | |||
189 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(model->num_vertices, 12 * 3); |
190 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(model->num_tris, 12); |
191 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(model->build_state, BVH_BUILD_STATE_PROCESSED); |
192 | |||
193 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Transform3s pose; |
194 |
2/4✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
|
16 | shared_ptr<BVHModel<BV> > cropped(BVHExtract(*model, pose, aabb)); |
195 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 8 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 8 times.
|
16 | BOOST_REQUIRE(cropped); |
196 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 8 times.
✗ Branch 19 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 8 times.
|
16 | BOOST_CHECK(cropped->build_state == BVH_BUILD_STATE_PROCESSED); |
197 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(cropped->num_vertices, model->num_vertices - 6); |
198 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(cropped->num_tris, model->num_tris - 2); |
199 | |||
200 |
2/4✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
|
16 | pose.setTranslation(Vec3s(0, 1, 0)); |
201 |
2/4✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
|
16 | cropped.reset(BVHExtract(*model, pose, aabb)); |
202 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 8 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 8 times.
|
16 | BOOST_REQUIRE(cropped); |
203 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 8 times.
✗ Branch 19 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 8 times.
|
16 | BOOST_CHECK(cropped->build_state == BVH_BUILD_STATE_PROCESSED); |
204 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(cropped->num_vertices, model->num_vertices - 6); |
205 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(cropped->num_tris, model->num_tris - 2); |
206 | |||
207 |
2/4✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
|
16 | pose.setTranslation(Vec3s(0, 0, 0)); |
208 | 16 | Scalar sqrt2_2 = std::sqrt(Scalar(2)) / 2; | |
209 |
2/4✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
|
16 | pose.setQuatRotation(Quats(sqrt2_2, sqrt2_2, 0, 0)); |
210 |
2/4✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
|
16 | cropped.reset(BVHExtract(*model, pose, aabb)); |
211 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 8 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 8 times.
|
16 | BOOST_REQUIRE(cropped); |
212 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 8 times.
✗ Branch 19 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 8 times.
|
16 | BOOST_CHECK(cropped->build_state == BVH_BUILD_STATE_PROCESSED); |
213 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(cropped->num_vertices, model->num_vertices - 6); |
214 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(cropped->num_tris, model->num_tris - 2); |
215 | |||
216 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | pose.setTranslation(-Vec3s(1, 1, 1)); |
217 |
2/4✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
|
16 | pose.setQuatRotation(Quats::Identity()); |
218 |
2/4✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
|
16 | cropped.reset(BVHExtract(*model, pose, aabb)); |
219 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 8 times.
✗ Branch 19 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 8 times.
|
16 | BOOST_CHECK(!cropped); |
220 | |||
221 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | aabb = AABB(Vec3s(Scalar(-0.1), Scalar(-0.1), Scalar(-0.1)), |
222 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Vec3s(Scalar(0.1), Scalar(0.1), Scalar(0.1))); |
223 |
2/4✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
|
16 | pose.setTranslation(Vec3s(-0.5, -0.5, 0)); |
224 |
2/4✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
|
16 | cropped.reset(BVHExtract(*model, pose, aabb)); |
225 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 8 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 8 times.
|
16 | BOOST_REQUIRE(cropped); |
226 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(cropped->num_tris, 2); |
227 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(cropped->num_vertices, 6); |
228 | 16 | } | |
229 | |||
230 | template <typename BV> | ||
231 | 16 | void testBVHModelSubModel() { | |
232 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | shared_ptr<BVHModel<BV> > model(new BVHModel<BV>); |
233 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | Box box(Vec3s::Ones()); |
234 | |||
235 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar a = box.halfSide[0]; |
236 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar b = box.halfSide[1]; |
237 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Scalar c = box.halfSide[2]; |
238 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | std::vector<Vec3s> points(8); |
239 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | std::vector<Triangle> tri_indices(12); |
240 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[0] << a, -b, c; |
241 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[1] << a, b, c; |
242 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[2] << -a, b, c; |
243 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[3] << -a, -b, c; |
244 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[4] << a, -b, -c; |
245 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[5] << a, b, -c; |
246 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[6] << -a, b, -c; |
247 |
3/6✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
16 | points[7] << -a, -b, -c; |
248 | |||
249 | 16 | tri_indices[0].set(0, 4, 1); | |
250 | 16 | tri_indices[1].set(1, 4, 5); | |
251 | 16 | tri_indices[2].set(2, 6, 3); | |
252 | 16 | tri_indices[3].set(3, 6, 7); | |
253 | 16 | tri_indices[4].set(3, 0, 2); | |
254 | 16 | tri_indices[5].set(2, 0, 1); | |
255 | 16 | tri_indices[6].set(6, 5, 7); | |
256 | 16 | tri_indices[7].set(7, 5, 4); | |
257 | 16 | tri_indices[8].set(1, 5, 2); | |
258 | 16 | tri_indices[9].set(2, 5, 6); | |
259 | 16 | tri_indices[10].set(3, 7, 0); | |
260 | 16 | tri_indices[11].set(0, 7, 4); | |
261 | |||
262 | int result; | ||
263 | |||
264 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | result = model->beginModel(); |
265 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(result, BVH_OK); |
266 | |||
267 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | result = model->addSubModel(points, tri_indices); |
268 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(result, BVH_OK); |
269 | |||
270 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | result = model->endModel(); |
271 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(result, BVH_OK); |
272 | |||
273 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | model->computeLocalAABB(); |
274 | |||
275 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(model->num_vertices, 8); |
276 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(model->num_tris, 12); |
277 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(model->build_state, BVH_BUILD_STATE_PROCESSED); |
278 | 16 | } | |
279 | |||
280 | template <typename BV> | ||
281 | 16 | void testBVHModel() { | |
282 | 16 | testBVHModelTriangles<BV>(); | |
283 | 16 | testBVHModelPointCloud<BV>(); | |
284 | 16 | testBVHModelSubModel<BV>(); | |
285 | 16 | } | |
286 | |||
287 |
33/66✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
|
4 | BOOST_AUTO_TEST_CASE(building_bvh_models) { |
288 | 2 | testBVHModel<AABB>(); | |
289 | 2 | testBVHModel<OBB>(); | |
290 | 2 | testBVHModel<RSS>(); | |
291 | 2 | testBVHModel<kIOS>(); | |
292 | 2 | testBVHModel<OBBRSS>(); | |
293 | 2 | testBVHModel<KDOP<16> >(); | |
294 | 2 | testBVHModel<KDOP<18> >(); | |
295 | 2 | testBVHModel<KDOP<24> >(); | |
296 | 2 | } | |
297 | |||
298 | template <class BoundingVolume> | ||
299 | 16 | void testLoadPolyhedron() { | |
300 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | boost::filesystem::path path(TEST_RESOURCES_DIR); |
301 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
32 | std::string env = (path / "env.obj").string(), |
302 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 8 times.
✗ Branch 9 not taken.
|
32 | rob = (path / "rob.obj").string(); |
303 | |||
304 | typedef BVHModel<BoundingVolume> Polyhedron_t; | ||
305 | typedef shared_ptr<Polyhedron_t> PolyhedronPtr_t; | ||
306 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | PolyhedronPtr_t P1(new Polyhedron_t), P2; |
307 | |||
308 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | Vec3s scale; |
309 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | scale.setConstant(1); |
310 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | loadPolyhedronFromResource(env, scale, P1); |
311 | |||
312 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | scale.setConstant(-1); |
313 |
1/2✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
16 | CachedMeshLoader loader(P1->getNodeType()); |
314 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
16 | CollisionGeometryPtr_t geom = loader.load(env, scale); |
315 | 16 | P2 = dynamic_pointer_cast<Polyhedron_t>(geom); | |
316 |
6/12✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 8 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 8 times.
|
16 | BOOST_REQUIRE(P2); |
317 | |||
318 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(P1->num_tris, P2->num_tris); |
319 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(P1->num_vertices, P2->num_vertices); |
320 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 14 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 8 times.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(P1->getNumBVs(), P2->getNumBVs()); |
321 | |||
322 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
32 | CollisionGeometryPtr_t geom2 = loader.load(env, scale); |
323 |
5/10✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 8 times.
|
16 | BOOST_CHECK_EQUAL(geom, geom2); |
324 | 16 | } | |
325 | |||
326 | template <class BoundingVolume> | ||
327 | 8 | void testLoadGerardBauzil() { | |
328 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | boost::filesystem::path path(TEST_RESOURCES_DIR); |
329 |
3/6✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 4 times.
✗ Branch 9 not taken.
|
16 | std::string env = (path / "staircases_koroibot_hr.dae").string(); |
330 | |||
331 | typedef BVHModel<BoundingVolume> Polyhedron_t; | ||
332 | typedef shared_ptr<Polyhedron_t> PolyhedronPtr_t; | ||
333 |
3/6✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
|
8 | PolyhedronPtr_t P1(new Polyhedron_t), P2; |
334 | |||
335 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | Vec3s scale; |
336 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | scale.setConstant(1); |
337 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | loadPolyhedronFromResource(env, scale, P1); |
338 |
3/6✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
|
8 | CollisionGeometryPtr_t cylinder(new Cylinder(Scalar(.27), Scalar(.27))); |
339 |
2/4✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
|
8 | Transform3s pos(Vec3s(Scalar(-1.33), Scalar(1.36), Scalar(.14))); |
340 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | CollisionObject obj(cylinder, pos); |
341 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
8 | CollisionObject stairs(P1); |
342 | |||
343 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | CollisionRequest request; |
344 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | CollisionResult result; |
345 | |||
346 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | collide(&stairs, &obj, request, result); |
347 |
6/12✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 4 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 4 times.
✗ Branch 19 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 4 times.
|
8 | BOOST_CHECK(result.isCollision()); |
348 | 8 | } | |
349 | |||
350 |
33/66✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
|
4 | BOOST_AUTO_TEST_CASE(load_polyhedron) { |
351 | 2 | testLoadPolyhedron<AABB>(); | |
352 | 2 | testLoadPolyhedron<OBB>(); | |
353 | 2 | testLoadPolyhedron<RSS>(); | |
354 | 2 | testLoadPolyhedron<kIOS>(); | |
355 | 2 | testLoadPolyhedron<OBBRSS>(); | |
356 | 2 | testLoadPolyhedron<KDOP<16> >(); | |
357 | 2 | testLoadPolyhedron<KDOP<18> >(); | |
358 | 2 | testLoadPolyhedron<KDOP<24> >(); | |
359 | 2 | } | |
360 | |||
361 |
33/66✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
|
4 | BOOST_AUTO_TEST_CASE(gerard_bauzil) { |
362 | 2 | testLoadGerardBauzil<OBB>(); | |
363 | 2 | testLoadGerardBauzil<RSS>(); | |
364 | 2 | testLoadGerardBauzil<kIOS>(); | |
365 | 2 | testLoadGerardBauzil<OBBRSS>(); | |
366 | 2 | } | |
367 | |||
368 |
33/66✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
|
4 | BOOST_AUTO_TEST_CASE(load_illformated_mesh) { |
369 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | boost::filesystem::path path(TEST_RESOURCES_DIR); |
370 |
3/6✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
|
4 | const std::string filename = (path / "illformated_mesh.dae").string(); |
371 | |||
372 | 2 | MeshLoader loader; | |
373 |
10/34✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 1 times.
✗ Branch 40 not taken.
✗ Branch 41 not taken.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✗ Branch 60 not taken.
✗ Branch 61 not taken.
✗ Branch 63 not taken.
✗ Branch 64 not taken.
|
2 | BOOST_CHECK_NO_THROW(loader.load(filename)); |
374 | 2 | } | |
375 | |||
376 |
33/66✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
|
4 | BOOST_AUTO_TEST_CASE(test_convex) { |
377 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
2 | Box* box_ptr = new coal::Box(1, 1, 1); |
378 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | CollisionGeometryPtr_t b1(box_ptr); |
379 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | BVHModel<OBBRSS> box_bvh_model = BVHModel<OBBRSS>(); |
380 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
2 | generateBVHModel(box_bvh_model, *box_ptr, Transform3s()); |
381 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | box_bvh_model.buildConvexRepresentation(false); |
382 | |||
383 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | box_bvh_model.convex->computeLocalAABB(); |
384 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
2 | std::shared_ptr<ConvexBase> convex_copy(box_bvh_model.convex->clone()); |
385 |
7/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
|
2 | BOOST_CHECK(*convex_copy.get() == *box_bvh_model.convex.get()); |
386 | 2 | } | |
387 |