00001 #ifndef __OBLAST_H
00002 #define __OBLAST_H
00003 #include <list>
00004 #include <set>
00005 #include <vector>
00006 #include "comparator.h"
00007 #include "spolecnaData.h"
00008
00009
00010
00011 using std::set;
00012 using std::list;
00013 using std::vector;
00014
00015
00016
00017
00018 const long systemKrychle [KR_POCET_PLOCH][KR_PLOCHA_BODU] = {
00019 {0,3,7,4},
00020 {1,0,4,5},
00021 {2,1,6,5},
00022 {3,2,6,7},
00023 {0,1,2,3},
00024 {4,5,6,7}
00025 };
00026
00027
00028 const long systemCtyrsten [CT_POCET_PLOCH][CT_PLOCHA_BODU] = {
00029 {0,1,2},
00030 {1,2,3},
00031 {0,2,3},
00032 {0,1,3}
00033 };
00034
00035 class Oblast
00036 {
00037 private:
00038
00039 SpolecnaData & sd;
00040
00041
00042 static short * poplpr;
00043
00044
00045 static Plocha *** seplpr;
00046
00047
00048 static short * znamePlochy;
00049
00050 void PlochyPrvkuSerazene(const long prvek, vector<list<long> > & plochyPrvku);
00051 public:
00052
00053 set <Plocha *, Comparator> mp;
00054
00055
00056 Oblast(SpolecnaData & sd, short * poplpr, Plocha *** seplpr, short * znamePlochy);
00057
00058
00059 ~Oblast();
00060
00061
00062
00063 void vlozPrvek(const long prvek);
00064
00065 };
00066
00067 #endif
00068
00069
00070
00071