00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _MITOPOLOGYIJ_H
00024 #define _MITOPOLOGYIJ_H
00025
00026 #include <MeshVizXLM/mesh/topology/MiTopology.h>
00027
00028 #include <Inventor/STL/sstream>
00029
00041 class MESHVIZXLM_EXTR_API MiTopologyIj : virtual public MiTopology
00042 {
00043 public:
00047 virtual size_t getNumCellsI() const = 0;
00048
00052 virtual size_t getNumCellsJ() const = 0;
00053
00060 virtual bool isDead(size_t SO_UNUSED_PARAM(i), size_t SO_UNUSED_PARAM(j)) const{ return false ;};
00061
00062 private:protected:
00066 virtual std::ostream& toStream(std::ostream& s) const
00067 {
00068 s << "#Mesh topology Ij" << std::endl;
00069 s << "#Num Cells I" << std::endl;
00070 s << getNumCellsI() << std::endl;
00071 s << "#Num Cells J" << std::endl;
00072 s << getNumCellsJ() << std::endl;
00073 s << "#Has Dead Cells" << std::endl;
00074 s << hasDeadCells() << std::endl;
00075 if (hasDeadCells())
00076 {
00077 s << "#Dead Cells:" << std::endl;
00078 for (size_t i=0; i<getNumCellsI(); i++)
00079 {
00080 for (size_t j=0; j<getNumCellsJ(); j++)
00081 {
00082 if (isDead(i,j))
00083 {
00084 s << "deadCell " << i << " " << j << std::endl;
00085 }
00086 }
00087 }
00088 }
00089
00090 return s;
00091 }
00092
00093 };
00094
00095
00096 #endif
00097
00098