Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

graphics/topologyDotty.hh
Go to the documentation of this file.
00001 /* takes a topology (mesh or space) and generates a file for dot/dotty
00002  */
00003 
00004 #ifndef topologyDotty_hh
00005 #define topologyDotty_hh
00006 
00007 #include <string>
00008 #include <fstream>
00009 #include "space/postProcess.hh"
00010 #include "basics/typedefs.hh"
00011 
00012 namespace concepts {
00013   // forward declarations
00014   template<class F>
00015   class Element;
00016 
00017   template<class F>
00018   class Space;
00019 
00020   class Cell;
00021   class Connector1;
00022   class Mesh;
00023 }
00024 
00025 namespace graphics {
00026 
00027   using concepts::Real;
00028 
00029   // ********************************************************* TopologyDotty **
00030 
00042   template<class F>
00043   class TopologyDotty {
00044   public:
00048     TopologyDotty(concepts::Mesh& msh, std::string filename);
00049 
00053     TopologyDotty(concepts::Space<F>& spc, std::string filename);
00054   private:
00056     concepts::Space<F>* spc_;
00057 
00059     concepts::Mesh* msh_;
00060 
00062     std::string filename_;
00063   };
00064 
00065   // ***************************************************** TopologyDottyCell **
00066 
00074   template<class F>
00075   class TopologyDottyCell : public concepts::CellPostprocess<F> {
00076   public:
00080     TopologyDottyCell(const std::string file);
00081     ~TopologyDottyCell();
00082     virtual void operator() (const concepts::Element<F>& elm);
00083     virtual void operator() (const concepts::Cell& cell);
00084   private:
00085     void edge_(const concepts::Connector1& cntr);
00086 
00088     std::ofstream os_;
00089   };
00090 
00091 } // namespace graphics
00092 
00093 #endif // topologyDotty_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)