NormalVectorsFilter.hpp
Go to the documentation of this file.
1 /*
2  * NormalVectorsFilter.hpp
3  *
4  * Created on: May 05, 2015
5  * Author: Peter Fankhauser, Martin Wermelinger
6  * Institute: ETH Zurich, ANYbotics
7  */
8 
9 #pragma once
10 
11 #include <filters/filter_base.hpp>
13 
14 #include <Eigen/Core>
15 #include <string>
16 
17 namespace grid_map {
18 
22 template <typename T>
24  public:
29 
33  ~NormalVectorsFilter() override;
34 
51  bool configure() override;
52 
59  bool update(const T& mapIn, T& mapOut) override;
60 
61  private:
71  void computeWithAreaSerial(GridMap& map, const std::string& inputLayer, const std::string& outputLayersPrefix);
72 
82  void computeWithAreaParallel(GridMap& map, const std::string& inputLayer, const std::string& outputLayersPrefix);
83 
108  void areaSingleNormalComputation(GridMap& map, const std::string& inputLayer, const std::string& outputLayersPrefix,
109  const grid_map::Index& index);
119  void computeWithRasterSerial(GridMap& map, const std::string& inputLayer, const std::string& outputLayersPrefix);
120 
130  void computeWithRasterParallel(GridMap& map, const std::string& inputLayer, const std::string& outputLayersPrefix);
131 
162  void rasterSingleNormalComputation(GridMap& map, const std::string& outputLayersPrefix, const grid_map::Matrix& dataMap,
163  const grid_map::Index& index);
164 
166 
168 
171 
174 
177 
179  Eigen::Vector3d normalVectorPositiveAxis_;
180 
182  std::string inputLayer_;
183 
185  std::string outputLayersPrefix_;
186 
189 };
190 
191 } // namespace grid_map
Eigen::Array2i Index
std::string outputLayersPrefix_
Output layer name.
void areaSingleNormalComputation(GridMap &map, const std::string &inputLayer, const std::string &outputLayersPrefix, const grid_map::Index &index)
std::string inputLayer_
Input layer name.
Eigen::MatrixXf Matrix
void computeWithAreaParallel(GridMap &map, const std::string &inputLayer, const std::string &outputLayersPrefix)
bool parallelizationEnabled_
Parameter that specifies whether to parallelize or not.
void computeWithRasterParallel(GridMap &map, const std::string &inputLayer, const std::string &outputLayersPrefix)
Eigen::Vector3d normalVectorPositiveAxis_
Normal vector positive axis.
void computeWithAreaSerial(GridMap &map, const std::string &inputLayer, const std::string &outputLayersPrefix)
void rasterSingleNormalComputation(GridMap &map, const std::string &outputLayersPrefix, const grid_map::Matrix &dataMap, const grid_map::Index &index)
bool update(const T &mapIn, T &mapOut) override
int threadCount_
Parameter that specifies the number of thread used.
double estimationRadius_
Radius of submap for normal vector estimation.
double gridMapResolution_
Grid Map Resolution.
void computeWithRasterSerial(GridMap &map, const std::string &inputLayer, const std::string &outputLayersPrefix)


grid_map_filters
Author(s): Péter Fankhauser , Martin Wermelinger
autogenerated on Tue Jun 1 2021 02:13:38