37 #ifndef LVR2_ALGORITHM_REDUCTIONALGORITHMS_H_ 38 #define LVR2_ALGORITHM_REDUCTIONALGORITHMS_H_ 40 #include <boost/optional.hpp> 73 template<
typename BaseVecT,
typename CostF>
75 BaseMesh<BaseVecT>&
mesh,
77 FaceMap<Normal<typename BaseVecT::CoordType>>& faceNormals,
84 template<
typename BaseVecT>
86 BaseMesh<BaseVecT>&
mesh,
88 FaceMap<Normal<typename BaseVecT::CoordType>>& faceNormals
93 #include "lvr2/algorithm/ReductionAlgorithms.tcc" size_t simpleMeshReduction(BaseMesh< BaseVecT > &mesh, const size_t count, FaceMap< Normal< typename BaseVecT::CoordType >> &faceNormals)
Like iterativeEdgeCollapse but with a fixed cost function.
size_t iterativeEdgeCollapse(BaseMesh< BaseVecT > &mesh, const size_t count, FaceMap< Normal< typename BaseVecT::CoordType >> &faceNormals, CostF collapseCost)
Collapses count many edges of mesh for which collapseCost returns the smallest values.
AttributeMap< FaceHandle, ValueT > FaceMap