vtf-logo

transform.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00008 #if !defined(__geom_mesh_iss_transform_h__)
00009 #define __geom_mesh_iss_transform_h__
00010 
00011 #include "boundaryCondition.h"
00012 #include "build.h"
00013 #include "quality.h"
00014 #include "set.h"
00015 
00016 #include "../simplex/SimplexJac.h"
00017 
00018 #include "../../../ads/iterator/IntIterator.h"
00019 #include "../../../ads/iterator/TrivialOutputIterator.h"
00020 #include "../../../ads/iterator/TransformIterator.h"
00021 
00022 #include <stack>
00023 
00024 BEGIN_NAMESPACE_GEOM
00025 
00026 //-----------------------------------------------------------------------------
00031 
00033 
00038 template<int N, int M, typename T, typename V, typename IS, 
00039          typename IntOutputIterator>
00040 void
00041 pack(IndSimpSet<N,M,true,T,V,IS>* mesh, IntOutputIterator usedVertexIndices);
00042 
00043 
00044 
00046 
00051 template<int N, int M, typename T, typename V, typename IS>
00052 inline
00053 void
00054 pack(IndSimpSet<N,M,true,T,V,IS>* mesh) { 
00055   pack(mesh, ads::TrivialOutputIterator());
00056 }
00057 
00058 
00060 
00061 template<int N, bool A, typename T, typename V, typename IS>
00062 void
00063 orientPositive(IndSimpSet<N,N,A,T,V,IS>* mesh);
00064 
00065 
00067 
00068 template<int N, int M, bool A, typename T, typename V, typename IS>
00069 void
00070 reverseOrientation(IndSimpSet<N,M,A,T,V,IS>* mesh);
00071 
00072 
00074 
00075 template<int N, int M, bool A, typename T, typename V, typename IS,
00076          typename IntForIter, class UnaryFunction>
00077 void
00078 transform(IndSimpSet<N,M,A,T,V,IS>* mesh,
00079           IntForIter beginning, IntForIter end, const UnaryFunction& f);
00080 
00081 
00083 
00084 template<int N, int M, bool A, typename T, typename V, typename IS, 
00085           class UnaryFunction>
00086 void
00087 transform(IndSimpSet<N,M,A,T,V,IS> mesh, const UnaryFunction& f);
00088 
00089 
00091 
00092 template<int N, int M, bool A, typename T, typename V, typename IS,
00093          typename IntForIter, class ISS>
00094 void
00095 transform(IndSimpSetIncAdj<N,M,A,T,V,IS>* mesh,
00096           IntForIter beginning, IntForIter end,
00097           const ISS_SD_ClosestPointDirection<ISS>& f);
00098 
00099 
00101 
00102 template<int N, int M, bool A, typename T, typename V, typename IS, class ISS>
00103 void
00104 transform(IndSimpSetIncAdj<N,M,A,T,V,IS>* mesh,
00105           const ISS_SD_ClosestPointDirection<ISS>& f);
00106 
00107 
00109 
00110 template<int N, int M, bool A, typename T, typename V, typename IS,
00111          typename IntForIter, class ISS>
00112 void
00113 transform(IndSimpSetIncAdj<N,M,A,T,V,IS>* mesh,
00114           IntForIter beginning, IntForIter end,
00115           const ISS_SD_CloserPointDirection<ISS>& f);
00116 
00117 
00119 
00120 template<int N, int M, bool A, typename T, typename V, typename IS, 
00121           class ISS>
00122 void
00123 transform(IndSimpSetIncAdj<N,M,A,T,V,IS>* mesh,
00124           const ISS_SD_CloserPointDirection<ISS>& f);
00125 
00126 
00128 
00129 template<int N, int M, typename T, typename V, typename IS>
00130 void
00131 removeLowAdjacencies(IndSimpSetIncAdj<N,M,true,T,V,IS>* mesh, 
00132                      int minRequiredAdjencies);
00133 
00134 
00136 
00137 END_NAMESPACE_GEOM
00138 
00139 #define __geom_mesh_iss_transform_ipp__
00140 #include "transform.ipp"
00141 #undef __geom_mesh_iss_transform_ipp__
00142 
00143 #endif

Generated on Fri Aug 24 12:55:59 2007 for Computational Geometry Package by  doxygen 1.4.7