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:
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
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...
bool do_not_delete
(Default:false) If true, only out_deletion_mask is filled in, but the filtered-out points will be not...
mrpt::Clock::time_point TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
Definition: datetime.h:40
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
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.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:86
GLenum const GLfloat * params
Definition: glext.h:3534
Virtual base class for all point-cloud filtering algorithm.



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020