Commit 4481e868 authored by Sylvain Thery's avatar Sylvain Thery

compil pb

parent 1c7c7d22
...@@ -115,7 +115,7 @@ void MyQT::createMap(const std::string& filename) ...@@ -115,7 +115,7 @@ void MyQT::createMap(const std::string& filename)
// create a popup window // create a popup window
l_popup = new Utils::QT::QtPopUp(this); l_popup = new Utils::QT::QtPopUp();
// create the widget to view histogram // create the widget to view histogram
l_histodraw = new Algo::Histogram::RenderHistogram(l_popup, *l_histo); l_histodraw = new Algo::Histogram::RenderHistogram(l_popup, *l_histo);
......
...@@ -2017,7 +2017,7 @@ typename PFP::VEC3 EdgeSelector_GeomColOptGradient<PFP>::computeEdgeGradientColo ...@@ -2017,7 +2017,7 @@ typename PFP::VEC3 EdgeSelector_GeomColOptGradient<PFP>::computeEdgeGradientColo
//const VEC3 e0 = Pj - Pi ; //const VEC3 e0 = Pj - Pi ;
const REAL areaIJ0sq = (ei ^ ej).norm2() ; const REAL areaIJ0sq = (ei ^ ej).norm2() ;
const REAL areaIJ0 = REAL(sqrt(areaIJ0sq)/2.0f) ; const REAL areaIJ0 = REAL(std::sqrt(areaIJ0sq)/2.0f) ;
areaSum += areaIJ0 ; areaSum += areaIJ0 ;
// per-channel treatment // per-channel treatment
......
...@@ -99,7 +99,7 @@ void ParticleCell2D<PFP>::vertexState(const VEC3& goal) ...@@ -99,7 +99,7 @@ void ParticleCell2D<PFP>::vertexState(const VEC3& goal)
#ifdef DEBUG #ifdef DEBUG
CGoGNout << "vertexState" << d << CGoGNendl ; CGoGNout << "vertexState" << d << CGoGNendl ;
#endif #endif
assert(goal.isFinite()) ; assert(Geometry::isFinite(goal)) ;
crossCell = CROSS_OTHER ; crossCell = CROSS_OTHER ;
...@@ -195,7 +195,7 @@ void ParticleCell2D<PFP>::edgeState(const VEC3& goal, Geom::Orientation2D sideOf ...@@ -195,7 +195,7 @@ void ParticleCell2D<PFP>::edgeState(const VEC3& goal, Geom::Orientation2D sideOf
CGoGNout<<"goal :"<<goal<<CGoGNendl; CGoGNout<<"goal :"<<goal<<CGoGNendl;
#endif #endif
assert(goal.isFinite()) ; assert(Geometry::isFinite(goal));
// assert(Geometry::isPointOnEdge<PFP>(m,d,m_positions,m_position)); // assert(Geometry::isPointOnEdge<PFP>(m,d,m_positions,m_position));
if (crossCell == NO_CROSS) if (crossCell == NO_CROSS)
...@@ -327,8 +327,8 @@ void ParticleCell2D<PFP>::faceState(const VEC3& goal) ...@@ -327,8 +327,8 @@ void ParticleCell2D<PFP>::faceState(const VEC3& goal)
CGoGNout << "faceState" << d << CGoGNendl ; CGoGNout << "faceState" << d << CGoGNendl ;
#endif #endif
assert(this->getPosition().isFinite()); assert(Geometry::isFinite(this->getPosition()));
assert(goal.isFinite()) ; assert(Geometry::isFinite(goal));
// assert(Geometry::isPointInConvexFace2D<PFP>(m,d,m_positions,m_position,true)); // assert(Geometry::isPointInConvexFace2D<PFP>(m,d,m_positions,m_position,true));
Dart dd = d ; Dart dd = d ;
......
...@@ -114,7 +114,7 @@ void ParticleCell2DAndHalf<PFP>::vertexState(VEC3 goal) ...@@ -114,7 +114,7 @@ void ParticleCell2DAndHalf<PFP>::vertexState(VEC3 goal)
#ifdef DEBUG #ifdef DEBUG
CGoGNout << "vertexState" << d << CGoGNendl; CGoGNout << "vertexState" << d << CGoGNendl;
#endif #endif
assert(goal.isFinite()) ; assert(Geometry::isFinite(goal));
crossCell = CROSS_OTHER; crossCell = CROSS_OTHER;
...@@ -189,7 +189,7 @@ void ParticleCell2DAndHalf<PFP>::edgeState(VEC3 goal, Geom::Orientation3D sideOf ...@@ -189,7 +189,7 @@ void ParticleCell2DAndHalf<PFP>::edgeState(VEC3 goal, Geom::Orientation3D sideOf
CGoGNout << "edgeState" << d << CGoGNendl; CGoGNout << "edgeState" << d << CGoGNendl;
#endif #endif
assert(goal.isFinite()) ; assert(Geometry::isFinite(goal));
// assert(Geometry::isPointOnEdge<PFP>(m,d,m_positions,m_position)); // assert(Geometry::isPointOnEdge<PFP>(m,d,m_positions,m_position));
if(crossCell == NO_CROSS) if(crossCell == NO_CROSS)
...@@ -261,8 +261,8 @@ void ParticleCell2DAndHalf<PFP>::faceState(VEC3 goal) ...@@ -261,8 +261,8 @@ void ParticleCell2DAndHalf<PFP>::faceState(VEC3 goal)
CGoGNout << "faceState" << d << CGoGNendl; CGoGNout << "faceState" << d << CGoGNendl;
#endif #endif
assert(goal.isFinite()) ; assert(Geometry::isFinite(goal));
assert(this->getPosition().isFinite()) ; assert(Geometry::isFinite(this->getPosition()));
//project goal within face plane //project goal within face plane
VEC3 n1 = Geometry::faceNormal<PFP>(m,d,m_positions); VEC3 n1 = Geometry::faceNormal<PFP>(m,d,m_positions);
......
...@@ -106,7 +106,7 @@ void ParticleCell2DAndHalfMemo<PFP>::vertexState(VEC3 current, CellMarkerMemo<MA ...@@ -106,7 +106,7 @@ void ParticleCell2DAndHalfMemo<PFP>::vertexState(VEC3 current, CellMarkerMemo<MA
#ifdef DEBUG #ifdef DEBUG
CGoGNout << "vertexState" << d << CGoGNendl; CGoGNout << "vertexState" << d << CGoGNendl;
#endif #endif
assert(current.isFinite()); assert(Geometry::isFinite(current));
this->crossCell = CROSS_OTHER; this->crossCell = CROSS_OTHER;
...@@ -177,7 +177,7 @@ void ParticleCell2DAndHalfMemo<PFP>::edgeState(VEC3 current, CellMarkerMemo<MAP, ...@@ -177,7 +177,7 @@ void ParticleCell2DAndHalfMemo<PFP>::edgeState(VEC3 current, CellMarkerMemo<MAP,
CGoGNout << "edgeState" << d << CGoGNendl; CGoGNout << "edgeState" << d << CGoGNendl;
#endif #endif
assert(current.isFinite()); assert(Geometry::isFinite(current));
// assert(Geometry::isPointOnEdge<PFP>(m,d,m_positions,m_position)); // assert(Geometry::isPointOnEdge<PFP>(m,d,m_positions,m_position));
if(this->crossCell == NO_CROSS) if(this->crossCell == NO_CROSS)
...@@ -249,8 +249,8 @@ void ParticleCell2DAndHalfMemo<PFP>::faceState(VEC3 current, CellMarkerMemo<MAP, ...@@ -249,8 +249,8 @@ void ParticleCell2DAndHalfMemo<PFP>::faceState(VEC3 current, CellMarkerMemo<MAP,
if(memo_cross.isMarked(this->d)) return ; if(memo_cross.isMarked(this->d)) return ;
memo_cross.mark(this->d); memo_cross.mark(this->d);
assert(this->getPosition().isFinite()); assert(Geometry::isFinite(this->getPosition()));
assert(current.isFinite()); assert(Geometry::isFinite(current));
// assert(Geometry::isPointInConvexFace2D<PFP>(m,d,m_positions,m_position,true)); // assert(Geometry::isPointInConvexFace2D<PFP>(m,d,m_positions,m_position,true));
//project current within face plane //project current within face plane
......
...@@ -163,7 +163,7 @@ public: ...@@ -163,7 +163,7 @@ public:
bool hasNan() const ; bool hasNan() const ;
bool isFinite() const ; //bool isFinite() const ;
/** /**
* Tests if the vector is normalized * Tests if the vector is normalized
...@@ -235,6 +235,8 @@ Vector<DIM, T> slerp(const Vector<DIM, T> &v1, const Vector<DIM, T> &v2, const T ...@@ -235,6 +235,8 @@ Vector<DIM, T> slerp(const Vector<DIM, T> &v1, const Vector<DIM, T> &v2, const T
template <unsigned int DIM, typename T, typename T2> template <unsigned int DIM, typename T, typename T2>
Vector<DIM, T> operator*(T2 b, const Vector<DIM, T>& v); Vector<DIM, T> operator*(T2 b, const Vector<DIM, T>& v);
template <unsigned int DIM, typename T>
bool isFinite(const Vector<DIM, T>& vec);
/**********************************************/ /**********************************************/
/* SOME USEFUL TYPEDEFS */ /* SOME USEFUL TYPEDEFS */
......
...@@ -358,13 +358,13 @@ inline bool Vector<DIM, T>::hasNan() const ...@@ -358,13 +358,13 @@ inline bool Vector<DIM, T>::hasNan() const
return false ; return false ;
} }
template <unsigned int DIM, typename T> //template <unsigned int DIM, typename T>
inline bool Vector<DIM, T>::isFinite() const //inline bool Vector<DIM, T>::isFinite() const
{ //{
for (unsigned int i = 0; i < DIM; ++i) // for (unsigned int i = 0; i < DIM; ++i)
if (!std::isfinite(m_data[i])) return false ; // if (!std::isfinite(m_data[i])) return false ;
return true ; // return true ;
} //}
template <unsigned int DIM, typename T> template <unsigned int DIM, typename T>
inline bool Vector<DIM, T>::isNormalized(const T& epsilon) const inline bool Vector<DIM, T>::isNormalized(const T& epsilon) const
...@@ -392,6 +392,16 @@ inline bool Vector<DIM, T>::isNear(const Vector<DIM, T>& v, int precision) const ...@@ -392,6 +392,16 @@ inline bool Vector<DIM, T>::isNear(const Vector<DIM, T>& v, int precision) const
return isNull2(norm2, precision) ; return isNull2(norm2, precision) ;
} }
template <unsigned int DIM, typename T>
inline bool isFinite(const Vector<DIM, T>& vec)
{
for (unsigned int i = 0; i < DIM; ++i)
if (!std::isfinite(vec[i]))
return false;
return true;
}
/**********************************************/ /**********************************************/
/* STREAM OPERATORS */ /* STREAM OPERATORS */
/**********************************************/ /**********************************************/
......
...@@ -24,8 +24,10 @@ ...@@ -24,8 +24,10 @@
#include "Utils/cgognStream.h" #include "Utils/cgognStream.h"
#include <cmath>
#include <limits> #include <limits>
namespace CGoGN namespace CGoGN
{ {
......
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