ReUseX  0.0.1
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
reusex.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 <Eigen/Core>
9#include <opencv2/core.hpp>
10#include <pcl/ModelCoefficients.h>
11#include <pcl/point_types.h>
12
13#include <filesystem>
14
15namespace ReUseX::io {
16
26 CloudLocConstPtr locations)
27 -> std::tuple<EigenVectorContainer<double, 4>,
28 EigenVectorContainer<double, 3>, std::vector<IndicesPtr>>;
29
39[[nodiscard]]
40bool save(
41 std::filesystem::path const &output_path,
42 std::vector<pcl::ModelCoefficients> const &model_coefficients,
43 std::vector<Eigen::Vector4f,
44 Eigen::aligned_allocator<Eigen::Vector4f>> const &centroids,
45 std::vector<std::shared_ptr<pcl::Indices>> const &inlier_indices);
46
56[[nodiscard]]
57bool read(std::filesystem::path const &input_path,
58 std::vector<pcl::ModelCoefficients> &model_coefficients,
59 std::vector<Eigen::Vector4f,
60 Eigen::aligned_allocator<Eigen::Vector4f>> &centroids,
61 std::vector<std::shared_ptr<pcl::Indices>> &inlier_indices);
62} // namespace ReUseX::io
bool save(std::filesystem::path const &output_path, std::vector< pcl::ModelCoefficients > const &model_coefficients, std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > const &centroids, std::vector< std::shared_ptr< pcl::Indices > > const &inlier_indices)
Save plane data to file.
auto getPlanes(CloudLConstPtr planes, CloudNConstPtr normals, CloudLocConstPtr locations) -> std::tuple< EigenVectorContainer< double, 4 >, EigenVectorContainer< double, 3 >, std::vector< IndicesPtr > >
Extract plane data from labeled point clouds.
bool read(std::filesystem::path const &input_path, std::vector< pcl::ModelCoefficients > &model_coefficients, std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &centroids, std::vector< std::shared_ptr< pcl::Indices > > &inlier_indices)
Read plane data from file.
typename CloudLoc::ConstPtr CloudLocConstPtr
Definition types.hpp:35
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