mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-20 23:50:27 +00:00
Merge pull request #233 from Quuxplusone/fix-warnings
Fix -Woverloaded-virtual warnings
This commit is contained in:
commit
039d86cd13
4
Makefile
4
Makefile
@ -82,9 +82,9 @@ endif
|
|||||||
ifeq (${TOOLCHAIN},clang)
|
ifeq (${TOOLCHAIN},clang)
|
||||||
CXXFLAGS_STD = -std=c++11
|
CXXFLAGS_STD = -std=c++11
|
||||||
CXXFLAGS_EARLY += -march=native -fPIC
|
CXXFLAGS_EARLY += -march=native -fPIC
|
||||||
CXXFLAGS_EARLY += -W -Wall -Wextra -Werror -pedantic
|
CXXFLAGS_EARLY += -W -Wall -Wextra -Wsuggest-override -Werror -pedantic
|
||||||
CXXFLAGS_EARLY += -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-maybe-uninitialized -Wno-unknown-warning-option
|
CXXFLAGS_EARLY += -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-maybe-uninitialized -Wno-unknown-warning-option
|
||||||
CXXFLAGS_EARLY += -Wno-invalid-offsetof -Wno-overloaded-virtual
|
CXXFLAGS_EARLY += -Wno-invalid-offsetof
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (${TOOLCHAIN},gcc)
|
ifeq (${TOOLCHAIN},gcc)
|
||||||
|
@ -807,7 +807,7 @@ struct hrmap_arbi : hrmap {
|
|||||||
return h1;
|
return h1;
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
return relative_matrix_recursive(h2, h1);
|
return relative_matrix_recursive(h2, h1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -706,7 +706,7 @@ struct hrmap_archimedean : hrmap {
|
|||||||
return calc_relative_matrix(c->cmove(dir), c, C0);
|
return calc_relative_matrix(c->cmove(dir), c, C0);
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
if(use_gmatrix && gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
if(use_gmatrix && gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
||||||
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
||||||
transmatrix gm = Id, where = Id;
|
transmatrix gm = Id, where = Id;
|
||||||
|
@ -197,7 +197,7 @@ struct hrmap_asonov : hrmap {
|
|||||||
|
|
||||||
transmatrix adj(heptagon *h, int i) override { return adjmatrix(i); }
|
transmatrix adj(heptagon *h, int i) override { return adjmatrix(i); }
|
||||||
|
|
||||||
virtual transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
for(int a=0; a<S7; a++) if(h2 == h1->move(a)) return adjmatrix(a);
|
for(int a=0; a<S7; a++) if(h2 == h1->move(a)) return adjmatrix(a);
|
||||||
return coord_to_matrix(coords[h2], coords[h1]);
|
return coord_to_matrix(coords[h2], coords[h1]);
|
||||||
}
|
}
|
||||||
|
@ -453,7 +453,7 @@ EX namespace bt {
|
|||||||
else throw hr_exception("wrong dir");
|
else throw hr_exception("wrong dir");
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
if(gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
if(gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
||||||
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
||||||
transmatrix gm = Id, where = Id;
|
transmatrix gm = Id, where = Id;
|
||||||
|
23
cell.cpp
23
cell.cpp
@ -30,16 +30,21 @@ struct hrmap {
|
|||||||
printf("create_step called unexpectedly\n"); exit(1);
|
printf("create_step called unexpectedly\n"); exit(1);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virtual struct transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) {
|
private:
|
||||||
printf("relative_matrix called unexpectedly\n");
|
virtual transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) {
|
||||||
|
printf("relative_matrixh called unexpectedly\n");
|
||||||
return Id;
|
return Id;
|
||||||
}
|
}
|
||||||
virtual struct transmatrix relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) {
|
virtual transmatrix relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) {
|
||||||
return relative_matrix(c2->master, c1->master, hint);
|
return relative_matrixh(c2->master, c1->master, hint);
|
||||||
}
|
}
|
||||||
virtual struct transmatrix adj(cell *c, int i) { return adj(c->master, i); }
|
public:
|
||||||
virtual struct transmatrix adj(heptagon *h, int i);
|
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) { return relative_matrixh(h2, h1, hint); }
|
||||||
struct transmatrix iadj(cell *c, int i) { cell *c1 = c->cmove(i); return adj(c1, c->c.spin(i)); }
|
transmatrix relative_matrix(cell *h2, cell *h1, const hyperpoint& hint) { return relative_matrixc(h2, h1, hint); }
|
||||||
|
|
||||||
|
virtual transmatrix adj(cell *c, int i) { return adj(c->master, i); }
|
||||||
|
virtual transmatrix adj(heptagon *h, int i);
|
||||||
|
transmatrix iadj(cell *c, int i) { cell *c1 = c->cmove(i); return adj(c1, c->c.spin(i)); }
|
||||||
transmatrix iadj(heptagon *h, int d) {
|
transmatrix iadj(heptagon *h, int d) {
|
||||||
heptagon *h1 = h->cmove(d); return adj(h1, h->c.spin(d));
|
heptagon *h1 = h->cmove(d); return adj(h1, h->c.spin(d));
|
||||||
}
|
}
|
||||||
@ -94,8 +99,8 @@ struct hrmap {
|
|||||||
**/
|
**/
|
||||||
struct hrmap_standard : hrmap {
|
struct hrmap_standard : hrmap {
|
||||||
void draw_at(cell *at, const shiftmatrix& where) override;
|
void draw_at(cell *at, const shiftmatrix& where) override;
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override;
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override;
|
||||||
transmatrix relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) override;
|
transmatrix relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) override;
|
||||||
heptagon *create_step(heptagon *h, int direction) override;
|
heptagon *create_step(heptagon *h, int direction) override;
|
||||||
transmatrix adj(cell *c, int d) override;
|
transmatrix adj(cell *c, int d) override;
|
||||||
transmatrix adj(heptagon *h, int d) override;
|
transmatrix adj(heptagon *h, int d) override;
|
||||||
|
@ -673,7 +673,7 @@ struct hrmap_crystal : hrmap_standard {
|
|||||||
else hrmap::draw_at(at, where);
|
else hrmap::draw_at(at, where);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual transmatrix relative_matrix(cell *h2, cell *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixc(cell *h2, cell *h1, const hyperpoint& hint) override {
|
||||||
if(!crystal3()) return hrmap_standard::relative_matrix(h2, h1, hint);
|
if(!crystal3()) return hrmap_standard::relative_matrix(h2, h1, hint);
|
||||||
if(h2 == h1) return Id;
|
if(h2 == h1) return Id;
|
||||||
for(int i=0; i<S7; i++) if(h2 == h1->move(i)) return adj(h1->master, i);
|
for(int i=0; i<S7; i++) if(h2 == h1->move(i)) return adj(h1->master, i);
|
||||||
@ -683,7 +683,7 @@ struct hrmap_crystal : hrmap_standard {
|
|||||||
return xpush(999);
|
return xpush(999);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
if(!crystal3()) return hrmap::relative_matrix(h2, h1, hint);
|
if(!crystal3()) return hrmap::relative_matrix(h2, h1, hint);
|
||||||
return relative_matrix(h2->c7, h1->c7, hint);
|
return relative_matrix(h2->c7, h1->c7, hint);
|
||||||
}
|
}
|
||||||
|
@ -260,7 +260,7 @@ EX namespace euc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
if(eu.twisted) {
|
if(eu.twisted) {
|
||||||
if(h1 == h2) return Id;
|
if(h1 == h2) return Id;
|
||||||
for(int s=0; s<S7; s++) if(h2 == h1->move(s)) return adj(h1, s);
|
for(int s=0; s<S7; s++) if(h2 == h1->move(s)) return adj(h1, s);
|
||||||
|
4
fake.cpp
4
fake.cpp
@ -179,7 +179,7 @@ EX namespace fake {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(cell *h2, cell *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixc(cell *h2, cell *h1, const hyperpoint& hint) override {
|
||||||
if(arcm::in()) return underlying_map->relative_matrix(h2, h1, hint);
|
if(arcm::in()) return underlying_map->relative_matrix(h2, h1, hint);
|
||||||
if(h1 == h2) return Id;
|
if(h1 == h2) return Id;
|
||||||
|
|
||||||
@ -189,7 +189,7 @@ EX namespace fake {
|
|||||||
return Id;
|
return Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
if(arcm::in()) return underlying_map->relative_matrix(h2, h1, hint);
|
if(arcm::in()) return underlying_map->relative_matrix(h2, h1, hint);
|
||||||
return relative_matrix(h2->c7, h1->c7, hint);
|
return relative_matrix(h2->c7, h1->c7, hint);
|
||||||
}
|
}
|
||||||
|
@ -120,11 +120,11 @@ EX transmatrix relative_matrix_via_masters(cell *c2, cell *c1, const hyperpoint&
|
|||||||
return gm * U * where;
|
return gm * U * where;
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix hrmap_standard::relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) {
|
transmatrix hrmap_standard::relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) {
|
||||||
return relative_matrix_via_masters(c2, c1, hint);
|
return relative_matrix_via_masters(c2, c1, hint);
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix hrmap_standard::relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) {
|
transmatrix hrmap_standard::relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) {
|
||||||
|
|
||||||
transmatrix gm = Id, where = Id;
|
transmatrix gm = Id, where = Id;
|
||||||
// always add to last!
|
// always add to last!
|
||||||
|
@ -1131,11 +1131,11 @@ EX namespace gp {
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
return in_underlying([&] { return currentmap->relative_matrix(h2, h1, hint); });
|
return in_underlying([&] { return currentmap->relative_matrix(h2, h1, hint); });
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) override {
|
transmatrix relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) override {
|
||||||
c1 = mapping[c1];
|
c1 = mapping[c1];
|
||||||
c2 = mapping[c2];
|
c2 = mapping[c2];
|
||||||
return in_underlying([&] { return currentmap->relative_matrix(c2, c1, hint); });
|
return in_underlying([&] { return currentmap->relative_matrix(c2, c1, hint); });
|
||||||
|
2
kite.cpp
2
kite.cpp
@ -326,7 +326,7 @@ struct hrmap_kite : hrmap {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
if(gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
if(gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
||||||
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
||||||
transmatrix gm = Id, where = Id;
|
transmatrix gm = Id, where = Id;
|
||||||
|
@ -75,7 +75,7 @@ void set_linux() {
|
|||||||
|
|
||||||
void set_mac() {
|
void set_mac() {
|
||||||
preprocessor = "g++ -E";
|
preprocessor = "g++ -E";
|
||||||
compiler = "g++ -march=native -W -Wall -Wextra -pedantic -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-invalid-offsetof -c";
|
compiler = "g++ -march=native -W -Wall -Wextra -Wsuggest-override -pedantic -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-invalid-offsetof -c";
|
||||||
linker = "g++ -o hyper";
|
linker = "g++ -o hyper";
|
||||||
opts = "-DMAC -I/usr/local/include";
|
opts = "-DMAC -I/usr/local/include";
|
||||||
libs = " -L/usr/local/lib -framework AppKit -framework OpenGL -lSDL -lSDLMain -lSDL_gfx -lSDL_mixer -lSDL_ttf -lpng -lpthread -lz";
|
libs = " -L/usr/local/lib -framework AppKit -framework OpenGL -lSDL -lSDLMain -lSDL_gfx -lSDL_mixer -lSDL_ttf -lpng -lpthread -lz";
|
||||||
|
@ -425,7 +425,7 @@ EX namespace sn {
|
|||||||
h->cmove(d); return adjmatrix(d, h->c.spin(d));
|
h->cmove(d); return adjmatrix(d, h->c.spin(d));
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
for(int i=0; i<h1->type; i++) if(h1->move(i) == h2) return adjmatrix(i, h1->c.spin(i));
|
for(int i=0; i<h1->type; i++) if(h1->move(i) == h2) return adjmatrix(i, h1->c.spin(i));
|
||||||
if(gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
if(gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
||||||
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
||||||
@ -943,7 +943,7 @@ EX namespace nilv {
|
|||||||
|
|
||||||
transmatrix adj(heptagon *h, int i) override { return adjmatrix(i); }
|
transmatrix adj(heptagon *h, int i) override { return adjmatrix(i); }
|
||||||
|
|
||||||
virtual transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
for(int a=0; a<S7; a++) if(h2 == h1->move(a)) return adjmatrix(a);
|
for(int a=0; a<S7; a++) if(h2 == h1->move(a)) return adjmatrix(a);
|
||||||
auto p = coords[h1].inverse() * coords[h2];
|
auto p = coords[h1].inverse() * coords[h2];
|
||||||
for(int a=0; a<3; a++) p[a] = szgmod(p[a], nilperiod[a]);
|
for(int a=0; a<3; a++) p[a] = szgmod(p[a], nilperiod[a]);
|
||||||
@ -1518,7 +1518,7 @@ EX namespace product {
|
|||||||
int z0;
|
int z0;
|
||||||
|
|
||||||
struct hrmap_product : hybrid::hrmap_hybrid {
|
struct hrmap_product : hybrid::hrmap_hybrid {
|
||||||
transmatrix relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) override {
|
transmatrix relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) override {
|
||||||
return in_underlying([&] { return calc_relative_matrix(where[c2].first, where[c1].first, hint); }) * mscale(Id, cgi.plevel * szgmod(where[c2].second - where[c1].second, hybrid::csteps));
|
return in_underlying([&] { return calc_relative_matrix(where[c2].first, where[c1].first, hint); }) * mscale(Id, cgi.plevel * szgmod(where[c2].second - where[c1].second, hybrid::csteps));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2079,7 +2079,7 @@ EX namespace rots {
|
|||||||
return M = lift_matrix(PIU(currentmap->adj(cw, i)));
|
return M = lift_matrix(PIU(currentmap->adj(cw, i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual transmatrix relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) override {
|
transmatrix relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) override {
|
||||||
if(c1 == c2) return Id;
|
if(c1 == c2) return Id;
|
||||||
if(gmatrix0.count(c2) && gmatrix0.count(c1))
|
if(gmatrix0.count(c2) && gmatrix0.count(c1))
|
||||||
return inverse_shift(gmatrix0[c1], gmatrix0[c2]);
|
return inverse_shift(gmatrix0[c1], gmatrix0[c2]);
|
||||||
@ -2087,7 +2087,7 @@ EX namespace rots {
|
|||||||
return Id; // not implemented yet
|
return Id; // not implemented yet
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual transmatrix ray_iadj(cell *c1, int i) override {
|
transmatrix ray_iadj(cell *c1, int i) override {
|
||||||
if(i == c1->type-1) return uzpush(-cgi.plevel) * spin(-2*cgi.plevel);
|
if(i == c1->type-1) return uzpush(-cgi.plevel) * spin(-2*cgi.plevel);
|
||||||
if(i == c1->type-2) return uzpush(+cgi.plevel) * spin(+2*cgi.plevel);
|
if(i == c1->type-2) return uzpush(+cgi.plevel) * spin(+2*cgi.plevel);
|
||||||
cell *c2 = c1->cmove(i);
|
cell *c2 = c1->cmove(i);
|
||||||
|
12
reg3.cpp
12
reg3.cpp
@ -689,7 +689,7 @@ EX namespace reg3 {
|
|||||||
|
|
||||||
heptagon *getOrigin() override { return allh[0]; }
|
heptagon *getOrigin() override { return allh[0]; }
|
||||||
|
|
||||||
transmatrix relative_matrix(cell *h2, cell *h1, const hyperpoint& hint) override;
|
transmatrix relative_matrixc(cell *h2, cell *h1, const hyperpoint& hint) override;
|
||||||
|
|
||||||
void initialize(int cell_count);
|
void initialize(int cell_count);
|
||||||
vector<cell*>& allcells() override { return acells; }
|
vector<cell*>& allcells() override { return acells; }
|
||||||
@ -950,7 +950,7 @@ EX namespace reg3 {
|
|||||||
if(failures && !testing_subconnections) throw hr_exception("hrmap_closed3 failures");
|
if(failures && !testing_subconnections) throw hr_exception("hrmap_closed3 failures");
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix hrmap_closed3::relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) {
|
transmatrix hrmap_closed3::relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) {
|
||||||
if(c1 == c2) return Id;
|
if(c1 == c2) return Id;
|
||||||
int d = hr::celldistance(c2, c1);
|
int d = hr::celldistance(c2, c1);
|
||||||
|
|
||||||
@ -1505,7 +1505,7 @@ EX namespace reg3 {
|
|||||||
return relative_matrix(h->cmove(d), h, C0);
|
return relative_matrix(h->cmove(d), h, C0);
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
auto p1 = reg_gmatrix[h1];
|
auto p1 = reg_gmatrix[h1];
|
||||||
auto p2 = reg_gmatrix[h2];
|
auto p2 = reg_gmatrix[h2];
|
||||||
transmatrix T = Id;
|
transmatrix T = Id;
|
||||||
@ -1613,7 +1613,7 @@ EX namespace reg3 {
|
|||||||
clearfrom(allh[0]);
|
clearfrom(allh[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
return iso_inverse(locations[h1->fieldval]) * locations[h2->fieldval];
|
return iso_inverse(locations[h1->fieldval]) * locations[h2->fieldval];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1927,11 +1927,11 @@ EX namespace reg3 {
|
|||||||
return quotient_map->adj(h, d);
|
return quotient_map->adj(h, d);
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
return relative_matrix_recursive(h2, h1);
|
return relative_matrix_recursive(h2, h1);
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) override {
|
transmatrix relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) override {
|
||||||
if(PURE) return relative_matrix(c2->master, c1->master, hint);
|
if(PURE) return relative_matrix(c2->master, c1->master, hint);
|
||||||
return relative_matrix_via_masters(c2, c1, hint);
|
return relative_matrix_via_masters(c2, c1, hint);
|
||||||
}
|
}
|
||||||
|
@ -421,13 +421,13 @@ struct hrmap_grigorchuk : hrmap_standard {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
if(gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
if(gmatrix0.count(h2->c7) && gmatrix0.count(h1->c7))
|
||||||
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
return inverse_shift(gmatrix0[h1->c7], gmatrix0[h2->c7]);
|
||||||
return Id;
|
return Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(cell *c2, cell *c1, const struct hyperpoint& hint) override {
|
transmatrix relative_matrixc(cell *c2, cell *c1, const struct hyperpoint& hint) override {
|
||||||
if(gmatrix0.count(c2) && gmatrix0.count(c1))
|
if(gmatrix0.count(c2) && gmatrix0.count(c1))
|
||||||
return inverse_shift(gmatrix0[c1], gmatrix0[c2]);
|
return inverse_shift(gmatrix0[c1], gmatrix0[c2]);
|
||||||
return Id;
|
return Id;
|
||||||
|
@ -1103,7 +1103,7 @@ struct hrmap_notknot : hrmap {
|
|||||||
ray::volumetric::enable();
|
ray::volumetric::enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
transmatrix relative_matrixh(heptagon *h2, heptagon *h1, const hyperpoint& hint) override {
|
||||||
return Id;
|
return Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ struct hrmap_spherical : hrmap_standard {
|
|||||||
return Id;
|
return Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
transmatrix relative_matrix(cell *c2, cell *c1, const hyperpoint& hint) override {
|
transmatrix relative_matrixc(cell *c2, cell *c1, const hyperpoint& hint) override {
|
||||||
transmatrix T = iso_inverse(get_where(c1)) * get_where(c2);
|
transmatrix T = iso_inverse(get_where(c1)) * get_where(c2);
|
||||||
if(elliptic) fixelliptic(T);
|
if(elliptic) fixelliptic(T);
|
||||||
return T;
|
return T;
|
||||||
|
Loading…
Reference in New Issue
Block a user