Main MRPT website > C++ reference for MRPT 1.5.6
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-2017, 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 <mrpt/maps/link_pragmas.h>
13 #include <mrpt/otherlibs/stlplus/smart_ptr.hpp>
14 #include <vector>
15 
16 namespace mrpt
17 {
18  namespace poses { class CPose3D; }
19  namespace maps { class CPointsMap; }
20 
21  namespace maps
22  {
23  /** Virtual base class for all point-cloud filtering algorithm. See derived classes for implementations.
24  * \sa CPointsMap
25  * \ingroup mrpt_maps_grp
26  */
28  {
29  public:
31  virtual ~CPointCloudFilterBase();
32 
34  {
35  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 here with `true`.
36  bool do_not_delete; //!< (Default:false) If true, only `out_deletion_mask` is filled in, but the filtered-out points will be not actually removed.
37 
39  };
40 
41  /** Apply the filtering algorithm to the pointcloud. */
42  virtual void filter(
43  mrpt::maps::CPointsMap * inout_pointcloud, //!< [in,out] The input pointcloud, which will be modified upon return after filtering.
44  const mrpt::system::TTimeStamp pc_timestamp, //!< [in] The timestamp of the input pointcloud
45  const mrpt::poses::CPose3D & pc_reference_pose, //!< [in] If NULL, the PC is assumed to be given in global coordinates. Otherwise, it will be transformed from local coordinates to global using this transformation.
46  TExtraFilterParams * params = nullptr //!< [in,out] additional in/out parameters
47  ) = 0;
48  };
49 
50  typedef stlplus::smart_ptr<CPointCloudFilterBase> CPointCloudFilterBasePtr;
51 
52  }
53 } // End of namespace
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
Definition: datetime.h:30
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...
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: glew.h:2678
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans or other sensors...
stlplus::smart_ptr< CPointCloudFilterBase > CPointCloudFilterBasePtr
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:72
GLfloat * params
Definition: glew.h:1436
Virtual base class for all point-cloud filtering algorithm.



Page generated by Doxygen 1.8.6 for MRPT 1.5.6 Git: 4c65e84 Tue Apr 24 08:18:17 2018 +0200 at mar abr 24 08:26:17 CEST 2018