diff --git a/Geo/Curvature.cpp b/Geo/Curvature.cpp index beaf1615064deb7b9fd6bf1cd3d080326393a16c..cae78f9a66f4da54cb6e2b23309f8d37fc18ba05 100644 --- a/Geo/Curvature.cpp +++ b/Geo/Curvature.cpp @@ -150,14 +150,14 @@ Curvature& Curvature::getInstance() std::list<MeshEdgeInfo>::iterator VertToEdgeListIter; _isOnBoundary.resize(_VertexToInt.size()); - for (int i = 0; i < _VertexToInt.size(); ++i) + for (unsigned int i = 0; i < _VertexToInt.size(); ++i) { _isOnBoundary[i] = 0; } // To detect the nodes on the egdes of a geometry, we create a list of all edges on the mesh. The // edges which are shared by only one mesh element are boundary edges. Their nodes are tagged by 1 - for (int i = 0; i < _VertexToInt.size(); ++i) + for (unsigned int i = 0; i < _VertexToInt.size(); ++i) { for (VertToEdgeListIter = _VertexToEdgeList[i].begin(); VertToEdgeListIter != _VertexToEdgeList[i].end(); ++VertToEdgeListIter) @@ -177,7 +177,7 @@ Curvature& Curvature::getInstance() //Loop over the vector of edgelist for (int level = 1; level < 3; ++level) { - for (int i = 0; i < _VertexToEdgeList.size(); ++i) + for (unsigned int i = 0; i < _VertexToEdgeList.size(); ++i) { for (VertToEdgeListIter = _VertexToEdgeList[i].begin(); VertToEdgeListIter != _VertexToEdgeList[i].end(); ++VertToEdgeListIter) @@ -235,7 +235,7 @@ Curvature& Curvature::getInstance() // Now we'll propagate the cuvature values from inside nodes with level = 3 close to the boundary - first // to nodes with level 2, then from nodes with level 2 to nodes with level 1 (on the boundary) _NbNeighbour.resize(_VertexToInt.size()); - for(int i = 0; i < _NbNeighbour.size(); ++i) + for(unsigned int i = 0; i < _NbNeighbour.size(); ++i) { _NbNeighbour[i] = 0; } @@ -243,7 +243,7 @@ Curvature& Curvature::getInstance() for (int level = 2; level > 0 ; --level) { - for (int i = 0; i< _NbNeighbour.size(); ++i) + for (unsigned int i = 0; i< _NbNeighbour.size(); ++i) { _NbNeighbour[i] = 0; if (_isOnBoundary[i] == level) @@ -253,7 +253,7 @@ Curvature& Curvature::getInstance() } - for (int i = 0; i < _VertexToEdgeList.size(); ++i) + for (unsigned int i = 0; i < _VertexToEdgeList.size(); ++i) { for (VertToEdgeListIter = _VertexToEdgeList[i].begin(); VertToEdgeListIter != _VertexToEdgeList[i].end(); ++VertToEdgeListIter) @@ -277,7 +277,7 @@ Curvature& Curvature::getInstance() // Correction for a degenerate case when a node has neighbours with the same or lower level, but zero // neighbours with level+1 - for (int i = 0; i < _VertexToEdgeList.size(); ++i) + for (unsigned int i = 0; i < _VertexToEdgeList.size(); ++i) { for (VertToEdgeListIter = _VertexToEdgeList[i].begin(); VertToEdgeListIter != _VertexToEdgeList[i].end(); ++VertToEdgeListIter) @@ -300,7 +300,7 @@ Curvature& Curvature::getInstance() } } - for (int i = 0; i < _isOnBoundary.size(); ++i) + for (unsigned int i = 0; i < _isOnBoundary.size(); ++i) { if (_isOnBoundary[i] == level) { @@ -330,11 +330,11 @@ void Curvature::initializeMap() { if (! _isMapInitialized) { - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) { MElement *e = face->getMeshElement(iElem); const int E = e->getNum(); @@ -385,13 +385,13 @@ void Curvature::computeVertexNormals() _VertexArea.resize(_ElementToInt.size() ); _VertexNormal.resize(_VertexToInt.size()); - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { // face is a pointer to one surface of the group "FinalEntityList" GFace* face = _EntityArray[i]; //Loop over the element all the element of the "myTag"-surface - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) { // Pointer to one element MElement *e = face->getMeshElement(iElem); @@ -448,11 +448,11 @@ void Curvature::curvatureTensor() _CurveTensor.resize(_VertexToInt.size()); - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; //face is a pointer to one surface of the group "FinalEntityList" - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface { MElement *e = face->getMeshElement(iElem); //Pointer to one element const int E = _ElementToInt[e->getNum()]; //The NEW tag of the corresponding element @@ -618,13 +618,13 @@ void Curvature::computeRusinkiewiczNormals() _TriangleArea.resize(_ElementToInt.size() ); _VertexNormal.resize(_VertexToInt.size()); - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { // face is a pointer to one surface of the group "FinalEntityList" GFace* face = _EntityArray[i]; //Loop over the element all the element of the "myTag"-surface - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) { // Pointer to one element MElement *e = face->getMeshElement(iElem); @@ -679,11 +679,11 @@ void Curvature::computePointareas(){ _pointareas.resize(_VertexToInt.size()); _cornerareas.resize(_ElementToInt.size()); - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; //face is a pointer to one surface of the group "FinalEntityList" - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface { MElement *E = face->getMeshElement(iElem); //Pointer to one element // The NEW tag of the corresponding element @@ -905,17 +905,14 @@ void Curvature::buildEdgeList() _VertexToEdgeList.resize(_VertexToInt.size()); - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; //List of all the discrete face on which we compute the curvature - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) { MElement *e = face->getMeshElement(iElem); - // The NEW tag of the corresponding element - const int E = _ElementToInt[e->getNum()]; - // Pointers to vertices of triangle MVertex* A = e->getVertex(0); MVertex* B = e->getVertex(1); @@ -958,7 +955,7 @@ void Curvature::buildEdgeList() } int NbEdges = 0; - for(int i = 0; i < _VertexToEdgeList.size(); ++i) + for(unsigned int i = 0; i < _VertexToEdgeList.size(); ++i) { NbEdges += _VertexToEdgeList[i].size(); } @@ -987,7 +984,7 @@ void Curvature::smoothCurvatureField(const int NbIter) smoothedDir2.resize(_VertexToInt.size()); _NbNeighbour.resize(_VertexToInt.size()); - for(int i = 0; i < _VertexToInt.size(); ++i) + for(unsigned int i = 0; i < _VertexToInt.size(); ++i) { _NbNeighbour[i] = 0; } @@ -997,7 +994,7 @@ void Curvature::smoothCurvatureField(const int NbIter) for(int iter = 0; iter < NbIter; ++iter) { - for(int i = 0; i < smoothedCurvature.size(); ++i) + for(unsigned int i = 0; i < smoothedCurvature.size(); ++i) { smoothedCurvature[i] = 0.0; smoothedDir1[i] = SVector3(); @@ -1007,7 +1004,7 @@ void Curvature::smoothCurvatureField(const int NbIter) std::list<MeshEdgeInfo>::const_iterator edgeIterator; - for(int i = 0; i < _VertexToEdgeList.size(); ++i) + for(unsigned int i = 0; i < _VertexToEdgeList.size(); ++i) { for(edgeIterator = _VertexToEdgeList[i].begin(); edgeIterator != _VertexToEdgeList[i].end(); ++edgeIterator) { @@ -1032,7 +1029,7 @@ void Curvature::smoothCurvatureField(const int NbIter) const double Lambda = 0.3; - for(int i = 0; i < _VertexCurve.size(); ++i) + for(unsigned int i = 0; i < _VertexCurve.size(); ++i) { _VertexCurve[i] = Lambda*_VertexCurve[i] + (1-Lambda)*smoothedCurvature[i] / _NbNeighbour[i]; _pdir1[i] = Lambda * _pdir1[i] + (1.-Lambda)/_NbNeighbour[i] * smoothedDir1[i]; @@ -1079,11 +1076,11 @@ void Curvature::computeCurvature_Rusinkiewicz(int isMax) _curv2.resize(_VertexToInt.size()); _curv12.resize(_VertexToInt.size()); - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; //face is a pointer to one surface of the group "FinalEntityList" - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface { MElement *E = face->getMeshElement(iElem); //Pointer to one element @@ -1103,7 +1100,7 @@ void Curvature::computeCurvature_Rusinkiewicz(int isMax) } } - for (int ivertex = 0; ivertex < _VertexToInt.size(); ++ivertex) + for (unsigned int ivertex = 0; ivertex < _VertexToInt.size(); ++ivertex) { _pdir1[ivertex] = crossprod(_pdir1[ivertex], _VertexNormal[ivertex]); _pdir1[ivertex].normalize(); @@ -1111,13 +1108,13 @@ void Curvature::computeCurvature_Rusinkiewicz(int isMax) } // Compute curvature per face: - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { //face is a pointer to one surface of the group "FinalEntityList" GFace* face = _EntityArray[i]; //Loop over all elements of this face: - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) { MElement *E = face->getMeshElement(iElem); //Pointer to one element // The NEW tag of the corresponding element @@ -1215,14 +1212,14 @@ void Curvature::computeCurvature_Rusinkiewicz(int isMax) //Compute principal directions and curvatures at each vertex - for (int ivertex = 0; ivertex < _VertexToInt.size(); ++ivertex) { + for (unsigned int ivertex = 0; ivertex < _VertexToInt.size(); ++ivertex) { diagonalize_curv(_pdir1[ivertex], _pdir2[ivertex], _curv1[ivertex], _curv12[ivertex], _curv2[ivertex], _VertexNormal[ivertex], _pdir1[ivertex], _pdir2[ivertex], _curv1[ivertex], _curv2[ivertex]); } _VertexCurve.resize( _VertexToInt.size() ); - for (int ivertex = 0; ivertex < _VertexToInt.size(); ++ivertex){ + for (unsigned int ivertex = 0; ivertex < _VertexToInt.size(); ++ivertex){ if (isMax){ _VertexCurve[ivertex] = std::max(fabs(_curv1[ivertex]), fabs(_curv2[ivertex])); @@ -1252,7 +1249,7 @@ void Curvature::computeCurvature_RBF() //fill set of MVertex std::set<MVertex*> allNodes; - for (int i = 0; i< _EntityArray.size(); ++i) { + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFaceCompound* face = (GFaceCompound*)_EntityArray[i]; for (unsigned iElem = 0; iElem < face->getNumMeshElements(); iElem++) { MElement *e = face->getMeshElement(iElem); @@ -1647,12 +1644,12 @@ void Curvature::writeToPosFile( const std::string & filename) int idxelem = 0; - for (int i = 0; i< _EntityArray.size(); ++i) { + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; for (unsigned iElem = 0; iElem < face->getNumMeshElements(); iElem++){ MElement *e = face->getMeshElement(iElem); - const int E = _ElementToInt[e->getNum()]; + //const int E = _ElementToInt[e->getNum()]; //std::cout << "We are now looking at element Nr: " << E << std::endl; MVertex* A = e->getVertex(0); //Pointers to vertices of triangle @@ -1723,11 +1720,11 @@ void Curvature::writeToVtkFile( const std::string & filename) coord.resize(npoints); - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) { MElement *e = face->getMeshElement(iElem); @@ -1770,11 +1767,11 @@ void Curvature::writeToVtkFile( const std::string & filename) outfile << std::endl << "CELLS " << _ElementToInt.size() << " " << 4*_ElementToInt.size() << std::endl; - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) { MElement *e = face->getMeshElement(iElem); @@ -1795,7 +1792,7 @@ void Curvature::writeToVtkFile( const std::string & filename) } outfile << std::endl << "CELL_TYPES " << _ElementToInt.size() << std::endl; - for(int ie = 0; ie < _ElementToInt.size(); ++ie) + for(unsigned int ie = 0; ie < _ElementToInt.size(); ++ie) { outfile << "5" << std::endl; //Triangle is element type 5 in vtk @@ -1851,15 +1848,15 @@ void Curvature::writeDirectionsToPosFile( const std::string & filename) outfile.open(filename.c_str()); outfile << "View \"Curvature_DirMax \"{" << std::endl; - for (int i = 0; i< _EntityArray.size(); ++i) + for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; //face is a pointer to one surface of the group "FinalEntityList" - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface { MElement *e = face->getMeshElement(iElem); //Pointer to one element - const int E = _ElementToInt[e->getNum()]; //The NEW tag of the corresponding element + //const int E = _ElementToInt[e->getNum()]; //The NEW tag of the corresponding element //std::cout << "We are now looking at element Nr: " << E << std::endl; MVertex* A = e->getVertex(0); //Pointers to vertices of triangle @@ -1902,15 +1899,15 @@ outfile << "};" << std::endl; outfile << "View \"Curvature_DirMin \"{" << std::endl; -for (int i = 0; i< _EntityArray.size(); ++i) +for (unsigned int i = 0; i< _EntityArray.size(); ++i) { GFace* face = _EntityArray[i]; //face is a pointer to one surface of the group "FinalEntityList" - for (int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface + for (unsigned int iElem = 0; iElem < face->getNumMeshElements(); iElem++) //Loop over the element all the element of the "myTag"-surface { MElement *e = face->getMeshElement(iElem); //Pointer to one element - const int E = _ElementToInt[e->getNum()]; //The NEW tag of the corresponding element + //const int E = _ElementToInt[e->getNum()]; //The NEW tag of the corresponding element //std::cout << "We are now looking at element Nr: " << E << std::endl; MVertex* A = e->getVertex(0); //Pointers to vertices of triangle