00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _MiVolumeMeshVertexHexahedronIjk_H
00024 #define _MiVolumeMeshVertexHexahedronIjk_H
00025
00026 #ifdef _WIN32
00027 # pragma warning( push )
00028 # pragma warning(disable:4250)
00029 #endif
00030
00031 #include <MeshVizXLM/mesh/MiMeshIjk.h>
00032 #include <MeshVizXLM/mesh/geometry/MiGeometryHexahedronIjk.h>
00033
00073 class MESHVIZXLM_EXTR_API MiVolumeMeshVertexHexahedronIjk : virtual public MiMeshIjk
00074 {
00075 public:
00079 virtual const MiGeometryHexahedronIjk& getGeometry() const = 0;
00080
00081 private:protected:
00085 virtual std::ostream& toStream(std::ostream& s) const
00086 {
00087 MbVec3d v[8];
00088 s << "#MiVolumeMeshVertexHexahedronIjk" << std::endl;
00089 s << getTopology() << std::endl;
00090 s << "#mesh geometry" << std::endl;
00091 for(size_t i=0; i<getTopology().getNumCellsI(); ++i)
00092 for(size_t j=0; j<getTopology().getNumCellsJ(); ++j)
00093 for(size_t k=0; k<getTopology().getNumCellsK(); ++k)
00094 {
00095 getGeometry().getCellCoords(i,j,k,v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]);
00096 s << i << "," << j << "," << k << ": (" << v[0];
00097 for ( size_t n = 1; n < 8; ++n)
00098 s << "; " << v[n] << std::endl;
00099 s << ")" << std::endl;
00100 }
00101 return s;
00102 }
00103
00104 };
00105
00106 #ifdef _WIN32
00107 # pragma warning( pop )
00108 #endif
00109
00110 #endif
00111
00112
00113