Go to the documentation of this file.00001
00012
00013
00014
00015
00016 #pragma once
00017
00018 #ifndef WIN32
00019 #pragma interface
00020 #endif // WIN32
00021
00022
00023 #include <stdint.h>
00024 #include <stack>
00025 #include "cube.h"
00026
00027 typedef uint64_t Key;
00028 extern Key KEY_INV ;
00029 const uint MAX_LEVEL = (sizeof(Key)*8-1)/3 ;
00030
00031
00032
00034 Level key_level ( Key k ) ;
00035
00037 bool key_contains( Key k_big, Key k_small ) ;
00038
00040 Key cube2key ( const Cube &c ) ;
00041
00043 const Cube key2cube ( Key k ) ;
00044
00046 bool neighbor_keys( Key k, Key *neighbors ) ;
00047
00049 char subneighbor_keys( Key k, char dir, std::stack<Key> &subneighbors ) ;
00050
00052 Level vertices_keys( Key k, Key *verts ) ;
00053
00055 bool dual_vertices_keys( Key k, Level lv, Key *dual_verts ) ;
00056
00057
00058
00059
00060