ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvQhull.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <Eigen/Core>
11 #include <memory>
12 #include <vector>
13 
14 class ccMesh;
15 
16 namespace cloudViewer {
17 namespace geometry {
18 
19 class TetraMesh;
20 
21 class Qhull {
22 public:
23  static std::tuple<std::shared_ptr<ccMesh>, std::vector<size_t>>
24  ComputeConvexHull(const std::vector<Eigen::Vector3d>& points);
25 
26  static std::tuple<std::shared_ptr<ccMesh>, std::vector<size_t>>
27  ComputeConvexHull(const std::vector<CCVector3>& points);
28 
29  static std::tuple<std::shared_ptr<TetraMesh>, std::vector<size_t>>
31  const std::vector<Eigen::Vector3d>& points);
32 
33  static std::tuple<std::shared_ptr<TetraMesh>, std::vector<size_t>>
34  ComputeDelaunayTetrahedralization(const std::vector<CCVector3>& points);
35 };
36 
37 } // namespace geometry
38 } // namespace cloudViewer
int points
Triangular mesh.
Definition: ecvMesh.h:35
static std::tuple< std::shared_ptr< ccMesh >, std::vector< size_t > > ComputeConvexHull(const std::vector< Eigen::Vector3d > &points)
static std::tuple< std::shared_ptr< TetraMesh >, std::vector< size_t > > ComputeDelaunayTetrahedralization(const std::vector< Eigen::Vector3d > &points)
static std::tuple< std::shared_ptr< TetraMesh >, std::vector< size_t > > ComputeDelaunayTetrahedralization(const std::vector< CCVector3 > &points)
static std::tuple< std::shared_ptr< ccMesh >, std::vector< size_t > > ComputeConvexHull(const std::vector< CCVector3 > &points)
Generic file read and write utility for python interface.