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