ReUseX  0.0.1
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
rhino.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
6#pragma once
7#include <ReUseX/types.hpp>
10#include <spdmon/spdmon.hpp>
11
12#include <fmt/format.h>
13
14#include <spdlog/sinks/stdout_color_sinks.h>
15#include <spdlog/spdlog.h>
16#include <spdlog/stopwatch.h>
17
18#include <pcl/common/colors.h>
19#include <pcl/common/io.h>
20#include <pcl/io/pcd_io.h>
21
22#include <opennurbs_public.h>
23
24#include <opennurbs_layer.h>
25#include <opennurbs_pointcloud.h>
26
27#include <filesystem>
28#include <optional>
29#include <ranges>
30#include <set>
31
32namespace fs = std::filesystem;
33
34namespace ReUseX::io {
35auto configure_rhino_model() -> std::unique_ptr<ONX_Model>;
36
37auto create_rhino_layers(ONX_Model &model,
38 const std::set<std::string> &layer_names,
39 std::optional<std::vector<ON_Color>> layer_colors = {},
40 const ON_Layer *base_layer = nullptr)
41 -> std::vector<int>;
42
44 -> std::unique_ptr<ON_PointCloud>;
45
46[[nodiscard]]
48 -> std::unique_ptr<ONX_Model>;
49} // namespace ReUseX::io
auto save_rhino_pointcloud(CloudConstPtr pcl_cloud, CloudLConstPtr pcl_labels) -> std::unique_ptr< ONX_Model >
auto configure_rhino_model() -> std::unique_ptr< ONX_Model >
auto make_rhino_pointcloud(CloudConstPtr cloud) -> std::unique_ptr< ON_PointCloud >
auto create_rhino_layers(ONX_Model &model, const std::set< std::string > &layer_names, std::optional< std::vector< ON_Color > > layer_colors={}, const ON_Layer *base_layer=nullptr) -> std::vector< int >
typename CloudL::ConstPtr CloudLConstPtr
Definition types.hpp:31
typename Cloud::ConstPtr CloudConstPtr
Definition types.hpp:23