00001 /* 00002 * ===================================================================================== 00003 * 00004 *! \brief Filename: torus.h 00005 * 00006 * Description: This class describes the members and functions for generating the 00007 * visualization for a given topology. 00008 * 00009 * Version: 1.0 00010 * Created: 07/19/2010 10:10:55 AM 00011 * Revision: none 00012 * Compiler: gcc 00013 * 00014 * Author: Sharda Murthi, smurthi3@gatech.edu 00015 * Company: Georgia Institute of Technology 00016 * 00017 * ===================================================================================== 00018 */ 00019 00020 00021 #ifndef VISUAL_H_ 00022 #define VISUAL_H_ 00023 00024 #include <iostream> 00025 #include <fstream> 00026 #include "mesh.h" 00027 #include "torus.h" 00028 #include "topology.h" 00029 00030 using namespace std; 00031 00032 struct link_connection 00033 { 00034 uint link_id; 00035 uint source; 00036 uint destination; 00037 }; 00038 00039 class Visual 00040 { 00041 public: 00042 Visual(); 00043 Visual(Topology*, int nodes, int links, int grid_size); 00044 ~Visual(); 00045 void create_new_connections(); 00046 void create_graphml(); 00047 vector< link_connection* > new_east_links; 00048 vector< link_connection* > new_west_links; 00049 vector< link_connection* > new_north_links; 00050 vector< link_connection* > new_south_links; 00051 00052 private: 00053 Topology* topo_ptr; // pointer to mesh object 00054 unsigned int nodes; // number of nodes in the topology 00055 unsigned int links; // number of links in the topology 00056 unsigned int grid_size; // grid size - required to create links 00057 link_connection ** link_ptr; 00058 }; 00059 00060 #endif /* VISUAL_H_ */ 00061