Skip to content

Commit 257b06c

Browse files
committed
extracted to methdod
1 parent a94c78f commit 257b06c

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

include/omath/collision/epa_algorithm.hpp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,7 @@ namespace omath::collision
5252
std::pmr::memory_resource& mem_resource = *std::pmr::get_default_resource())
5353
{
5454
// --- Build initial polytope from simplex (4 points) ---
55-
std::pmr::vector<VectorType> vertexes{&mem_resource};
56-
vertexes.reserve(simplex.size());
57-
for (std::size_t i = 0; i < simplex.size(); ++i)
58-
vertexes.emplace_back(simplex[i]);
55+
std::pmr::vector<VectorType> vertexes = build_initial_polytope_from_simplex(simplex, mem_resource);
5956

6057
// Initial tetra faces (windings corrected in make_face)
6158
std::pmr::vector<Face> faces = create_initial_tetra_faces(mem_resource, vertexes);
@@ -279,5 +276,18 @@ namespace omath::collision
279276
faces.emplace_back(make_face(vertexes, 1, 3, 2));
280277
return faces;
281278
}
279+
280+
[[nodiscard]]
281+
static std::pmr::vector<VectorType> build_initial_polytope_from_simplex(const Simplex<VectorType>& simplex,
282+
std::pmr::memory_resource& mem_resource)
283+
{
284+
std::pmr::vector<VectorType> vertexes{&mem_resource};
285+
vertexes.reserve(simplex.size());
286+
287+
for (std::size_t i = 0; i < simplex.size(); ++i)
288+
vertexes.emplace_back(simplex[i]);
289+
290+
return vertexes;
291+
}
282292
};
283293
} // namespace omath::collision

0 commit comments

Comments
 (0)