BIE |
/home/weinberg/src/BIE/include/PointTessellation.h00001 // This is really -*- C++ -*- 00002 00003 #ifndef PointTessellation_h 00004 #define PointTessellation_h 00005 00006 #include <string> 00007 #include <algorithm> 00008 #include <vector> 00009 00010 #include "hash_map.h" 00011 #include "Tessellation.h" 00012 #include "RecordInputStream.h" 00013 00014 #include "Serializable.h" 00015 00016 00017 namespace BIE { 00018 00019 //+ CLICLASS PointTessellation SUPER Tessellation 00034 class PointTessellation : public Tessellation 00035 { 00036 00037 public: 00038 00044 static double MinX; // Default: -{max float)/4 00045 static double MaxX; // Default: +{max float)/4 00046 static double MinY; // Default: -{max float)/4 00047 static double MaxY; // Default: +{max float)/4 00049 00050 //+ CLICONSTR Tile* RecordInputStream* 00052 PointTessellation(Tile *t, RecordInputStream* ris); 00053 00054 //+ CLICONSTR Tile* RecordInputStream* double double double double 00058 PointTessellation(Tile *t, RecordInputStream * ris, 00059 double minx, double miny, double maxx, double maxy); 00060 00061 ~PointTessellation() {}; 00062 00064 vector<int> GetRootTiles(); 00065 00067 vector<Node*> GetRootNodes(); 00068 00069 00072 virtual void FindAll(double x, double y, vector<int> &found); 00073 00074 00075 private: 00077 hashers<twodcoords, Node *, hashCoords, compxy>::MapType 00078 nodemap; 00079 00081 double pcttosample; 00082 00084 int maxptspertile; 00085 00087 Node* treeroot; 00088 00090 Tile* tilefactory; 00091 00093 vector<twodcoords> sampledata; 00094 00096 void tessellate(Node**, 00097 double minx, double miny, double maxx, double maxy); 00098 00100 void initialize(Tile *t, RecordInputStream * ris, 00101 double minx, double miny, double maxx, double maxy); 00102 00104 void findall(double, double, vector<int>&, Node*); 00105 00106 // AUTO GENERATED BY ../persistence/autopersist.py 00107 protected: 00108 PointTessellation() {} 00109 private: 00110 friend class boost::serialization::access; 00111 template<class Archive> 00112 void serialize(Archive & ar, const unsigned int version) { 00113 this->pre_serialize(ar, version); 00114 try { 00115 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Tessellation); 00116 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00117 } 00118 try { 00119 ar & BOOST_SERIALIZATION_NVP(nodemap); 00120 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00121 } 00122 try { 00123 ar & BOOST_SERIALIZATION_NVP(pcttosample); 00124 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00125 } 00126 try { 00127 ar & BOOST_SERIALIZATION_NVP(maxptspertile); 00128 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00129 } 00130 try { 00131 ar & BOOST_SERIALIZATION_NVP(treeroot); 00132 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00133 } 00134 try { 00135 ar & BOOST_SERIALIZATION_NVP(tilefactory); 00136 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00137 } 00138 this->post_serialize(ar, version); 00139 } 00140 00141 }; 00142 00143 } // namespace BIE 00144 00145 BIE_CLASS_TYPE_INFO(BIE::PointTessellation) 00146 BIE_CLASS_EXPORT_KEY(BIE::PointTessellation) 00147 #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
|