// ---------------------------------------------------------------------------- // - Open3D: www.open3d.org - // ---------------------------------------------------------------------------- // Copyright (c) 2018-2023 www.open3d.org // SPDX-License-Identifier: MIT // ---------------------------------------------------------------------------- #pragma once #include #include #include namespace open3d { namespace geometry { class TriangleMesh; class TetraMesh; class Qhull { public: /// Computes the convex hull /// \param points Input points. /// \param joggle_inputs If true allows the algorithm to add random noise /// to the points to work around degenerate inputs. This adds the /// 'QJ' option to the qhull command. /// \returns The triangle mesh of the convex hull and the list of point /// indices that are part of the convex hull. static std::tuple, std::vector> ComputeConvexHull(const std::vector& points, bool joggle_inputs = false); static std::tuple, std::vector> ComputeDelaunayTetrahedralization( const std::vector& points); }; } // namespace geometry } // namespace open3d