use of spacegraph.space2d.hud.SubOrtho in project narchy by automenta.
the class NAgentX method chart.
public static void chart(NAgent a) {
NAR nar = a.nar();
nar.runLater(() -> {
SpaceGraph.window(grid(new AutoSurface(a), Vis.beliefCharts(nar.dur() * 64, a.actions.keySet(), a.nar()), new EmotionPlot(64, a), grid(// concept query box
new TextEdit() {
@Override
protected void onKeyEnter() {
String s = text();
text("");
try {
nar.conceptualize(s);
} catch (Narsese.NarseseException e) {
e.printStackTrace();
}
Vis.conceptWindow(s, nar);
}
}.surface(), // new WindowButton("log", () -> Vis.logConsole(nar, 80, 25, new FloatParam(0f))),
new PushButton("dump", () -> {
try {
nar.output(Files.createTempFile(a.toString(), "" + System.currentTimeMillis()).toFile(), false);
} catch (IOException e) {
e.printStackTrace();
}
}), new PushButton("clear", () -> {
nar.runLater(NAR::clear);
}), new PushButton("prune", () -> {
nar.runLater(() -> {
DoubleHistogram i = new DoubleHistogram(2);
nar.tasks(true, false, false, false).forEach(t -> i.recordValue(t.conf()));
float confThresh = (float) i.getValueAtPercentile(25);
nar.tasks(true, false, false, false).filter(t -> t.conf() < confThresh).forEach(Task::delete);
});
}), new WindowToggleButton("top", () -> new ConsoleTerminal(new nars.TextUI(nar).session(10f))), new WindowToggleButton("concept graph", () -> {
DynamicConceptSpace sg;
SpaceGraphPhys3D s = new SpaceGraphPhys3D<>(sg = new DynamicConceptSpace(nar, () -> nar.exe.active().iterator(), 128, 16));
EdgeDirected fd = new EdgeDirected();
s.dyn.addBroadConstraint(fd);
fd.attraction.set(fd.attraction.get() * 8);
s.add(new SubOrtho(// window(
grid(new AutoSurface<>(fd), new AutoSurface<>(sg.vis))) {
}.posWindow(0, 0, 1f, 0.2f));
// , 400, 400);
// .pos(0, 0, 0.5f, 0.5f)
s.camPos(0, 0, 90);
return s;
}), a instanceof NAgentX ? new WindowToggleButton("vision", () -> grid(((NAgentX) a).sensorCam.stream().map(cs -> new AspectAlign(new CameraSensorView(cs, a).withControls(), AspectAlign.Align.Center, cs.width, cs.height)).toArray(Surface[]::new))) : grid())), //
900, 600);
});
}
use of spacegraph.space2d.hud.SubOrtho in project narchy by automenta.
the class TestTimeGraphVis method main.
public static void main(String[] args) {
// NAR n = NARS.threadSafe();
TestTimeGraphVis cs = new TestTimeGraphVis();
SpaceGraphPhys3D sg = cs.show(1400, 1000, true);
sg.add(new SubOrtho(grid(// new AutoSurface<>(sg.dyn.broadConstraints.get(0) /* FD hack */),
new AutoSurface<>(cs.vis))).posWindow(0, 0, 1f, 0.2f));
cs.commit(dt());
// {
// MapNodeGraph<Object, Object> h = new MapNodeGraph<>();
// h.addEdge(h.addNode("y"), "yx", h.addNode("x"));
//
// ObjectGraph o = new ObjectGraph(h);
// cs.commit(o);
// }
}
use of spacegraph.space2d.hud.SubOrtho in project narchy by automenta.
the class OSMTest method main.
public static void main(String[] args) {
// https://wiki.openstreetmap.org/wiki/API_v0.6
// http://api.openstreetmap.org/api/0.6/changeset/#id/comment
// /api/0.6/map?bbox=min_lon,min_lat,max_lon,max_lat (W,S,E,N)
IRL i = new IRL(User.the());
i.load(-80.65, 28.58, -80.60, 28.63);
SpaceGraphPhys3D sg = new SpaceGraphPhys3D(new OsmSpace(i.osm));
sg.show(800, 800);
sg.addWindowListener(new WindowAdapter() {
@Override
public void windowDestroyed(WindowEvent e) {
super.windowDestroyed(e);
System.exit(0);
}
});
sg.add(new SubOrtho(WidgetTest.widgetDemo()).posWindow(0, 0, 0.3f, 1f));
}
Aggregations