00001 //----------------------------------------------------------------------------- 00002 // Author: Jim Holmström 00003 // Date: 2002-02-13 00004 //----------------------------------------------------------------------------- 00005 00006 #ifndef __GNGREPRESENTATION_HH 00007 #define __GNGREPRESENTATION_HH 00008 00009 #include "../GNGCore/EdgeContainer.hpp" 00010 #include "../GNGCore/NodeContainer.hpp" 00011 00012 #include <iostream> 00013 00014 class IGNGContainer; 00015 class GNGNode; 00016 class GNGEdge; 00017 00022 class GNGRepresentation 00023 { 00024 public: 00029 GNGRepresentation(std::ostream & o) : m_ostream(o) {} 00030 virtual ~GNGRepresentation() {} 00031 00037 virtual void OutputRepresentationPaired(IGNGContainer & c); 00038 00043 virtual void OutputRepresentation(IGNGContainer & c); 00044 00045 private: 00050 void OutputNode(GNGNode const * node); 00051 00056 void OutputNodeEdges(GNGNode const * node); 00057 00058 private: 00059 std::ostream & m_ostream; 00060 00061 }; 00062 00063 #endif 00064 00065 00066