Main MRPT website > C++ reference for MRPT 1.9.9
CPointCloudFilterBase.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 #pragma once
10 
11 #include <mrpt/system/datetime.h>
12 #include <vector>
13 #include <memory>
14 
15 namespace mrpt
16 {
17 namespace poses
18 {
19 class CPose3D;
20 }
21 namespace maps
22 {
23 class CPointsMap;
24 }
25 
26 namespace maps
27 {
28 /** Virtual base class for all point-cloud filtering algorithm. See derived
29 * classes for implementations.
30 * \sa CPointsMap
31 * \ingroup mrpt_maps_grp
32 */
34 {
35  public:
36  using Ptr = std::shared_ptr<CPointCloudFilterBase>;
38  virtual ~CPointCloudFilterBase();
39 
41  {
42  /** If a pointer is provided to a user-given container, the list of
43  * points to be deleted will be marked here with `true`. */
44  std::vector<bool>* out_deletion_mask;
45  /** (Default:false) If true, only `out_deletion_mask` is filled in, but
46  * the filtered-out points will be not actually removed. */
48 
50  };
51 
52  /** Apply the filtering algorithm to the pointcloud. */
53  virtual void filter(
54  /** [in,out] The input pointcloud, which will be modified upon
55  return after filtering. */
56  mrpt::maps::CPointsMap* inout_pointcloud,
57  /** [in] The timestamp of the input pointcloud */
58  const mrpt::system::TTimeStamp pc_timestamp,
59  /** [in] If nullptr, the PC is assumed to be given in global
60  coordinates. Otherwise, it will be transformed from local
61  coordinates to global using this transformation. */
62  const mrpt::poses::CPose3D& pc_reference_pose,
63  /** [in,out] additional in/out parameters */
64  TExtraFilterParams* params = nullptr) = 0;
65 };
66 }
67 } // End of namespace
mrpt::maps::CPointCloudFilterBase::Ptr
std::shared_ptr< CPointCloudFilterBase > Ptr
Definition: CPointCloudFilterBase.h:36
mrpt::maps::CPointCloudFilterBase::TExtraFilterParams::do_not_delete
bool do_not_delete
(Default:false) If true, only out_deletion_mask is filled in, but the filtered-out points will be not...
Definition: CPointCloudFilterBase.h:47
mrpt::maps::CPointsMap
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans or other sensors.
Definition: CPointsMap.h:64
mrpt::maps::CPointCloudFilterBase::TExtraFilterParams
Definition: CPointCloudFilterBase.h:40
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CKalmanFilterCapable.h:30
mrpt::maps::CPointCloudFilterBase::TExtraFilterParams::TExtraFilterParams
TExtraFilterParams()
Definition: CPointCloudFilterBase.cpp:18
mrpt::system::TTimeStamp
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1,...
Definition: datetime.h:31
mrpt::maps::CPointCloudFilterBase
Virtual base class for all point-cloud filtering algorithm.
Definition: CPointCloudFilterBase.h:33
mrpt::poses::CPose3D
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:88
mrpt::maps::CPointCloudFilterBase::~CPointCloudFilterBase
virtual ~CPointCloudFilterBase()
Definition: CPointCloudFilterBase.cpp:17
mrpt::maps::CPointCloudFilterBase::CPointCloudFilterBase
CPointCloudFilterBase()
Definition: CPointCloudFilterBase.cpp:16
mrpt::maps::CPointCloudFilterBase::TExtraFilterParams::out_deletion_mask
std::vector< bool > * out_deletion_mask
If a pointer is provided to a user-given container, the list of points to be deleted will be marked h...
Definition: CPointCloudFilterBase.h:44
mrpt::maps::CPointCloudFilterBase::filter
virtual void filter(mrpt::maps::CPointsMap *inout_pointcloud, const mrpt::system::TTimeStamp pc_timestamp, const mrpt::poses::CPose3D &pc_reference_pose, TExtraFilterParams *params=nullptr)=0
Apply the filtering algorithm to the pointcloud.
params
GLenum const GLfloat * params
Definition: glext.h:3534
datetime.h



Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST