|
template<typename BaseVecT > |
Plane< BaseVecT > | lvr2::calcRegressionPlane (const BaseMesh< BaseVecT > &mesh, const Cluster< FaceHandle > &cluster, const FaceMap< Normal< typename BaseVecT::CoordType >> &normals) |
| Calcs a regression plane for the given cluster. More...
|
|
template<typename BaseVecT > |
Plane< BaseVecT > | lvr2::calcRegressionPlanePCA (const BaseMesh< BaseVecT > &mesh, const Cluster< FaceHandle > &cluster, const FaceMap< Normal< typename BaseVecT::CoordType >> &normals, const int num_iterations=100, const int num_samples=10) |
| Calcs a regression plane for the given cluster. More...
|
|
template<typename BaseVecT > |
Plane< BaseVecT > | lvr2::calcRegressionPlaneRANSAC (const BaseMesh< BaseVecT > &mesh, const Cluster< FaceHandle > &cluster, const FaceMap< Normal< typename BaseVecT::CoordType >> &normals, const int num_iterations=100, const int num_samples=10) |
| Calcs a regression plane for the given cluster. More...
|
|
template<typename BaseVecT > |
DenseClusterMap< Plane< BaseVecT > > | lvr2::calcRegressionPlanes (const BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &clusters, const FaceMap< Normal< typename BaseVecT::CoordType >> &normals, int minClusterSize) |
| Calcs regression planes for all cluster in clusters. More...
|
|
template<typename BaseVecT > |
DenseClusterMap< Plane< BaseVecT > > | lvr2::calcRegressionPlanesRANSAC (const BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &clusters, const FaceMap< Normal< typename BaseVecT::CoordType >> &normals, int minClusterSize, int iterations=100, int samples=10) |
| Calcs regression planes for all cluster in clusters. More...
|
|
template<typename BaseVecT > |
BoundingRectangle< typename BaseVecT::CoordType > | lvr2::calculateBoundingRectangle (const vector< VertexHandle > &contour, const BaseMesh< BaseVecT > &mesh, const Cluster< FaceHandle > &cluster, const FaceMap< Normal< typename BaseVecT::CoordType >> &normals, float texelSize, ClusterHandle clusterH) |
| Calculates bounding rectangle for a given cluster. More...
|
|
template<typename BaseVecT > |
vector< VertexHandle > | lvr2::calculateClusterContourVertices (ClusterHandle clusterH, const BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &clusterBiMap) |
| Calculates contour vertices for a given cluster. More...
|
|
template<typename BaseVecT , typename Pred > |
ClusterBiMap< FaceHandle > | lvr2::clusterGrowing (const BaseMesh< BaseVecT > &mesh, Pred pred) |
| Algorithm which generates clusters from the given mesh. The given predicate decides which faces will be in the same clusters. More...
|
|
template<typename BaseVecT > |
void | lvr2::debugPlanes (const BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &clusters, const ClusterMap< Plane< BaseVecT >> &planes, string filename, size_t minClusterSize) |
| Creates a mesh containing the given regression planes (which match the given minimum cluster size) as planes and saves it to a file with the given filename. More...
|
|
template<typename BaseVecT > |
void | lvr2::deleteSmallPlanarCluster (BaseMesh< BaseVecT > &mesh, ClusterBiMap< FaceHandle > &clusters, size_t smallClusterThreshold) |
| Removes all clusters and their cotained faces from the given mesh which are smaller than the given smallClusterThreshold. More...
|
|
template<typename BaseVecT > |
void | lvr2::dragOntoIntersection (BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &clusters, const ClusterHandle &clusterH, const ClusterHandle &neighbourClusterH, const Line< BaseVecT > &intersection) |
| Drags all points between two clusters (planes) into their intersection. More...
|
|
template<typename BaseVecT > |
void | lvr2::dragToRegressionPlane (BaseMesh< BaseVecT > &mesh, const Cluster< FaceHandle > &cluster, const Plane< BaseVecT > &plane, FaceMap< Normal< typename BaseVecT::CoordType >> &normals) |
| Drags all points from the given cluster into the given plane. More...
|
|
template<typename BaseVecT > |
void | lvr2::dragToRegressionPlanes (BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &clusters, const ClusterMap< Plane< BaseVecT >> &planes, FaceMap< Normal< typename BaseVecT::CoordType >> &normals) |
| Drags all points from the given clusters into their regression planes. More...
|
|
template<typename BaseVecT > |
vector< vector< VertexHandle > > | lvr2::findContours (BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &clusters, ClusterHandle clusterH) |
|
template<typename BaseVecT > |
ClusterBiMap< FaceHandle > | lvr2::iterativePlanarClusterGrowing (BaseMesh< BaseVecT > &mesh, FaceMap< Normal< typename BaseVecT::CoordType >> &normals, float minSinAngle, int numIterations, int minClusterSize) |
| Algorithm which generates planar clusters from the given mesh, drags points in clusters into regression planes and improves clusters iteratively. More...
|
|
template<typename BaseVecT > |
ClusterBiMap< FaceHandle > | lvr2::iterativePlanarClusterGrowingRANSAC (BaseMesh< BaseVecT > &mesh, FaceMap< Normal< typename BaseVecT::CoordType >> &normals, float minSinAngle, int numIterations, int minClusterSize, int ransacIterations=100, int ransacSamples=10) |
| Algorithm which generates planar clusters from the given mesh, drags points in clusters into regression planes and improves clusters iteratively. More...
|
|
template<typename BaseVecT > |
void | lvr2::optimizePlaneIntersections (BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &clusters, const ClusterMap< Plane< BaseVecT >> &planes) |
|
template<typename BaseVecT > |
ClusterBiMap< FaceHandle > | lvr2::planarClusterGrowing (const BaseMesh< BaseVecT > &mesh, const FaceMap< Normal< typename BaseVecT::CoordType >> &normals, float minSinAngle) |
| Algorithm which generates plane clusters from the given mesh. More...
|
|
template<typename BaseVecT > |
void | lvr2::removeDanglingCluster (BaseMesh< BaseVecT > &mesh, size_t sizeThreshold) |
|
template<typename BaseVecT > |
vector< VertexHandle > | lvr2::simplifyContour (const BaseMesh< BaseVecT > &mesh, const vector< VertexHandle > &contour, float threshold) |
|