Coupure prévue mardi 3 Août au matin pour maintenance du serveur. Nous faisons au mieux pour que celle-ci soit la plus brève possible.

Commit 244f3699 authored by Pierre Kraemer's avatar Pierre Kraemer
Browse files

check nb orbits and nb cells in embeddedMaps + Merge cgogn:~vanhoey/CGoGN

Conflicts:
	build/apps_cmake.txt
	include/Algo/Geometry/normal.hpp
parents a932841f 57a50e82
...@@ -25,18 +25,20 @@ ...@@ -25,18 +25,20 @@
#ifndef _CGOGN_TRIANGULATION_H_ #ifndef _CGOGN_TRIANGULATION_H_
#define _CGOGN_TRIANGULATION_H_ #define _CGOGN_TRIANGULATION_H_
#include <math.h> #include <math.h>
#include <vector> #include <vector>
#include <list> #include <list>
#include <set> #include <set>
#include <utility> #include <utility>
#include "Algo/Geometry/normal.h"
namespace CGoGN namespace CGoGN
{ {
namespace Algo namespace Algo
{ {
namespace Modelisation namespace Modelisation
{ {
...@@ -44,7 +46,6 @@ template <typename PFP> ...@@ -44,7 +46,6 @@ template <typename PFP>
class EarTriangulation class EarTriangulation
{ {
protected: protected:
// forward declaration // forward declaration
class VertexPoly; class VertexPoly;
...@@ -59,11 +60,16 @@ protected: ...@@ -59,11 +60,16 @@ protected:
Dart dart; Dart dart;
float angle; float angle;
float length; float length;
VertexPoly() {}
VertexPoly(Dart d, float v, float l): dart(d),angle(v),length(l) {} VertexPoly()
{}
VertexPoly(Dart d, float v, float l) : dart(d), angle(v), length(l)
{}
bool operator()(const VertexPoly& vp1, const VertexPoly& vp2) bool operator()(const VertexPoly& vp1, const VertexPoly& vp2)
{ {
if (fabs(vp1.angle - vp2.angle)<0.2f) if (fabs(vp1.angle - vp2.angle) < 0.2f)
return vp1.length < vp2.length; return vp1.length < vp2.length;
return vp1.angle < vp2.angle; return vp1.angle < vp2.angle;
} }
...@@ -86,24 +92,24 @@ protected: ...@@ -86,24 +92,24 @@ protected:
public: public:
EarTriangulation(typename PFP::MAP& map): EarTriangulation(typename PFP::MAP& map) : m_map(map), m_dartEars(map, VERTEX)
m_map(map), m_dartEars(map,VERTEX)
{ {
m_position = map.template getAttribute<typename PFP::VEC3>(VERTEX,"position"); m_position = map.template getAttribute<typename PFP::VEC3>(VERTEX,"position");
} }
// void trianguleFace( Dart d, DartMarker& mark); // void trianguleFace(Dart d, DartMarker& mark);
void trianguleFace( Dart d); void trianguleFace(Dart d);
void triangule(const FunctorSelect& good = allDarts, unsigned int thread=0); void triangule(const FunctorSelect& good = allDarts, unsigned int thread = 0);
}; };
} // namespace Modelisation
} // namespace Algo
} } // namespace CGoGN
}
}
#include "Algo/Modelisation/triangulation.hpp" #include "Algo/Modelisation/triangulation.hpp"
#endif /* _CGOGN_TRIANGULATION_H_ */ #endif
...@@ -36,30 +36,26 @@ ColourConverter<REAL>::ColourConverter(VEC3 col, enum ColourEncoding enc) : ...@@ -36,30 +36,26 @@ ColourConverter<REAL>::ColourConverter(VEC3 col, enum ColourEncoding enc) :
switch(originalEnc) { switch(originalEnc) {
case(C_RGB): case(C_RGB):
assert (-0.001 < col[0] && col[0] < 1.001) ; if (!(-0.001 < col[0] && col[0] < 1.001 && -0.001 < col[1] && col[1] < 1.001 && -0.001 < col[2] && col[2] < 1.001))
assert (-0.001 < col[1] && col[1] < 1.001) ; CGoGNerr << "Warning : an unvalid RGB color was entered in ColourConverter constructor" << CGoGNendl ;
assert (-0.001 < col[2] && col[2] < 1.001) ;
RGB = new VEC3(col) ; RGB = new VEC3(col) ;
break ; break ;
case (C_Luv) : case (C_Luv) :
assert (-0.001 < col[0] && col[0] < 100.001) ; if (!(-0.001 < col[0] && col[0] < 100.001 && -83.001 < col[1] && col[1] < 175.001 && -134.001 < col[2] && col[2] < 108.001))
assert (-83.001 < col[1] && col[1] < 175.001) ; CGoGNerr << "Warning : an unvalid Luv color was entered in ColourConverter constructor" << CGoGNendl ;
assert (-134.001 < col[2] && col[2] < 108.001) ;
Luv = new VEC3(col) ; Luv = new VEC3(col) ;
break ; break ;
case (C_XYZ) : case (C_XYZ) :
assert (-0.001 < col[0] && col[0] < 1.001) ; if (!(-0.001 < col[0] && col[0] < 1.001 && -0.001 < col[1] && col[1] < 1.001 && -0.001 < col[2] && col[2] < 1.001))
assert (-0.001 < col[1] && col[1] < 1.001) ; CGoGNerr << "Warning : an unvalid XYZ color was entered in ColourConverter constructor" << CGoGNendl ;
assert (-0.001 < col[2] && col[2] < 1.001) ;
XYZ = new VEC3(col) ; XYZ = new VEC3(col) ;
break ; break ;
case (C_Lab) : case (C_Lab) :
assert (-0.001 < col[0] && col[0] < 100.001) ; if (!(-0.001 < col[0] && col[0] < 100.001 && -86.001 < col[1] && col[1] < 98.001 && -108.001 < col[2] && col[2] < 95.001))
assert (-86.001 < col[1] && col[1] < 98.001) ; CGoGNerr << "Warning : an unvalid Lab color was entered in ColourConverter constructor" << CGoGNendl ;
assert (-108.001 < col[2] && col[2] < 95.001) ;
Lab = new VEC3(col) ; Lab = new VEC3(col) ;
break ; break ;
} }
......
...@@ -508,7 +508,18 @@ bool EmbeddedGMap2::check() ...@@ -508,7 +508,18 @@ bool EmbeddedGMap2::check()
} }
} }
} }
CGoGNout << "Check: embedding ok" << CGoGNendl ; CGoGNout << "Check: embedding ok" << CGoGNendl ;
std::cout << "nb vertex orbits : " << getNbOrbits(VERTEX) << std::endl ;
std::cout << "nb vertex cells : " << m_attribs[VERTEX].size() << std::endl ;
std::cout << "nb edge orbits : " << getNbOrbits(EDGE) << std::endl ;
std::cout << "nb edge cells : " << m_attribs[EDGE].size() << std::endl ;
std::cout << "nb face orbits : " << getNbOrbits(FACE) << std::endl ;
std::cout << "nb face cells : " << m_attribs[FACE].size() << std::endl ;
return true ; return true ;
} }
......
...@@ -437,8 +437,20 @@ bool EmbeddedGMap3::check() ...@@ -437,8 +437,20 @@ bool EmbeddedGMap3::check()
} }
CGoGNout << "Check: embedding ok" << CGoGNendl ; CGoGNout << "Check: embedding ok" << CGoGNendl ;
std::cout << "nb vertex orbits : " << getNbOrbits(VERTEX) << std::endl ;
std::cout << "nb vertex cells : " << m_attribs[VERTEX].size() << std::endl ;
std::cout << "nb edge orbits : " << getNbOrbits(EDGE) << std::endl ;
std::cout << "nb edge cells : " << m_attribs[EDGE].size() << std::endl ;
std::cout << "nb face orbits : " << getNbOrbits(FACE) << std::endl ;
std::cout << "nb face cells : " << m_attribs[FACE].size() << std::endl ;
std::cout << "nb volume orbits : " << getNbOrbits(VOLUME) << std::endl ;
std::cout << "nb volume cells : " << m_attribs[VOLUME].size() << std::endl ;
return true ; return true ;
} }
} // namespace CGoGN } // namespace CGoGN
...@@ -748,15 +748,6 @@ bool GMap2::check() ...@@ -748,15 +748,6 @@ bool GMap2::check()
CGoGNout << "Check: topology ok" << CGoGNendl; CGoGNout << "Check: topology ok" << CGoGNendl;
std::cout << "nb vertex orbits" << getNbOrbits(VERTEX) << std::endl ;
std::cout << "nb vertex cells" << m_attribs[VERTEX].size() << std::endl ;
std::cout << "nb edge orbits" << getNbOrbits(EDGE) << std::endl ;
std::cout << "nb edge cells" << m_attribs[EDGE].size() << std::endl ;
std::cout << "nb face orbits" << getNbOrbits(FACE) << std::endl ;
std::cout << "nb face cells" << m_attribs[FACE].size() << std::endl ;
return true; return true;
} }
......
...@@ -716,18 +716,6 @@ bool GMap3::check() ...@@ -716,18 +716,6 @@ bool GMap3::check()
CGoGNout << "Check: topology ok" << CGoGNendl; CGoGNout << "Check: topology ok" << CGoGNendl;
std::cout << "nb vertex orbits" << getNbOrbits(VERTEX) << std::endl ;
std::cout << "nb vertex cells" << m_attribs[VERTEX].size() << std::endl ;
std::cout << "nb edge orbits" << getNbOrbits(EDGE) << std::endl ;
std::cout << "nb edge cells" << m_attribs[EDGE].size() << std::endl ;
std::cout << "nb face orbits" << getNbOrbits(FACE) << std::endl ;
std::cout << "nb face cells" << m_attribs[FACE].size() << std::endl ;
std::cout << "nb volume orbits" << getNbOrbits(VOLUME) << std::endl ;
std::cout << "nb volume cells" << m_attribs[VOLUME].size() << std::endl ;
return true; return true;
} }
......
...@@ -467,7 +467,18 @@ bool EmbeddedMap2::check() ...@@ -467,7 +467,18 @@ bool EmbeddedMap2::check()
} }
} }
} }
CGoGNout << "Check: embedding ok" << CGoGNendl ; CGoGNout << "Check: embedding ok" << CGoGNendl ;
std::cout << "nb vertex orbits : " << getNbOrbits(VERTEX) << std::endl ;
std::cout << "nb vertex cells : " << m_attribs[VERTEX].size() << std::endl ;
std::cout << "nb edge orbits : " << getNbOrbits(EDGE) << std::endl ;
std::cout << "nb edge cells : " << m_attribs[EDGE].size() << std::endl ;
std::cout << "nb face orbits : " << getNbOrbits(FACE) << std::endl ;
std::cout << "nb face cells : " << m_attribs[FACE].size() << std::endl ;
return true ; return true ;
} }
......
...@@ -452,6 +452,19 @@ bool EmbeddedMap3::check() ...@@ -452,6 +452,19 @@ bool EmbeddedMap3::check()
} }
std::cout << "Check: embedding ok" << std::endl ; std::cout << "Check: embedding ok" << std::endl ;
std::cout << "nb vertex orbits : " << getNbOrbits(VERTEX) << std::endl ;
std::cout << "nb vertex cells : " << m_attribs[VERTEX].size() << std::endl ;
std::cout << "nb edge orbits : " << getNbOrbits(EDGE) << std::endl ;
std::cout << "nb edge cells : " << m_attribs[EDGE].size() << std::endl ;
std::cout << "nb face orbits : " << getNbOrbits(FACE) << std::endl ;
std::cout << "nb face cells : " << m_attribs[FACE].size() << std::endl ;
std::cout << "nb volume orbits : " << getNbOrbits(VOLUME) << std::endl ;
std::cout << "nb volume cells : " << m_attribs[VOLUME].size() << std::endl ;
return true ; return true ;
} }
......
...@@ -645,15 +645,6 @@ bool Map2::check() ...@@ -645,15 +645,6 @@ bool Map2::check()
CGoGNout << "Check: topology ok" << CGoGNendl; CGoGNout << "Check: topology ok" << CGoGNendl;
std::cout << "nb vertex orbits" << getNbOrbits(VERTEX) << std::endl ;
std::cout << "nb vertex cells" << m_attribs[VERTEX].size() << std::endl ;
std::cout << "nb edge orbits" << getNbOrbits(EDGE) << std::endl ;
std::cout << "nb edge cells" << m_attribs[EDGE].size() << std::endl ;
std::cout << "nb face orbits" << getNbOrbits(FACE) << std::endl ;
std::cout << "nb face cells" << m_attribs[FACE].size() << std::endl ;
return true; return true;
} }
......
...@@ -661,18 +661,6 @@ bool Map3::check() ...@@ -661,18 +661,6 @@ bool Map3::check()
std::cout << "Check: topology ok" << std::endl; std::cout << "Check: topology ok" << std::endl;
std::cout << "nb vertex orbits" << getNbOrbits(VERTEX) << std::endl ;
std::cout << "nb vertex cells" << m_attribs[VERTEX].size() << std::endl ;
std::cout << "nb edge orbits" << getNbOrbits(EDGE) << std::endl ;
std::cout << "nb edge cells" << m_attribs[EDGE].size() << std::endl ;
std::cout << "nb face orbits" << getNbOrbits(FACE) << std::endl ;
std::cout << "nb face cells" << m_attribs[FACE].size() << std::endl ;
std::cout << "nb volume orbits" << getNbOrbits(VOLUME) << std::endl ;
std::cout << "nb volume cells" << m_attribs[VOLUME].size() << std::endl ;
return true; return true;
} }
......
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