00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _MBSURFACEMESHUNSTRUCTURED_H
00024 #define _MBSURFACEMESHUNSTRUCTURED_H
00025
00026 #ifdef _WIN32
00027 # pragma warning( push )
00028 # pragma warning(disable:4250)
00029 #endif
00030
00031 #include <MeshVizXLM/mesh/MiSurfaceMeshUnstructured.h>
00032
00033 #include <mesh/MbMesh.h>
00034
00035
00036
00037 #include <MeshVizXLM/MbVec3.h>
00038 #include <Inventor/STL/vector>
00039 #include <Inventor/STL/iostream>
00040
00050 template <typename _CoordT=MbVec3d, typename _ScalarT=double, typename _Vec3T=MbVec3d>
00051 class MbSurfaceMeshUnstructured : virtual public MiSurfaceMeshUnstructured, public MbMesh<_CoordT,_ScalarT,_Vec3T>
00052 {
00053
00054 public:
00058 MbSurfaceMeshUnstructured() {}
00059
00060 private:
00064 virtual std::ostream& toStream(std::ostream& s) const;
00065
00066
00067 template <typename _CoordIter>
00068 MbSurfaceMeshUnstructured(_CoordIter beginCoord, _CoordIter endCoord);
00069
00070 };
00071
00072
00073
00074 template <typename _CoordT, typename _ScalarT, typename _Vec3T>
00075 template <typename _CoordIter>
00076 inline
00077 MbSurfaceMeshUnstructured<_CoordT,_ScalarT,_Vec3T>::MbSurfaceMeshUnstructured(
00078 _CoordIter beginCoord, _CoordIter endCoord
00079 )
00080 : MbMesh<_CoordT,_ScalarT,_Vec3T>(beginCoord,endCoord)
00081 {
00082 }
00083
00084
00085 template <typename _CoordT, typename _ScalarT, typename _Vec3T>
00086 inline std::ostream&
00087 MbSurfaceMeshUnstructured<_CoordT,_ScalarT,_Vec3T>::toStream(std::ostream& s) const
00088 {
00089 MiSurfaceMeshUnstructured::toStream(s);
00090 MbMesh<_CoordT,_ScalarT,_Vec3T>::toStream(s);
00091 return s;
00092 }
00093
00094
00095 #ifdef _WIN32
00096 # pragma warning( pop )
00097 #endif
00098
00099 #endif
00100
00101
00102
00103
00104
00105
00106
00107