ReUseX  0.0.1
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
types.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 <Eigen/Core>
7#include <vector>
8#include <utility>
9#include <pcl/pcl_base.h>
10#include <pcl/point_cloud.h>
11#include <pcl/point_types.h>
12
13namespace ReUseX {
14
15using PointT = pcl::PointXYZRGB;
16using NormalT = pcl::Normal;
17using LabelT = pcl::Label;
18using LocT = pcl::PointXYZ;
19
20using Indices = pcl::Indices;
21using IndicesPtr = pcl::IndicesPtr;
22using IndicesConstPtr = pcl::IndicesConstPtr;
23
24using Cloud = pcl::PointCloud<PointT>;
25using CloudPtr = typename Cloud::Ptr;
26using CloudConstPtr = typename Cloud::ConstPtr;
27
28using CloudN = pcl::PointCloud<NormalT>;
29using CloudNPtr = typename CloudN::Ptr;
30using CloudNConstPtr = typename CloudN::ConstPtr;
31
32using CloudL = pcl::PointCloud<LabelT>;
33using CloudLPtr = typename CloudL::Ptr;
34using CloudLConstPtr = typename CloudL::ConstPtr;
35
36using CloudLoc = pcl::PointCloud<LocT>;
37using CloudLocPtr = typename CloudLoc::Ptr;
38using CloudLocConstPtr = typename CloudLoc::ConstPtr;
39
40template <typename Scalar, int Rows>
42 std::vector<Eigen::Matrix<Scalar, Rows, 1>,
43 Eigen::aligned_allocator<Eigen::Matrix<Scalar, Rows, 1>>>;
44
45using Pair = std::pair<Eigen::Vector4d, Eigen::Vector3d>;
46using PlanePair = std::pair<Pair, Pair>;
47
48} // namespace ReUseX
pcl::PointCloud< NormalT > CloudN
Definition types.hpp:28
typename CloudN::Ptr CloudNPtr
Definition types.hpp:29
typename CloudLoc::ConstPtr CloudLocConstPtr
Definition types.hpp:38
std::vector< Eigen::Matrix< Scalar, Rows, 1 >, Eigen::aligned_allocator< Eigen::Matrix< Scalar, Rows, 1 > > > EigenVectorContainer
Definition types.hpp:41
pcl::PointXYZ LocT
Definition types.hpp:18
pcl::PointXYZRGB PointT
Definition types.hpp:15
pcl::Indices Indices
Definition types.hpp:20
pcl::Normal NormalT
Definition types.hpp:16
typename CloudL::ConstPtr CloudLConstPtr
Definition types.hpp:34
pcl::IndicesPtr IndicesPtr
Definition types.hpp:21
pcl::PointCloud< LocT > CloudLoc
Definition types.hpp:36
typename Cloud::Ptr CloudPtr
Definition types.hpp:25
pcl::Label LabelT
Definition types.hpp:17
std::pair< Pair, Pair > PlanePair
Definition types.hpp:46
pcl::PointCloud< LabelT > CloudL
Definition types.hpp:32
typename CloudN::ConstPtr CloudNConstPtr
Definition types.hpp:30
std::pair< Eigen::Vector4d, Eigen::Vector3d > Pair
Definition types.hpp:45
typename CloudLoc::Ptr CloudLocPtr
Definition types.hpp:37
pcl::IndicesConstPtr IndicesConstPtr
Definition types.hpp:22
pcl::PointCloud< PointT > Cloud
Definition types.hpp:24
typename CloudL::Ptr CloudLPtr
Definition types.hpp:33
typename Cloud::ConstPtr CloudConstPtr
Definition types.hpp:26