diff --git a/vcg/complex/trimesh/compute.h b/vcg/complex/trimesh/compute.h deleted file mode 100644 index 55b31c03..00000000 --- a/vcg/complex/trimesh/compute.h +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** -* VCGLib o o * -* Visual and Computer Graphics Library o o * -* _ O _ * -* Copyright(C) 2004 \/)\/ * -* Visual Computing Lab /\/| * -* ISTI - Italian National Research Council | * -* \ * -* All rights reserved. * -* * -* This program is free software; you can redistribute it and/or modify * -* it under the terms of the GNU General Public License as published by * -* the Free Software Foundation; either version 2 of the License, or * -* (at your option) any later version. * -* * -* This program is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY; without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* GNU General Public License (http://www.gnu.org/licenses/gpl.txt) * -* for more details. * -* * -****************************************************************************/ -/**************************************************************************** - History - -$Log: not supported by cvs2svn $ - -****************************************************************************/ - -template -class TriMeshCompute -{ -public: -static void FaceNormalRW(ComputeMeshType &m, bool normalize=false) -{ - if( !m.HasPerFaceNormal()) return; - - face_iterator f; - bool cn = true; - - if(normalize) - { - for(f=m.face.begin();f!=m.face.end();++f) - if( !(*f).IsD() && (*f).IsRW() ) - { - for(int j=0; j<(*f).size(); ++j) - if( !(*f).V(j)->IsR()) cn = false; - if( cn ) (*f).ComputeNormalizedNormal(); - cn = true; - } - } - else - { - for(f=m.face.begin();f!=m.face.end();++f) - if( !(*f).IsD() && (*f).IsRW() ) - { - for(int j=0; j<(*f).size(); ++j) - if( !(*f).V(j)->IsR()) cn = false; - - if( cn ) - (*f).ComputeNormal(); - cn = true; - } - } -} - - -static void NormalizedFaceNormal(ComputeMeshType &m) -{ - ComputeFaceNormal(true); -} - - -/// Calculates the vertex normal -static void NormalizedVertexNormal(ComputeMeshType &m) -{ - VertexNormal(true); -} -/// Calculates the vertex normal -static void VertexNormal(ComputeMeshType &m, bool normalize=false) -{ - if( m.HasPerVertexNormal()) - { - vertex_iterator vi; - - for(vi=vert.begin();vi!=vert.end();++vi) - if( !(*vi).IsDeleted() && (*vi).IsRW() ) - (*vi).Normal() = vectorial_type(0,0,0); - - face_iterator f; - - for(f=face.begin();f!=face.end();++f) - if( !(*f).IsDeleted() && (*f).IsR() ) - { - vectorial_type t = (*f).Normal(); - - for(int j=0; j<(*f).size(); ++j) - if( !(*f).V(j)->IsD() && (*f).V(j)->IsR() && (*f).V(j)->IsW() ) - (*f).V(j)->Normal() += t; - } - if(normalize) - for(vi=vert.begin();vi!=vert.end();++vi) - if( !(*vi).IsDeleted() && (*vi).IsRW() ) - (*vi).Normal().Normalize(); - } -} -void ComputeE() -{ - face_iterator f; - - for(f = face.begin(); f!=face.end(); ++f) - (*f).ComputeE(); -} - -}; // end class