ReUseX  0.0.1
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
pcl.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
7#include <ReUseX/types.hpp>
8
9#include <Eigen/Dense>
10#include <pcl/common/colors.h>
11#include <pcl/surface/texture_mapping.h>
12#include <pcl/visualization/pcl_visualizer.h>
13#include <vector>
14
15namespace ReUseX::visualize {
16
17void addPlane(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
18 const Eigen::Vector4d &plane, const Eigen::Vector3d &origin,
19 const pcl::RGB &color, const std::string_view &name = "plane",
20 int vp = 0);
21
22void addPlanes(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
23 const std::vector<Pair> &planes,
24 const std::string_view &name = "plane", int vp = 0);
25
26void addPair(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
27 const PlanePair &plane_pair,
28 const std::string_view &name = "plane_pair", int vp = 0);
29
30void addPlanePairs(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
31 const std::vector<PlanePair> &plane_pairs,
32 const std::string_view &name = "plane_pair", int vp = 0);
33
34void addFloor(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
35 const double height, const Eigen::Vector3d &min,
36 const Eigen::Vector3d &max,
37 const std::string_view &name = "floor", int vp = 0);
38
39void addFloors(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
40 const std::vector<double> &heights, const Eigen::Vector3d &min,
41 const Eigen::Vector3d &max,
42 const std::string_view &name = "floor", int vp = 0);
43
44void addCellComplex(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
45 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
46 const std::string_view &name = "cell_complex", int vp = 0);
47
49 std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
50 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
51 const std::string_view &name = "room_probabilities", int vp = 0);
52
54 std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
55 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
56 const std::string_view &name = "support_probabilities", int vp = 0);
57
59 std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
60 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
61 const std::pair<
62 std::unordered_map<ReUseX::geometry::CellComplex::Vertex, int>,
64 std::set<int>>> &results,
65 const std::string_view &name = "rooms", int vp = 0);
66
67void addCameraFrustum(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
68 pcl::TextureMapping<pcl::PointXYZ>::Camera &cam,
69 const std::string_view &name = "camera", int vp = 0);
70
74 std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
75 pcl::texture_mapping::CameraVector cams,
76 const std::string_view &name = "camera", int vp = 0);
77
78} // namespace ReUseX::visualize
boost::graph_traits< Graph >::vertex_descriptor Vertex
void addCellComplex(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="cell_complex", int vp=0)
void addPlane(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const Eigen::Vector4d &plane, const Eigen::Vector3d &origin, const pcl::RGB &color, const std::string_view &name="plane", int vp=0)
void addCameraFrustums(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, pcl::texture_mapping::CameraVector cams, const std::string_view &name="camera", int vp=0)
Display a 3D representation showing the a cloud and a list of camera with their 6DOf poses.
void addRoomProbabilities(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="room_probabilities", int vp=0)
void addFloors(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const std::vector< double > &heights, const Eigen::Vector3d &min, const Eigen::Vector3d &max, const std::string_view &name="floor", int vp=0)
void addSupportProbabilities(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::string_view &name="support_probabilities", int vp=0)
void addPair(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const PlanePair &plane_pair, const std::string_view &name="plane_pair", int vp=0)
void addFloor(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const double height, const Eigen::Vector3d &min, const Eigen::Vector3d &max, const std::string_view &name="floor", int vp=0)
void addCameraFrustum(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, pcl::TextureMapping< pcl::PointXYZ >::Camera &cam, const std::string_view &name="camera", int vp=0)
void addPlanes(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const std::vector< Pair > &planes, const std::string_view &name="plane", int vp=0)
void addPlanePairs(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const std::vector< PlanePair > &plane_pairs, const std::string_view &name="plane_pair", int vp=0)
void addRooms(std::shared_ptr< pcl::visualization::PCLVisualizer > viewer, const std::shared_ptr< ReUseX::geometry::CellComplex > &cc, const std::pair< std::unordered_map< ReUseX::geometry::CellComplex::Vertex, int >, std::unordered_map< ReUseX::geometry::CellComplex::Vertex, std::set< int > > > &results, const std::string_view &name="rooms", int vp=0)
std::pair< Pair, Pair > PlanePair
Definition types.hpp:43