00001 /**************************************************************************** 00002 * VCGLib o o * 00003 * Visual and Computer Graphics Library o o * 00004 * _ O _ * 00005 * Copyright(C) 2004 \/)\/ * 00006 * Visual Computing Lab /\/| * 00007 * ISTI - Italian National Research Council | * 00008 * \ * 00009 * All rights reserved. * 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 * This program is distributed in the hope that it will be useful, * 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00019 * GNU General Public License (http://www.gnu.org/licenses/gpl.txt) * 00020 * for more details. * 00021 * * 00022 ****************************************************************************/ 00023 /**************************************************************************** 00024 History 00025 $Log: not supported by cvs2svn $ 00026 ****************************************************************************/ 00027 #ifndef __VCG_VERTEXMESH_UPDATE_NORMAL 00028 #define __VCG_VERTEXMESH_UPDATE_NORMAL 00029 00030 #include <vcg/space/normal_extrapolation.h> 00031 00032 namespace vcg { 00033 namespace vertex { 00034 00036 /* @{ */ 00037 00041 template < class VERTEX_CONTAINER > 00042 class UpdateNormal 00043 { 00044 public: 00045 typedef VERTEX_CONTAINER VertexContainer; 00046 typedef typename VERTEX_CONTAINER::value_type VertexType; 00047 typedef typename VertexType::ScalarType ScalarType; 00048 typedef typename VERTEX_CONTAINER::iterator VertexIterator; 00049 00052 static void UpdateNormals(const VertexIterator &begin, const VertexIterator &end, int k) 00053 { 00054 vcg::NormalExtrapolation< VertexContainer >::ExtrapolateNormlas(begin, end, k); 00055 }; 00056 00057 }; //end of class UpdateNormal 00058 00060 }; //end of namespace vertex 00061 }; //end of namespace vcg 00062 00063 #endif //__VCG_VERTEXMESH_UPDATE_NORMAL