Commit 74ad6e7b authored by Sylvain Thery's avatar Sylvain Thery

minor namespace problems

parent 3ac0e694
......@@ -49,7 +49,7 @@ void filterAverageAttribute_OneRing(
const FunctorSelect& select = allDarts)
{
FunctorAverage<T, VERTEX> fa(attIn) ;
Algo::Selection::Collector_OneRing<PFP> col(map) ;
Algo::Surface::Selection::Collector_OneRing<PFP> col(map) ;
TraversorV<typename PFP::MAP> t(map, select) ;
for(Dart d = t.begin(); d != t.end(); d = t.next())
......@@ -98,7 +98,7 @@ void filterAverageVertexAttribute_WithinSphere(
{
FunctorAverage<T, VERTEX> faInside(attIn) ;
FunctorAverageOnSphereBorder<PFP, T> faBorder(map, attIn, position) ;
Algo::Selection::Collector_WithinSphere<PFP> col(map, position, radius) ;
Algo::Surface::Selection::Collector_WithinSphere<PFP> col(map, position, radius) ;
TraversorV<typename PFP::MAP> t(map, select) ;
for(Dart d = t.begin(); d != t.end(); d = t.next())
......@@ -139,7 +139,7 @@ void filterAverageEdgeAttribute_WithinSphere(
const FunctorSelect& select = allDarts)
{
FunctorAverage<T, EDGE> fa(attIn) ;
Algo::Selection::Collector_WithinSphere<PFP> col(map, position, radius) ;
Algo::Surface::Selection::Collector_WithinSphere<PFP> col(map, position, radius) ;
TraversorE<typename PFP::MAP> t(map, select) ;
for(Dart d = t.begin(); d != t.end(); d = t.next())
......@@ -167,7 +167,7 @@ void filterAverageFaceAttribute_WithinSphere(
const FunctorSelect& select = allDarts)
{
FunctorAverage<T, FACE> fa(attIn) ;
Algo::Selection::Collector_WithinSphere<PFP> col(map, position, radius) ;
Algo::Surface::Selection::Collector_WithinSphere<PFP> col(map, position, radius) ;
TraversorF<typename PFP::MAP> t(map, select) ;
for(Dart d = t.begin(); d != t.end(); d = t.next())
......
......@@ -87,9 +87,9 @@ void filterAverageNormals(typename PFP::MAP& map, const VertexAttribute<typename
FaceAutoAttribute<VEC3> faceNormal(map, "faceNormal") ;
FaceAutoAttribute<VEC3> faceCentroid(map, "faceCentroid") ;
Algo::Geometry::computeAreaFaces<PFP>(map, position, faceArea, select) ;
Algo::Geometry::computeNormalFaces<PFP>(map, position, faceNormal, select) ;
Algo::Geometry::computeCentroidFaces<PFP>(map, position, faceCentroid, select) ;
Algo::Surface::Geometry::computeAreaFaces<PFP>(map, position, faceArea, select) ;
Algo::Surface::Geometry::computeNormalFaces<PFP>(map, position, faceNormal, select) ;
Algo::Surface::Geometry::computeCentroidFaces<PFP>(map, position, faceCentroid, select) ;
FaceAutoAttribute<VEC3> faceNewNormal(map, "faceNewNormal") ;
......@@ -131,9 +131,9 @@ void filterMMSE(typename PFP::MAP& map, float sigmaN2, const VertexAttribute<typ
FaceAutoAttribute<VEC3> faceNormal(map, "faceNormal") ;
FaceAutoAttribute<VEC3> faceCentroid(map, "faceCentroid") ;
Algo::Geometry::computeAreaFaces<PFP>(map, position, faceArea, select) ;
Algo::Geometry::computeNormalFaces<PFP>(map, position, faceNormal, select) ;
Algo::Geometry::computeCentroidFaces<PFP>(map, position, faceCentroid, select) ;
Algo::Surface::Geometry::computeAreaFaces<PFP>(map, position, faceArea, select) ;
Algo::Surface::Geometry::computeNormalFaces<PFP>(map, position, faceNormal, select) ;
Algo::Surface::Geometry::computeCentroidFaces<PFP>(map, position, faceCentroid, select) ;
FaceAutoAttribute<VEC3> faceNewNormal(map, "faceNewNormal") ;
......@@ -216,9 +216,9 @@ void filterTNBA(typename PFP::MAP& map, float sigmaN2, float SUSANthreshold, con
FaceAutoAttribute<VEC3> faceNormal(map, "faceNormal") ;
FaceAutoAttribute<VEC3> faceCentroid(map, "faceCentroid") ;
Algo::Geometry::computeAreaFaces<PFP>(map, position, faceArea, select) ;
Algo::Geometry::computeNormalFaces<PFP>(map, position, faceNormal, select) ;
Algo::Geometry::computeCentroidFaces<PFP>(map, position, faceCentroid, select) ;
Algo::Surface::Geometry::computeAreaFaces<PFP>(map, position, faceArea, select) ;
Algo::Surface::Geometry::computeNormalFaces<PFP>(map, position, faceNormal, select) ;
Algo::Surface::Geometry::computeCentroidFaces<PFP>(map, position, faceCentroid, select) ;
FaceAutoAttribute<VEC3> faceNewNormal(map, "faceNewNormal") ;
......@@ -335,9 +335,9 @@ void filterVNBA(typename PFP::MAP& map, float sigmaN2, float SUSANthreshold, con
FaceAutoAttribute<VEC3> faceNormal(map, "faceNormal") ;
FaceAutoAttribute<VEC3> faceCentroid(map, "faceCentroid") ;
Algo::Geometry::computeAreaFaces<PFP>(map, position, faceArea, select) ;
Algo::Geometry::computeNormalFaces<PFP>(map, position, faceNormal, select) ;
Algo::Geometry::computeCentroidFaces<PFP>(map, position, faceCentroid, select) ;
Algo::Surface::Geometry::computeAreaFaces<PFP>(map, position, faceArea, select) ;
Algo::Surface::Geometry::computeNormalFaces<PFP>(map, position, faceNormal, select) ;
Algo::Surface::Geometry::computeCentroidFaces<PFP>(map, position, faceCentroid, select) ;
VertexAutoAttribute<REAL> vertexArea(map, "vertexArea") ;
FaceAutoAttribute<VEC3> faceNewNormal(map, "faceNewNormal") ;
......@@ -369,7 +369,7 @@ void filterVNBA(typename PFP::MAP& map, float sigmaN2, float SUSANthreshold, con
float angle = Geom::angle(normV, neighborNormal) ;
if( angle <= SUSANthreshold )
{
REAL umbArea = Algo::Geometry::vertexOneRingArea<PFP>(map, it, position) ;
REAL umbArea = Algo::Surface::Geometry::vertexOneRingArea<PFP>(map, it, position) ;
vertexArea[it] = umbArea ;
sumArea += umbArea ;
......
......@@ -49,7 +49,7 @@ void sigmaBilateral(typename PFP::MAP& map, const VertexAttribute<typename PFP::
TraversorE<typename PFP::MAP> t(map, select) ;
for(Dart d = t.begin(); d != t.end(); d = t.next())
{
sumLengths += Algo::Geometry::edgeLength<PFP>(map, d, position) ;
sumLengths += Algo::Surface::Geometry::edgeLength<PFP>(map, d, position) ;
sumAngles += Geom::angle(normal[d], normal[map.phi1(d)]) ;
++nbEdges ;
}
......@@ -80,7 +80,7 @@ void filterBilateral(typename PFP::MAP& map, const VertexAttribute<typename PFP:
Traversor2VE<typename PFP::MAP> te(map, d) ;
for(Dart it = te.begin(); it != te.end(); it = te.next())
{
VEC3 vec = Algo::Geometry::vectorOutOfDart<PFP>(map, it, position) ;
VEC3 vec = Algo::Surface::Geometry::vectorOutOfDart<PFP>(map, it, position) ;
float h = normal_d * vec ;
float t = vec.norm() ;
float wcs = exp( ( -1.0f * (t * t) / (2.0f * sigmaC * sigmaC) ) + ( -1.0f * (h * h) / (2.0f * sigmaS * sigmaS) ) ) ;
......@@ -125,7 +125,7 @@ void filterSUSAN(typename PFP::MAP& map, float SUSANthreshold, const VertexAttri
float angle = Geom::angle(normal_d, neighborNormal) ;
if( angle <= SUSANthreshold )
{
VEC3 vec = Algo::Geometry::vectorOutOfDart<PFP>(map, it, position) ;
VEC3 vec = Algo::Surface::Geometry::vectorOutOfDart<PFP>(map, it, position) ;
float h = normal_d * vec ;
float t = vec.norm() ;
float wcs = exp( ( -1.0f * (t * t) / (2.0f * sigmaC * sigmaC) ) + ( -1.0f * (h * h) / (2.0f * sigmaS * sigmaS) ) );
......
......@@ -42,7 +42,7 @@ void filterTaubin(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& p
{
typedef typename PFP::VEC3 VEC3 ;
Algo::Selection::Collector_OneRing<PFP> c(map) ;
Algo::Surface::Selection::Collector_OneRing<PFP> c(map) ;
const float lambda = 0.6307 ;
const float mu = -0.6732 ;
......@@ -109,7 +109,7 @@ void filterTaubin_modified(typename PFP::MAP& map, VertexAttribute<typename PFP:
CellMarkerNoUnmark<VERTEX> mv(map) ;
FunctorAverageOnSphereBorder<PFP, VEC3> fa1(map, position, position) ;
Algo::Selection::Collector_WithinSphere<PFP> c1(map, position, radius) ;
Algo::Surface::Selection::Collector_WithinSphere<PFP> c1(map, position, radius) ;
for(Dart d = map.begin(); d != map.end(); map.next(d))
{
if(select(d) && !mv.isMarked(d))
......@@ -133,7 +133,7 @@ void filterTaubin_modified(typename PFP::MAP& map, VertexAttribute<typename PFP:
// unshrinking step
FunctorAverageOnSphereBorder<PFP, VEC3> fa2(map, position2, position2) ;
Algo::Selection::Collector_WithinSphere<PFP> c2(map, position2, radius) ;
Algo::Surface::Selection::Collector_WithinSphere<PFP> c2(map, position2, radius) ;
for(Dart d = map.begin(); d != map.end(); map.next(d))
{
if(select(d) && mv.isMarked(d))
......
......@@ -27,6 +27,15 @@
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
extern "C"
{
#include "C_BLAS_LAPACK/INCLUDE/f2c.h"
#include "C_BLAS_LAPACK/INCLUDE/clapack.h"
}
#undef max
#undef min
namespace CGoGN
{
......
......@@ -14,6 +14,10 @@ namespace CGoGN
namespace Algo
{
namespace Surface
{
namespace Geometry
{
......@@ -111,6 +115,7 @@ protected :
}// end namespace Geometry
}// end namespace Surface
}// end namespace Algo
}// end namespace CGoGN
......
......@@ -4,6 +4,9 @@ namespace CGoGN
namespace Algo
{
namespace Surface
{
namespace Geometry
{
......@@ -543,5 +546,6 @@ unsigned int CentroidalVoronoiDiagram<PFP>::moveSeed(unsigned int numSeed){
}
*/
}// end namespace Geometry
} // Surface
}// end namespace Algo
}// end namespace CGoGN
......@@ -117,20 +117,12 @@ void DooSabin(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& posit
///**
// * Reverse the orientation of the map
// * NOW IN THE MAP
// */
//template <typename PFP>
//void reverseOrientation(typename PFP::MAP& map) ;
//
///**
// * Dual mesh computation
// */
//template <typename PFP>
//void computeDual(typename PFP::MAP& map, const FunctorSelect& selected = allDarts) ;
//
//template <typename PFP>
//void computeDualV2(typename PFP::MAP& map, const FunctorSelect& selected = allDarts) ;
//
///**
// * Sqrt(3) subdivision scheme
// */
//template <typename PFP>
......
......@@ -628,114 +628,6 @@ void DooSabin(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& posit
}
}
//template <typename PFP>
//void reverseOrientation(typename PFP::MAP& map)
//{
// DartAttribute<unsigned int> emb0(&map, map.template getEmbeddingAttributeVector<VERTEX>()) ;
// if(emb0.isValid())
// {
// DartAttribute<unsigned int> new_emb0 = map.template addAttribute<unsigned int, DART>("new_EMB_0") ;
// for(Dart d = map.begin(); d != map.end(); map.next(d))
// new_emb0[d] = emb0[map.phi1(d)] ;
// map.template swapAttributes<unsigned int>(emb0, new_emb0) ;
// map.removeAttribute(new_emb0) ;
// }
//
// DartAttribute<Dart> phi1 = map.template getAttribute<Dart, DART>("phi1") ;
// DartAttribute<Dart> phi_1 = map.template getAttribute<Dart, DART>("phi_1") ;
// map.template swapAttributes<Dart>(phi1, phi_1) ;
//}
//
//template <typename PFP>
//void computeDual(typename PFP::MAP& map, const FunctorSelect& selected)
//{
// DartAttribute<Dart> phi1 = map.template getAttribute<Dart, DART>("phi1") ;
// DartAttribute<Dart> phi_1 = map.template getAttribute<Dart, DART>("phi_1") ;
// DartAttribute<Dart> new_phi1 = map.template addAttribute<Dart, DART>("new_phi1") ;
// DartAttribute<Dart> new_phi_1 = map.template addAttribute<Dart, DART>("new_phi_1") ;
//
// for(Dart d = map.begin(); d != map.end(); map.next(d))
// {
// Dart dd = map.phi1(map.phi2(d));
//
// new_phi1[d] = dd ;
// new_phi_1[dd] = d ;
// }
//
// map.template swapAttributes<Dart>(phi1, new_phi1) ;
// map.template swapAttributes<Dart>(phi_1, new_phi_1) ;
//
// map.removeAttribute(new_phi1) ;
// map.removeAttribute(new_phi_1) ;
//
// map.swapEmbeddingContainers(VERTEX, FACE) ;
//
// reverseOrientation<PFP>(map) ;
//
//// //boundary management
//// for(Dart d = map.begin(); d != map.end(); map.next(d))
//// {
//// if(map.isBoundaryMarked(d))
//// {
//// map.template boundaryMarkOrbit<FACE>(map.deleteVertex(map.phi2(d))); //map.deleteCycle();
//// }
//// }
//}
//
//template <typename PFP>
//void computeDualV2(typename PFP::MAP& map, const FunctorSelect& selected)
//{
// DartAttribute<Dart> phi1 = map.template getAttribute<Dart, DART>("phi1") ;
// DartAttribute<Dart> phi_1 = map.template getAttribute<Dart, DART>("phi_1") ;
// DartAttribute<Dart> new_phi1 = map.template addAttribute<Dart, DART>("new_phi1") ;
// DartAttribute<Dart> new_phi_1 = map.template addAttribute<Dart, DART>("new_phi_1") ;
//
// for(Dart d = map.begin(); d != map.end(); map.next(d))
// {
// Dart dd = map.phi1(map.phi2(d));
//
// new_phi1[d] = dd ;
// new_phi_1[dd] = d ;
// }
//
// map.template swapAttributes<Dart>(phi1, new_phi1) ;
// map.template swapAttributes<Dart>(phi_1, new_phi_1) ;
//
// map.removeAttribute(new_phi1) ;
// map.removeAttribute(new_phi_1) ;
//
// //boundary management
// for(Dart d = map.begin(); d != map.end(); map.next(d))
// {
// if(map.isBoundaryMarked(d))
// {
// Dart d1 = map.phi1(d);
// Dart dd = map.phi_1(map.phi2(d));
//
// //marquer le brin d1 et le bin dd
//
// phi1[dd] = d1 ;
// phi_1[d1] = dd ;
//
// phi1[d] = map.phi2(d);
// phi_1[map.phi2(d)] = d;
// }
// }
//
// map.swapEmbeddingContainers(VERTEX, FACE) ;
//
// reverseOrientation<PFP>(map) ;
//
// for(Dart d = map.begin(); d != map.end(); map.next(d))
// {
// if(map.isBoundaryMarked(d))
// {
// map.deleteCycle(map.phi2(d));
// }
// }
//
// //transformer le marker des brins d1 et dd en boundaryMarker
//}
inline double sqrt3_K(unsigned int n)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment