cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
filters.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
5#include <cpp-toolbox/cpp-toolbox_export.hpp>
7
8namespace toolbox::pcl
9{
10
11template<typename Derived, typename DataType>
12class CPP_TOOLBOX_EXPORT filter_t
13{
14public:
15 using data_type = DataType;
18 std::shared_ptr<toolbox::types::point_cloud_t<data_type>>;
19
20 std::size_t set_input(const point_cloud& cloud)
21 {
22 return static_cast<Derived*>(this)->set_input_impl(cloud);
23 }
24
25 std::size_t set_input(const point_cloud_ptr& cloud)
26 {
27 return static_cast<Derived*>(this)->set_input_impl(cloud);
28 }
29
30 void enable_parallel(bool enable)
31 {
32 return static_cast<Derived*>(this)->enable_parallel_impl(enable);
33 }
34
35 point_cloud filter() { return static_cast<Derived*>(this)->filter_impl(); }
36
38 {
39 return static_cast<Derived*>(this)->filter_impl(output);
40 }
41
42protected:
43 filter_t() = default;
44 ~filter_t() = default;
45
46public:
47 filter_t(const filter_t&) = delete;
48 filter_t& operator=(const filter_t&) = delete;
49 filter_t(filter_t&&) = delete;
51
52}; // class filter_t
53
54} // namespace toolbox::pcl
Definition filters.hpp:13
filter_t & operator=(const filter_t &)=delete
std::size_t set_input(const point_cloud &cloud)
Definition filters.hpp:20
std::shared_ptr< toolbox::types::point_cloud_t< data_type > > point_cloud_ptr
Definition filters.hpp:18
void enable_parallel(bool enable)
Definition filters.hpp:30
filter_t(filter_t &&)=delete
filter_t & operator=(filter_t &&)=delete
filter_t(const filter_t &)=delete
DataType data_type
Definition filters.hpp:15
void filter(point_cloud_ptr output)
Definition filters.hpp:37
point_cloud filter()
Definition filters.hpp:35
std::size_t set_input(const point_cloud_ptr &cloud)
Definition filters.hpp:25
包含点和相关数据的点云类 / A point cloud class containing points and associated data
Definition point.hpp:268
Definition base_correspondence_generator.hpp:18