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
11#include <memory>
12
13// Forward declaration to avoid dependency on visualization library
15class Visualizer;
16}
17
18namespace ReUseX::geometry {
19
24 float search_threshold = 10.0f;
25 float new_plane_offset = 0.05f;
26};
27
41pcl::PolygonMeshPtr
45 std::vector<IndicesPtr> &inliers, CloudLConstPtr rooms,
46 MeshOptions const opt = MeshOptions{},
47 std::shared_ptr<ReUseX::visualize::Visualizer> viewer = nullptr);
48} // 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:41
typename CloudL::ConstPtr CloudLConstPtr
Definition types.hpp:34
typename CloudN::ConstPtr CloudNConstPtr
Definition types.hpp:30
typename Cloud::ConstPtr CloudConstPtr
Definition types.hpp:26
Options for mesh generation.
Definition mesh.hpp:23
float new_plane_offset
Offset for new plane creation.
Definition mesh.hpp:25
float search_threshold
Search threshold for mesh generation.
Definition mesh.hpp:24