Package ch.fusun.baron.swt.isometry.components

Examples of ch.fusun.baron.swt.isometry.components.IsometryWidget


    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new GridLayout());

    final IsometryWidget widget = new IsometryWidget(shell, SWT.NONE, SIZE,
        SIZE, ALTITUDE, 32, 32, 16);
    widget.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    shell.setText("Map"); //$NON-NLS-1$

    final Image cloud = new Image(display, "icons/cloud_alt.png"); //$NON-NLS-1$
    final Image rain = new Image(display, "icons/rain_alt.png"); //$NON-NLS-1$
    final Image ground = new Image(display, "icons/0_alt.png"); //$NON-NLS-1$
    // final Image mountain = new Image(display, "icons/15.png");
    // final Image sun = new Image(display, "icons/sun.png");
    final Image water = new Image(display, "icons/water_alt.png"); //$NON-NLS-1$

    for (int i = 0; i < SIZE; i++) {
      for (int j = 0; j < SIZE; j++) {
        for (int k = 0; k < ALTITUDE; k++) {
          weather.getWorld().getCube(i, j, k).setTemperature(278);
        }
      }
    }

    weather.getWorld().getCube(SIZE / 2, SIZE / 2, ALTITUDE / 2)
        .setWater(1000000);
    weather.getWorld().getCube(SIZE / 2, SIZE / 2, ALTITUDE / 2)
        .setVapour(5000);

    Button button = new Button(shell, SWT.PUSH);
    button.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        widget.clear();
        float total = 0;
        float totalWater = 0;
        float totalVapour = 0;
        float max = Float.MIN_VALUE;
        float min = Float.MAX_VALUE;
        String columnHeat = ""; //$NON-NLS-1$
        String columnWater = ""; //$NON-NLS-1$
        String columnVapour = ""; //$NON-NLS-1$
        step++;
        for (int i = 0; i < SIZE; i++) {
          weather.getWorld()
              .getCube(i, step % SIZE, 0)
              .setTemperature(
                  weather.getWorld()
                      .getCube(i, step % SIZE, 0)
                      .getTemperature() + 280);
          for (int j = 0; j < SIZE; j++) {
            columnHeat = ""; //$NON-NLS-1$
            columnWater = ""; //$NON-NLS-1$
            columnVapour = ""; //$NON-NLS-1$
            for (int k = 0; k < ALTITUDE; k++) {
              Cube cube = weather.getWorld().getCube(i, j, k);
              columnHeat = columnHeat + " " //$NON-NLS-1$
                  + cube.getTemperature();
              columnWater = columnWater + " " + cube.getWater(); //$NON-NLS-1$
              columnVapour = columnVapour + " " //$NON-NLS-1$
                  + cube.getVapour();
              total += cube.getTemperature();
              totalWater += cube.getWater();
              totalVapour += cube.getVapour();
              if (max < cube.getTemperature()) {
                max = cube.getTemperature();
              }
              if (min > cube.getTemperature()) {
                min = cube.getTemperature();
              }
              if (cube.getZ() == 0) {
                widget.addItem(null, i, j, k, new Sprite(
                    ground, null));
              }
              if (cube.getWater() > 0) {
                if (cube.getZ() == 0) {

                  widget.addItem(null, i, j, k, new Sprite(
                      water, null));
                } else {
                  if (cube.getWater() < 20) {
                    widget.addItem(null, i, j, k,
                        new Sprite(cloud, null));
                  } else {
                    widget.addItem(null, i, j, k,
                        new Sprite(rain, null));
                  }
                }
              }
            }
          }
        }
        System.out.println("totheat: " + total + " totwat: " //$NON-NLS-1$ //$NON-NLS-2$
            + totalWater + " totvapour: " + totalVapour //$NON-NLS-1$
            + "\n max: " + max + " min: " + min + "\n TotWATPOR: " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            + (totalWater + totalVapour));
        System.out.println("heat: " + columnHeat); //$NON-NLS-1$
        System.out.println("water: " + columnWater); //$NON-NLS-1$
        System.out.println("vapour: " + columnVapour); //$NON-NLS-1$
        widget.redraw();
        weather.step();
      }
    });

    shell.open();
View Full Code Here


  }

  @Override
  public void createPartControl(Composite parent) {
    parent.setLayout(new GridLayout());
    isometryWidget = new IsometryWidget(parent, SWT.NONE,
        mapService.getWidth(), mapService.getHeight(), 1, 64, 64, 32);
    isometryWidget.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
        true));

    isometryWidget.addSelectionListener(new SpriteSelectionListener() {
View Full Code Here

  public static void main(String[] args) {
    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new GridLayout());

    IsometryWidget isometryWidget = new IsometryWidget(shell, SWT.NONE,
        SIZE, SIZE, 1, 64, 64, 32);

    for (int i = 0; i < heightMap.length; i++) {
      for (int j = 0; j < heightMap[i].length; j++) {
        heightMap[i][j] = Math.random() < 0.5 ? 1 : 0;
      }
    }

    for (int i = 0; i < SIZE; i++) {
      for (int j = 0; j < SIZE; j++) {
        isometryWidget.addItem(i + ", " + j, i, j, //$NON-NLS-1$
            getSprite(getID(i, j, heightMap), display));
      }
    }

    isometryWidget.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
        true));

    shell.setText("Map"); //$NON-NLS-1$
    shell.open();
    while (!shell.isDisposed()) {
View Full Code Here

TOP

Related Classes of ch.fusun.baron.swt.isometry.components.IsometryWidget

Copyright © 2018 www.massapicom. 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.