mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-09-28 22:10:40 +00:00
fixed Euclidean
This commit is contained in:
parent
bc664736e7
commit
355409bebe
20
hypgraph.cpp
20
hypgraph.cpp
@ -898,19 +898,25 @@ void drawEuclidean() {
|
|||||||
// mindx, mindy, maxdx, maxdy);
|
// mindx, mindy, maxdx, maxdy);
|
||||||
int pvec = cellwalker_to_vec(centerover);
|
int pvec = cellwalker_to_vec(centerover);
|
||||||
|
|
||||||
set<int> visited = {0};
|
typedef pair<int, int> euspot;
|
||||||
vector<int> dfs = {0};
|
|
||||||
|
const euspot zero = {0,0};
|
||||||
|
|
||||||
|
set<euspot> visited = {zero};
|
||||||
|
vector<euspot> dfs = {zero};
|
||||||
|
|
||||||
ld centerd = matrixnorm(View);
|
ld centerd = matrixnorm(View);
|
||||||
auto View0 = View;
|
auto View0 = View;
|
||||||
|
|
||||||
for(int i=0; i<isize(dfs); i++) {
|
for(int i=0; i<isize(dfs); i++) {
|
||||||
int at = dfs[i];
|
int dx, dy;
|
||||||
|
tie(dx, dy) = dfs[i];
|
||||||
|
|
||||||
cellwalker cw = vec_to_cellwalker(pvec + at);
|
cellwalker cw = vec_to_cellwalker(pvec + euclid_getvec(dx, dy));
|
||||||
if(!cw.at) continue;
|
if(!cw.at) continue;
|
||||||
auto p = vec_to_pair(at);
|
transmatrix Mat = View0 * eumove(dx, dy);
|
||||||
transmatrix Mat = View0 * eumove(p.first,p.second);
|
torusconfig::torus_cx = dx;
|
||||||
|
torusconfig::torus_cy = dy;
|
||||||
|
|
||||||
if(true) {
|
if(true) {
|
||||||
ld locald = matrixnorm(Mat);
|
ld locald = matrixnorm(Mat);
|
||||||
@ -921,7 +927,7 @@ void drawEuclidean() {
|
|||||||
drawcell(cw.at, cw.mirrored ? Mat * Mirror : Mat, cw.spin, cw.mirrored);
|
drawcell(cw.at, cw.mirrored ? Mat * Mirror : Mat, cw.spin, cw.mirrored);
|
||||||
for(int x=-1; x<=+1; x++)
|
for(int x=-1; x<=+1; x++)
|
||||||
for(int y=-1; y<=+1; y++) {
|
for(int y=-1; y<=+1; y++) {
|
||||||
auto p = at + pair_to_vec(x, y);
|
euspot p(dx+x, dy+y);
|
||||||
if(!visited.count(p)) visited.insert(p), dfs.push_back(p);
|
if(!visited.count(p)) visited.insert(p), dfs.push_back(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user