00001
00002
00008 #if !defined(__geom_mesh_iss_accessors_h__)
00009 #define __geom_mesh_iss_accessors_h__
00010
00011 #include "IndSimpSetIncAdj.h"
00012
00013 BEGIN_NAMESPACE_GEOM
00014
00015
00018
00019
00021
00022 template<int N, bool A, typename T, typename V, typename IS>
00023 int
00024 getPreviousVertexIndex(const IndSimpSetIncAdj<N,1,A,T,V,IS>& mesh, int n);
00025
00026
00028
00029 template<int N, bool A, typename T, typename V, typename IS>
00030 int
00031 getNextVertexIndex(const IndSimpSetIncAdj<N,1,A,T,V,IS>& mesh, int n);
00032
00033
00035
00036 template<int N, bool A, typename T, typename V, typename IS>
00037 inline
00038 typename IndSimpSetIncAdj<N,1,A,T,V,IS>::Vertex
00039 getPreviousVertex(const IndSimpSetIncAdj<N,1,A,T,V,IS>& mesh, const int n) {
00040 return mesh.getVertex(getPreviousVertexIndex(mesh, n));
00041 }
00042
00043
00045
00046 template<int N, bool A, typename T, typename V, typename IS>
00047 inline
00048 typename IndSimpSetIncAdj<N,1,A,T,V,IS>::Vertex
00049 getNextVertex(const IndSimpSetIncAdj<N,1,A,T,V,IS>& mesh, const int n) {
00050 return mesh.getVertex(getNextVertexIndex(mesh, n));
00051 }
00052
00053
00054
00056
00057 template<int N, int M, bool A, typename T, typename V, typename IS>
00058 void
00059 getFace(const IndSimpSet<N,M,A,T,V,IS>& mesh,
00060 int simplexIndex, int vertexIndex,
00061 typename IndSimpSet<N,M,A,T,V,IS>::SimplexFace* face);
00062
00063
00065
00066 template<int N, int M, bool A, typename T, typename V, typename IS>
00067 void
00068 getIndexedFace(const IndSimpSet<N,M,A,T,V,IS>& mesh,
00069 int simplexIndex, int vertexIndex,
00070 typename IndSimpSet<N,M,A,T,V,IS>::IndexedSimplexFace* face);
00071
00072
00074
00075 template<int N, int M, bool A, typename T, typename V, typename IS>
00076 void
00077 getCentroid(const IndSimpSet<N,M,A,T,V,IS>& mesh, int n,
00078 typename IndSimpSet<N,M,A,T,V,IS>::Vertex* x);
00079
00080
00082
00083 template<int N, int M, bool A, typename T, typename V, typename IS>
00084 bool
00085 isOriented(const IndSimpSetIncAdj<N,M,A,T,V,IS>& mesh);
00086
00087
00089
00090 END_NAMESPACE_GEOM
00091
00092 #define __geom_mesh_iss_accessors_ipp__
00093 #include "accessors.ipp"
00094 #undef __geom_mesh_iss_accessors_ipp__
00095
00096 #endif