00001
00002
00008 #if !defined(__geom_mesh_iss_boundaryCondition_h__)
00009 #define __geom_mesh_iss_boundaryCondition_h__
00010
00011 #include "geometry.h"
00012 #include "ISS_SignedDistance.h"
00013
00014 BEGIN_NAMESPACE_GEOM
00015
00016
00019
00021 template<bool A, typename T, typename V, typename IS, class ISS>
00022 void
00023 applyBoundaryCondition(IndSimpSetIncAdj<2,1,A,T,V,IS>* mesh,
00024 const ISS_SD_ClosestPoint<ISS>& condition,
00025 int n);
00026
00028 template<bool A, typename T, typename V, typename IS,
00029 class ISS>
00030 void
00031 applyBoundaryCondition(IndSimpSetIncAdj<2,1,A,T,V,IS>* mesh,
00032 const ISS_SD_ClosestPointDirection<ISS>& condition,
00033 int n);
00034
00036 template<bool A, typename T, typename V, typename IS, class ISS>
00037 void
00038 applyBoundaryCondition(IndSimpSetIncAdj<3,2,A,T,V,IS>* mesh,
00039 const ISS_SD_ClosestPoint<ISS>& condition,
00040 int n);
00041
00043 template<bool A, typename T, typename V, typename IS,
00044 class ISS>
00045 void
00046 applyBoundaryCondition(IndSimpSetIncAdj<3,2,A,T,V,IS>* mesh,
00047 const ISS_SD_ClosestPointDirection<ISS>& condition,
00048 int n);
00049
00051
00054 template<int N, bool A, typename T, typename V, typename IS,
00055 class UnaryFunction>
00056 void
00057 applyBoundaryCondition(IndSimpSetIncAdj<N,N,A,T,V,IS>* mesh,
00058 const UnaryFunction& condition,
00059 int n);
00060
00062 template<int N, bool A, typename T, typename V, typename IS, class ISS>
00063 void
00064 applyBoundaryCondition(IndSimpSetIncAdj<N,N,A,T,V,IS>* mesh,
00065 const ISS_SD_ClosestPoint<ISS>& condition,
00066 int n);
00067
00069 template<int N, bool A, typename T, typename V, typename IS, class ISS>
00070 void
00071 applyBoundaryCondition(IndSimpSetIncAdj<N,N,A,T,V,IS>* mesh,
00072 const ISS_SD_CloserPoint<ISS>& condition,
00073 int n);
00074
00076 template<int N, bool A, typename T, typename V, typename IS, class ISS>
00077 void
00078 applyBoundaryCondition(IndSimpSetIncAdj<N,N,A,T,V,IS>* mesh,
00079 const ISS_SD_ClosestPointDirection<ISS>& condition,
00080 int n);
00081
00083 template<int N, bool A, typename T, typename V, typename IS, class ISS>
00084 void
00085 applyBoundaryCondition(IndSimpSetIncAdj<N,N,A,T,V,IS>* mesh,
00086 const ISS_SD_CloserPointDirection<ISS>& condition,
00087 int n);
00088
00090
00091 END_NAMESPACE_GEOM
00092
00093 #define __geom_mesh_iss_boundaryCondition_ipp__
00094 #include "boundaryCondition.ipp"
00095 #undef __geom_mesh_iss_boundaryCondition_ipp__
00096
00097 #endif