/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package automenta.spacenet.space.geom.graph; import automenta.spacenet.space.Repeat; import automenta.spacenet.space.geom.layout.ColRect; import automenta.spacenet.space.geom.layout.RowRect; import automenta.spacenet.space.geom.text3d.Font3D; import automenta.spacenet.space.widget.button.Button; import automenta.spacenet.space.widget.button.ButtonAction; import automenta.spacenet.space.widget.panel.Panel; import automenta.spacenet.space.widget.slider.Slider; import automenta.spacenet.space.widget.text.TextPanel; import automenta.spacenet.space.widget.window.Window; import automenta.spacenet.var.graph.MemGraph; import automenta.spacenet.var.graph.map.AttentionThresholdGraph; import automenta.spacenet.var.graph.map.ScalarGraphMap; import automenta.spacenet.var.scalar.DoubleRange; import automenta.spacenet.var.string.StringVar; import com.ardor3d.scenegraph.Spatial; /** * * @author seh */ public class ScalarGraphMapControlWindow extends Window { double updatePeriod = 0.5; public ScalarGraphMapControlWindow(final ScalarGraphMap map, final AttentionThresholdGraph visGraph, Font3D font) { super(); final MemGraph graph = map.getGraph(); Button blurButton = new Button(font, "Blur"); blurButton.add(new ButtonAction() { @Override public void onButtonClicked(Button b) { map.blur(0.15); } }); Button sharpenButton = new Button(font, "Spike"); sharpenButton.add(new ButtonAction() { @Override public void onButtonClicked(Button b) { map.addRandom(0, 0.2); } }); Button fadeButton = new Button(font, "Fade"); fadeButton.add(new ButtonAction() { @Override public void onButtonClicked(Button b) { map.mult(0.9); } }); Panel statPanel = new Panel(); final StringVar statString = new StringVar(); statPanel.add(new TextPanel(font, statString, 30)); Panel threshPanel = new Panel(); DoubleRange range = new DoubleRange(visGraph.getThresh(), 0, 1.0); threshPanel.add(new Slider(Slider.SliderDirection.Horizontal, font, range, 0.01, 0.1)); add(new ColRect(0.1, statPanel, threshPanel, new RowRect(0.1, blurButton, sharpenButton, fadeButton) // new RowRect(0.1, new Text3D(font, "Repulsion", Color.Black), new Spinner(DemoButton.font, repulseRange, 0.01)), // new RowRect(0.1, new Text3D(font, "Length", Color.Black), new Spinner(DemoButton.font, lengthRange, 0.1))) )).moveDZ(0.05); add(new Repeat(updatePeriod) { @Override protected void update(double t, double dt, Spatial parent) { statString.set("all[" + graph.getNodeCount() + "|" + graph.getEdgeCount() + "]\nvis[" + visGraph.getNodeCount() + "|" + visGraph.getEdgeCount() + "]"); } }); } }