mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2026-01-05 03:29:03 +00:00
rogueviz:: embedding:: embedding name and information
This commit is contained in:
@@ -233,6 +233,8 @@ struct dhrg_embedding : public rogueviz::embeddings::tiled_embedding {
|
||||
println(f, rogueviz::vdata[i].name.c_str(), " ", p.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
virtual string name() { return "DHRG"; }
|
||||
};
|
||||
|
||||
void graph_from_rv() {
|
||||
|
||||
@@ -12,6 +12,7 @@ vector<vector<int> > directed_edges;
|
||||
rogueviz::edgetype *any;
|
||||
|
||||
struct rv_embedding : public tiled_embedding {
|
||||
virtual string name() { return "RogueViz internal representation"; }
|
||||
pair<cell*, hyperpoint> as_location(int id) override {
|
||||
return { vdata[id].m->base, vdata[id].m->at * C0 };
|
||||
}
|
||||
@@ -92,6 +93,13 @@ void esave(string fname) {
|
||||
|
||||
void store_gamedata(struct hr::gamedata* gd) { gd->store(current); }
|
||||
|
||||
string embedding::get_space() {
|
||||
shstream ss;
|
||||
ss.write(ss.get_vernum());
|
||||
mapstream::save_geometry(ss);
|
||||
return ss.s;
|
||||
}
|
||||
|
||||
int a = arg::add3("-edgelist", [] { arg::shift(); read_edgelist(arg::args()); })
|
||||
+ addHook(hooks_gamedata, 230, store_gamedata)
|
||||
+ arg::add3("-write-edges", [] { arg::shift(); write_edgelist(arg::args()); })
|
||||
|
||||
@@ -12,6 +12,10 @@ namespace embeddings {
|
||||
struct polar_embedding : public untiled_embedding {
|
||||
vector<polar_point> coords;
|
||||
|
||||
virtual string name() override { return "polar in BFKL format"; }
|
||||
|
||||
virtual int get_dimension() override { return 2; }
|
||||
|
||||
hyperpoint as_hyperpoint(int id) override {
|
||||
return spin(coords[id].theta) * xpush0(coords[id].r);
|
||||
}
|
||||
|
||||
@@ -53,6 +53,8 @@ void save_sag_solution(const fhstream& f);
|
||||
|
||||
struct sag_embedding : public rogueviz::embeddings::tiled_embedding {
|
||||
|
||||
virtual string name() { return "SAG"; }
|
||||
|
||||
pair<cell*, hyperpoint> as_location(int id) override {
|
||||
|
||||
ld rad = .25 * cgi.scalefactor;
|
||||
@@ -78,7 +80,7 @@ struct sag_embedding : public rogueviz::embeddings::tiled_embedding {
|
||||
return sagdist[sagid[i]][0];
|
||||
}
|
||||
|
||||
void save(const fhstream& f) {
|
||||
void save(fhstream& f) {
|
||||
if(!(state & SS_DATA)) throw hr_exception("save_sag_solution with no data");
|
||||
for(int i=0; i<isize(sagid); i++)
|
||||
println(f, vdata[i].name, ";", sagid[i]);
|
||||
|
||||
Reference in New Issue
Block a user