00001
00002
00008 #if !defined(__geom_mesh_simplex_geometry_h__)
00009 #define __geom_mesh_simplex_geometry_h__
00010
00011 #include "Simplex.h"
00012
00013 #include "../../kernel/Plane.h"
00014
00015 #include "../../../numerical/constants.h"
00016
00017 BEGIN_NAMESPACE_GEOM
00018
00019
00020
00021
00022
00024
00027 template<typename T>
00028 T
00029 computeAngle(const Simplex<3,ads::FixedArray<3,T>,T>& s, int a, int b);
00030
00031
00033
00036 template<typename T>
00037 T
00038 computeAngle(const Simplex<3,ads::FixedArray<3,T>,T>& s, int n);
00039
00040
00041
00042
00043
00044
00045
00047
00050 template<typename T>
00051 void
00052 projectToLowerDimension(const Simplex<1,ads::FixedArray<2,T>,T>& s,
00053 Simplex<1,ads::FixedArray<1,T>,T>* t);
00054
00055
00057
00060 template<typename T>
00061 void
00062 projectToLowerDimension(const Simplex<1,ads::FixedArray<3,T>,T>& s,
00063 Simplex<1,ads::FixedArray<1,T>,T>* t);
00064
00065
00067
00070 template<typename T>
00071 void
00072 projectToLowerDimension(const Simplex<2,ads::FixedArray<3,T>,T>& s,
00073 Simplex<2,ads::FixedArray<2,T>,T>* t);
00074
00075
00076 END_NAMESPACE_GEOM
00077
00078 #define __geom_mesh_simplex_geometry_ipp__
00079 #include "geometry.ipp"
00080 #undef __geom_mesh_simplex_geometry_ipp__
00081
00082 #endif