BIE |
/home/weinberg/src/BIE/include/FrontierExpansionHeuristic.h00001 // This is reall -*- C++ -*- 00002 00003 #ifndef FrontierExpansionHeuristic_h 00004 #define FrontierExpansionHeuristic_h 00005 00006 #include "Serializable.h" 00007 00008 00009 #include "BaseDataTree.h" 00010 00011 namespace BIE { 00012 class BaseDataTree; 00013 00014 //+ CLICLASS FrontierExpansionHeuristic 00019 class FrontierExpansionHeuristic: public Serializable 00020 { 00021 public: 00023 virtual ~FrontierExpansionHeuristic() {} 00024 00028 virtual bool expandTile(vector<int> children, int parenttile) = 0; 00029 00030 // AUTO GENERATED BY ../persistence/autopersist.py 00031 protected: 00032 FrontierExpansionHeuristic() {} 00033 private: 00034 friend class boost::serialization::access; 00035 template<class Archive> 00036 void serialize(Archive & ar, const unsigned int version) { 00037 this->pre_serialize(ar, version); 00038 try { 00039 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Serializable); 00040 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00041 } 00042 this->post_serialize(ar, version); 00043 } 00044 00045 }; 00046 00047 //+ CLICLASS AlwaysIncreaseResolution SUPER FrontierExpansionHeuristic 00052 class AlwaysIncreaseResolution : public FrontierExpansionHeuristic 00053 { 00054 public: 00055 //+ CLICONSTR 00056 AlwaysIncreaseResolution() {} 00057 00058 virtual bool expandTile(vector<int> children, int parent); 00059 00060 // AUTO GENERATED BY ../persistence/autopersist.py 00061 private: 00062 friend class boost::serialization::access; 00063 template<class Archive> 00064 void serialize(Archive & ar, const unsigned int version) { 00065 this->pre_serialize(ar, version); 00066 try { 00067 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(FrontierExpansionHeuristic); 00068 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00069 } 00070 this->post_serialize(ar, version); 00071 } 00072 00073 }; 00074 00075 //+ CLICLASS KSDistanceHeuristic SUPER FrontierExpansionHeuristic 00091 class KSDistanceHeuristic : public FrontierExpansionHeuristic 00092 { 00093 public: 00094 //+ CLICONSTR BaseDataTree* double 00096 KSDistanceHeuristic(BaseDataTree * fulldist, double threshold) 00097 { this->fulldist = fulldist; this->threshold = threshold;} 00098 00102 virtual bool expandTile(vector<int> children, int parent); 00103 00104 private: 00105 double threshold; 00106 BaseDataTree * fulldist; 00107 00108 // AUTO GENERATED BY ../persistence/autopersist.py 00109 protected: 00110 KSDistanceHeuristic() {} 00111 private: 00112 friend class boost::serialization::access; 00113 template<class Archive> 00114 void serialize(Archive & ar, const unsigned int version) { 00115 this->pre_serialize(ar, version); 00116 try { 00117 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(FrontierExpansionHeuristic); 00118 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00119 } 00120 try { 00121 ar & BOOST_SERIALIZATION_NVP(threshold); 00122 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00123 } 00124 try { 00125 ar & BOOST_SERIALIZATION_NVP(fulldist); 00126 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00127 } 00128 this->post_serialize(ar, version); 00129 } 00130 00131 }; 00132 00133 //+ CLICLASS DataPointCountHeuristic SUPER FrontierExpansionHeuristic 00139 class DataPointCountHeuristic : public FrontierExpansionHeuristic 00140 { 00141 public: 00142 //+ CLICONSTR BaseDataTree* int 00144 DataPointCountHeuristic(BaseDataTree * fulldist, int threshold) 00145 { this->fulldist = fulldist; this->threshold = threshold;} 00146 00150 virtual bool expandTile(vector<int> children, int parent); 00151 00152 private: 00153 int threshold; 00154 BaseDataTree * fulldist; 00155 00156 // AUTO GENERATED BY ../persistence/autopersist.py 00157 protected: 00158 DataPointCountHeuristic() {} 00159 private: 00160 friend class boost::serialization::access; 00161 template<class Archive> 00162 void serialize(Archive & ar, const unsigned int version) { 00163 this->pre_serialize(ar, version); 00164 try { 00165 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(FrontierExpansionHeuristic); 00166 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00167 } 00168 try { 00169 ar & BOOST_SERIALIZATION_NVP(threshold); 00170 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00171 } 00172 try { 00173 ar & BOOST_SERIALIZATION_NVP(fulldist); 00174 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00175 } 00176 this->post_serialize(ar, version); 00177 } 00178 00179 }; 00180 } 00181 00182 BIE_CLASS_TYPE_INFO(BIE::AlwaysIncreaseResolution) 00183 BIE_CLASS_TYPE_INFO(BIE::KSDistanceHeuristic) 00184 BIE_CLASS_TYPE_INFO(BIE::DataPointCountHeuristic) 00185 BIE_CLASS_EXPORT_KEY(BIE::FrontierExpansionHeuristic) 00186 BIE_CLASS_EXPORT_KEY(BIE::AlwaysIncreaseResolution) 00187 BIE_CLASS_EXPORT_KEY(BIE::KSDistanceHeuristic) 00188 BIE_CLASS_EXPORT_KEY(BIE::DataPointCountHeuristic) 00189 #endif Send suggestions, questions, and feedback to WEINBERG at ASTRO dot UMASS dot EDU. Documentation generated at Fri Mar 26 00:35:10 2010 by
|