diff --git a/NeighborhoodFeature.cpp b/NeighborhoodFeature.cpp index cecf38c..7971cdb 100644 --- a/NeighborhoodFeature.cpp +++ b/NeighborhoodFeature.cpp @@ -204,6 +204,7 @@ bool NeighborhoodFeature::computeValue(CCLib::DgmOctree::NeighboursSet& pointsIn //features relying on the PCA case PCA1: case PCA2: + case PCA3: case SPHER: case LINEA: case PLANA: @@ -217,6 +218,9 @@ bool NeighborhoodFeature::computeValue(CCLib::DgmOctree::NeighboursSet& pointsIn case PCA2: f = CCLib::Neighbourhood::PCA2; break; + case PCA3: + f = CCLib::Neighbourhood::SurfaceVariation; + break; case SPHER: f = CCLib::Neighbourhood::Sphericity; break; diff --git a/NeighborhoodFeature.h b/NeighborhoodFeature.h index de724fe..858db8d 100644 --- a/NeighborhoodFeature.h +++ b/NeighborhoodFeature.h @@ -34,6 +34,7 @@ namespace masc Invalid = 0 , PCA1 , PCA2 + , PCA3 , SPHER , LINEA , PLANA @@ -61,6 +62,8 @@ namespace masc return "PCA1"; case PCA2: return "PCA2"; + case PCA3: + return "PCA3"; case SPHER: return "SPHER"; case LINEA: @@ -105,6 +108,8 @@ namespace masc return PCA1; else if (token == "PCA2") return PCA2; + else if (token == "PCA3") + return PCA3; else if (token == "SPHER") return SPHER; else if (token == "LINEA")