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
6#include "reusex/geometry/CellComplex.hpp"
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
14#include <vector>
15#include <unordered_map>
16#include <set>
17
18namespace ReUseX::visualize {
19
20void addPlane(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
21 const Eigen::Vector4d &plane, const Eigen::Vector3d &origin,
22 const pcl::RGB &color, const std::string_view &name = "plane",
23 int vp = 0);
24
25void addPlanes(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
26 const std::vector<Pair> &planes,
27 const std::string_view &name = "plane", int vp = 0);
28
29void addPair(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
30 const PlanePair &plane_pair,
31 const std::string_view &name = "plane_pair", int vp = 0);
32
33void addPlanePairs(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
34 const std::vector<PlanePair> &plane_pairs,
35 const std::string_view &name = "plane_pair", int vp = 0);
36
37void addFloor(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
38 const double height, const Eigen::Vector3d &min,
39 const Eigen::Vector3d &max,
40 const std::string_view &name = "floor", int vp = 0);
41
42void addFloors(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
43 const std::vector<double> &heights, const Eigen::Vector3d &min,
44 const Eigen::Vector3d &max,
45 const std::string_view &name = "floor", int vp = 0);
46
47void addCellComplex(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
48 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
49 const std::string_view &name = "cell_complex", int vp = 0);
50
52 std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
53 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
54 const std::string_view &name = "room_probabilities", int vp = 0);
55
57 std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
58 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
59 const std::string_view &name = "support_probabilities", int vp = 0);
60
62 std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
63 const std::shared_ptr<ReUseX::geometry::CellComplex> &cc,
64 const std::pair<
65 std::unordered_map<ReUseX::geometry::CellComplex::Vertex, int>,
67 std::set<int>>> &results,
68 const std::string_view &name = "rooms", int vp = 0);
69
70void addCameraFrustum(std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
71 pcl::TextureMapping<pcl::PointXYZ>::Camera &cam,
72 const std::string_view &name = "camera", int vp = 0);
73
77 std::shared_ptr<pcl::visualization::PCLVisualizer> viewer,
78 pcl::texture_mapping::CameraVector cams,
79 const std::string_view &name = "camera", int vp = 0);
80
81} // 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:46