Go to the documentation of this file.
   32 #ifndef LVR2_ALGORITHM_GEOMETRYALGORITHMS_H_ 
   33 #define LVR2_ALGORITHM_GEOMETRYALGORITHMS_H_ 
   57 template<
typename BaseVecT>
 
   59         const BaseMesh<BaseVecT>& 
mesh,
 
   62         vector<VertexHandle>& neighborsOut
 
   76 template <
typename BaseVecT, 
typename VisitorF>
 
   78     const BaseMesh<BaseVecT>& 
mesh,
 
   93 template<
typename BaseVecT>
 
  112 template<
typename BaseVecT>
 
  114         const BaseMesh<BaseVecT>& 
mesh,
 
  116         const VertexMap<Normal<typename BaseVecT::CoordType>>& normals
 
  128 template<
typename BaseVecT>
 
  130         const BaseMesh<BaseVecT>& 
mesh,
 
  131         const VertexMap<Normal<typename BaseVecT::CoordType>>& normals
 
  143 template<
typename BaseVecT>
 
  145         const BaseMesh<BaseVecT>& 
mesh,
 
  146         const VertexMap<Normal<typename BaseVecT::CoordType>>& normals
 
  166 template<
typename BaseVecT>
 
  168         const BaseMesh<BaseVecT>& 
mesh,
 
  170         const VertexMap<Normal<typename BaseVecT::CoordType>>& normals,
 
  171         DenseVertexMap<float>& roughness,
 
  172         DenseVertexMap<float>& heightDiff
 
  181 template<
typename BaseVecT>
 
  194 template<
typename BaseVecT>
 
  196     const BaseMesh<BaseVecT>& 
mesh,
 
  197     const VertexHandle& start,
 
  198     const VertexHandle& goal,
 
  199     const DenseEdgeMap<float>& edgeCosts,
 
  200     std::list<VertexHandle>& path,
 
  201     DenseVertexMap<float>& distances,
 
  202     DenseVertexMap<VertexHandle>& predecessors,
 
  203     DenseVertexMap<bool>& seen,
 
  204     DenseVertexMap<float>& vertex_costs);
 
  209 #include "GeometryAlgorithms.tcc" 
  
DenseEdgeMap< float > calcVertexAngleEdges(const BaseMesh< BaseVecT > &mesh, const VertexMap< Normal< typename BaseVecT::CoordType >> &normals)
Calculates the angle between two vertex normals for each edge.
void calcVertexRoughnessAndHeightDifferences(const BaseMesh< BaseVecT > &mesh, double radius, const VertexMap< Normal< typename BaseVecT::CoordType >> &normals, DenseVertexMap< float > &roughness, DenseVertexMap< float > &heightDiff)
Calculates the roughness and the height difference for each vertex.
DenseVertexMap< float > calcAverageVertexAngles(const BaseMesh< BaseVecT > &mesh, const VertexMap< Normal< typename BaseVecT::CoordType >> &normals)
Calculates the average angle for each vertex.
void visitLocalVertexNeighborhood(const BaseMesh< BaseVecT > &mesh, VertexHandle vH, double radius, VisitorF visitor)
Visits every vertex in the local neighborhood of vH.
void calcLocalVertexNeighborhood(const BaseMesh< BaseVecT > &mesh, VertexHandle vH, double radius, vector< VertexHandle > &neighborsOut)
Calculates the local neighborhood of a given vertex (defined by it's handle).
DenseVertexMap< float > calcVertexRoughness(const BaseMesh< BaseVecT > &mesh, double radius, const VertexMap< Normal< typename BaseVecT::CoordType >> &normals)
Calculates the roughness for each vertex.
DenseEdgeMap< float > calcVertexDistances(const BaseMesh< BaseVecT > &mesh)
Computes the distances between the vertices and stores them in the given dense edge map.
DenseVertexMap< float > calcVertexHeightDifferences(const BaseMesh< BaseVecT > &mesh, double radius)
Calculate the height difference value for each vertex of the given BaseMesh.
AttributeMap< VertexHandle, ValueT > VertexMap
bool Dijkstra(const BaseMesh< BaseVecT > &mesh, const VertexHandle &start, const VertexHandle &goal, const DenseEdgeMap< float > &edgeCosts, std::list< VertexHandle > &path, DenseVertexMap< float > &distances, DenseVertexMap< VertexHandle > &predecessors, DenseVertexMap< bool > &seen, DenseVertexMap< float > &vertex_costs)
Dijkstra's algorithm.
lvr2
Author(s): Thomas Wiemann 
, Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr 
autogenerated on Wed Mar 2 2022 00:37:23