ReUseX  0.0.1
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
mesh.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#pragma once
6#include <ReUseX/types.hpp>
7
8#include <pcl/PolygonMesh.h>
9#include <pcl/common/common.h>
10#include <memory>
11
12// Forward declaration to avoid dependency on visualization library
14class Visualizer;
15}
16
17namespace ReUseX::geometry {
18
23 float search_threshold = 10.0f;
24 float new_plane_offset = 0.05f;
25};
26
40pcl::PolygonMeshPtr
44 std::vector<IndicesPtr> &inliers, CloudLConstPtr rooms,
45 MeshOptions const opt = MeshOptions{},
46 std::shared_ptr<ReUseX::visualize::Visualizer> viewer = nullptr);
47} // namespace ReUseX::geometry
3D visualization class for point clouds and geometric primitives.
pcl::PolygonMeshPtr mesh(CloudConstPtr cloud, CloudNConstPtr normals, EigenVectorContainer< double, 4 > &planes, EigenVectorContainer< double, 3 > &centroids, std::vector< IndicesPtr > &inliers, CloudLConstPtr rooms, MeshOptions const opt=MeshOptions{}, std::shared_ptr< ReUseX::visualize::Visualizer > viewer=nullptr)
Generate a mesh from point cloud and geometric primitives.
std::vector< Eigen::Matrix< Scalar, Rows, 1 >, Eigen::aligned_allocator< Eigen::Matrix< Scalar, Rows, 1 > > > EigenVectorContainer
Definition types.hpp:38
typename CloudL::ConstPtr CloudLConstPtr
Definition types.hpp:31
typename CloudN::ConstPtr CloudNConstPtr
Definition types.hpp:27
typename Cloud::ConstPtr CloudConstPtr
Definition types.hpp:23
Options for mesh generation.
Definition mesh.hpp:22
float new_plane_offset
Offset for new plane creation.
Definition mesh.hpp:24
float search_threshold
Search threshold for mesh generation.
Definition mesh.hpp:23