00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #ifndef _MiPointMeshCurvilinear_H
00024 #define _MiPointMeshCurvilinear_H
00025 
00026 #ifdef _WIN32
00027 #  pragma warning( push )
00028 #  pragma warning(disable:4250)
00029 #endif
00030 
00031 #include <MeshVizXLM/mesh/MiMeshUnstructured.h>
00032 #include <MeshVizXLM/mesh/topology/MiTopologyI.h>
00033 
00045 class MiPointMeshCurvilinear : virtual public MiMeshUnstructured
00046 {
00047 public:
00051   virtual const MiTopologyI& getTopology() const = 0;
00052 
00056   virtual const MiPointMeshCurvilinear* getNewClone() const
00057   {
00058     throw MiAbstractMethodError("MiPointMeshCurvilinear::getNewClone()");
00059   }
00060 
00061 private: protected:
00065   virtual std::ostream& toStream(std::ostream& s) const
00066   {
00067     size_t numCell = getTopology().getNumCells();
00068     s << "#num cell " << std::endl;
00069     s << numCell << std::endl;
00070     s << "#mesh geometry" << std::endl;
00071     if(numCell)
00072       for(size_t i = 0; i < numCell; i++)
00073         s << i <<": " <<getGeometry().getCoord(i)<< std::endl;
00074     return s;
00075   }
00076 
00077 };
00078 
00079 #ifdef _WIN32
00080 #  pragma warning( pop )
00081 #endif
00082 
00083 #endif
00084 
00085 
00086