ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
texture_mesh.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#include "reusex/core/SensorIntrinsics.hpp"
8
9#include <pcl/PolygonMesh.h>
10#include <pcl/TextureMesh.h>
11#include <rtabmap/core/DBDriver.h>
12#include <opencv2/core/mat.hpp>
13
14#include <map>
15
16namespace reusex::geometry {
17
19struct CameraData {
20 cv::Mat image;
22 Eigen::Matrix4d pose;
23};
24
25pcl::TextureMesh::Ptr texture_mesh_with_cloud(pcl::PolygonMesh::Ptr mesh,
26 CloudConstPtr cloud);
27
29pcl::TextureMesh::Ptr
30texture_mesh(pcl::PolygonMesh::Ptr mesh,
31 std::map<int, rtabmap::Transform> const &poses,
32 std::map<int, rtabmap::Signature> const &nodes);
33
35pcl::TextureMesh::Ptr
36texture_mesh(pcl::PolygonMesh::Ptr mesh,
37 std::map<int, CameraData> const &cameras);
38} // namespace reusex::geometry
pcl::PolygonMeshPtr mesh(CloudConstPtr cloud, CloudNConstPtr normals, EigenVectorContainer< double, 4 > &planes, EigenVectorContainer< double, 3 > &centroids, std::vector< IndicesPtr > &inliers, CloudLConstPtr rooms, MeshOptions const opt=MeshOptions{})
Generate a mesh from point cloud and geometric primitives.
pcl::TextureMesh::Ptr texture_mesh_with_cloud(pcl::PolygonMesh::Ptr mesh, CloudConstPtr cloud)
pcl::TextureMesh::Ptr texture_mesh(pcl::PolygonMesh::Ptr mesh, std::map< int, rtabmap::Transform > const &poses, std::map< int, rtabmap::Signature > const &nodes)
Texture mesh using RTABMap signatures (legacy API).
typename Cloud::ConstPtr CloudConstPtr
Definition types.hpp:28
Lightweight camera intrinsics replacing rtabmap::CameraModel in downstream code.
Camera data for texture mapping.
core::SensorIntrinsics intrinsics
Camera intrinsics.
Eigen::Matrix4d pose
World pose (SE(3)).
cv::Mat image
Color image.