Package visualization

Source Code of visualization.ThetaAnalysisFrame

package visualization;

import graphs.XYInputsvOuputByThetaGraph;

import java.awt.Dimension;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JTabbedPane;

import odor.Odor;

import main.InitializationException;
import structures.Network;

public class ThetaAnalysisFrame extends JFrame implements RunsSimulation
{
  private ArrayList<JNetwork> networkArray;
  private JTabbedPane networkProcesTabs;
  public static final int X_OFFSET = 105;
  public static final int Y_OFFSET = 55;
  private Odor[] battery;
  private ControlWidget myControlWidget;
  private XYInputsvOuputByThetaGraph outputGraph;
 
  public ThetaAnalysisFrame()
  {
    networkArray = new ArrayList<JNetwork>();
    networkProcesTabs = new JTabbedPane(JTabbedPane.LEFT);
    myControlWidget = new ControlWidget(this);
  }
 
  public ThetaAnalysisFrame(Network n)
  {
    networkArray = new ArrayList<JNetwork>();
    networkProcesTabs = new JTabbedPane(JTabbedPane.LEFT);
   
    addJNetworkTab(n);
   
    initializeGraphics();
   
    this.setContentPane(networkProcesTabs);
    this.validate();
   
    myControlWidget = new ControlWidget(this);
    myControlWidget.setVisible(true);
   
    this.setVisible(true);
  }
 
  public ThetaAnalysisFrame(Network n, Odor[] battery)
  {
    networkArray = new ArrayList<JNetwork>();
    networkProcesTabs = new JTabbedPane(JTabbedPane.LEFT);
    this.battery = battery;
   
    addJNetworkTab(n);
   
    initializeGraphics();
   
    this.setContentPane(networkProcesTabs);
    this.validate();
   
    myControlWidget = new ControlWidget(this, battery);
    myControlWidget.setVisible(true);
   
    this.setVisible(true);
  }
 
  public ThetaAnalysisFrame(int numNetworks, Odor[] battery)
  {
    networkArray = new ArrayList<JNetwork>();
    networkProcesTabs = new JTabbedPane(JTabbedPane.LEFT);
    this.battery = battery;
   
    for(int x=0; x<numNetworks; x++)
    {
      //Main.UNIVERSAL_TO_MITRAL_WEIGHT = (new java.util.Random()).nextInt((int)Math.round(Network.DEFAULT_MITRAL_TO_COL_CONNECTIVITY*Main.NUM_COLS)) +1;
     
      Network n = new Network(main.Main.NUM_COLS);
     
      try
      {
        n.initialize(null);
      }
      catch(InitializationException e)
      {
        e.printStackTrace();
        System.exit(0);
      }
     
      addJNetworkTab(n);
    }
   
    initializeGraphics();
   
    this.setContentPane(networkProcesTabs);
    this.validate();
   
    myControlWidget = new ControlWidget(this, battery);
    myControlWidget.setVisible(true);
   
    this.setVisible(true);
  }
 
  public void setOdor(Odor input)
  {
    for(JNetwork network : networkArray)
    {
      network.setOdor(input);
    }
  }
 
  private void addJNetworkTab(Network n)
  {
    JNetwork temp = new JNetwork(n);
   
    networkArray.add(temp);
    networkProcesTabs.addTab(temp.toString(), temp);
    networkProcesTabs.validate();
  }
 
  public void runSimulation(Object data)
  {
    boolean flag = false;
   
    for(JNetwork network : this.networkArray)
    {
      network.fire(myControlWidget.getSelectedOdor());
       
      if (outputGraph == null || flag == false)
      {
        outputGraph = new XYInputsvOuputByThetaGraph(network);
        flag = true;
      }
      else
      {
        outputGraph.addXYSeries(network);
      }   
   
      outputGraph.setVisible(true);
     
      this.validate();
      this.repaint();
     
      network.resetGranules();
    }
  }
 
  public void initializeGraphics()
  {
    this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    this.setSize(new Dimension(X_OFFSET+JNetwork.COL_START_X+JNetwork.COL_OFFSET*networkArray.get(0).getNumCols(),
        Y_OFFSET+JNetwork.COL_START_Y+JNetwork.GRANULE_RADIUS*JNetwork.getGranulesPerColumn(networkArray.get(0))));
    this.setTitle("Main Simulation");
  }
 
  public JNetwork getJNetwork()
  {
    return null;
  }
}
TOP

Related Classes of visualization.ThetaAnalysisFrame

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.