MeshKit  1.0
Dijkstra.hpp
Go to the documentation of this file.
00001 //-----------------------------------C++-------------------------------------//
00002 // File: src/algs/Dijkstra.hpp
00003 // Wednesday February 11 10:50 2011
00004 // Brief: Dijkstra typically only provides the lengths between all pairs of 
00005 // vertices
00006 //        
00007 //---------------------------------------------------------------------------//
00008 
00009 
00010 #ifndef MESHKIT_DIJKSTRAIMPRINTING_HPP
00011 #define MESHKIT_DIJKSTRAIMPRINTING_HPP
00012 
00013 #include <stdlib.h>
00014 #include <stdio.h>
00015 #include <assert.h>
00016 #include <string>
00017 #include <iostream>
00018 #include <fstream>
00019 #include <string.h>
00020 #include <limits.h>
00021 
00022 #include <iGeom.h>
00023 #include "meshkit/MKCore.hpp"
00024 #include "meshkit/ModelEnt.hpp"
00025 #include "meshkit/SizingFunction.hpp"
00026 #include "moab/ReadUtilIface.hpp"
00027 #include "Global.hpp"
00028 #include <iMesh.h>
00029 #include <iGeom.h>
00030 #include <set>
00031 #include <iRel.h>
00032 #include <vector>
00033 #include <set>
00034 #include <list>
00035 
00036 #include "meshkit/MeshScheme.hpp"
00037 
00038 using namespace std;
00039 
00040 namespace MeshKit
00041 {
00042 //===========================================================================//
00049 //===========================================================================//
00050 
00051 class Dijkstra
00052 {       
00053 public:
00054 
00055         Dijkstra(vector<vector<double> > t);
00056         ~Dijkstra();
00057         void getResults(vector<vector<double> > &d);
00058         
00059         void getSurfList(vector<vector<vector<int> > > &l, int src_size, int tgt_size);
00060         
00061         
00062 
00063 private:
00064         void algs(int s, vector<double> &f_list);
00065         int minDistance(vector<double> d, vector<bool> sptSet);
00066         void addSurfToList(int layer_index, int value, int src_size, vector<vector<int> > &datalist);
00067         void getTopMostSurf();
00068 
00069 private://private member variable
00070         vector<vector<double> > dist;
00071         int topmost_target_surf;
00072         vector<vector<double> > order_dist;
00073         vector<int> surf_list;
00074 };
00075 
00076 }
00077 
00078 #endif
00079 
00080 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines