Examples of Flame


Examples of org.jwildfire.create.tina.base.Flame

  protected void export(int pRow, int pCol) {
    if (selectedGenerationIdx >= 0 && selectedGenerationIdx < mutationList.size()) {
      MutationSet selectedSet = mutationList.get(selectedGenerationIdx);

      Flame flame = selectedSet.getFlame(pRow, pCol);
      Flame morphedFlame = createWeightedFlame(selectedSet.getBaseFlame(), flame);

      tinaController.importFlame(morphedFlame, true);

      rootTabbedPane.setSelectedIndex(TinaController.PAGE_INDEX);
      rootTabbedPane.getParent().invalidate();
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

  protected ErrorHandler getErrorHandler() {
    return errorHandler;
  }

  public void bokehBtn_clicked() {
    Flame flame = getCurrFlame();
    if (flame != null) {
      saveUndoPoint();
      flame.setCamDOF(0.1 + Math.random() * 0.3);
      flame.setNewCamDOF(true);
      flame.setCamPitch(30 + Math.random() * 20.0);
      flame.setCamYaw(15 - Math.random() * 30.0);
      flame.setCamPerspective(0.05 + Math.random() * 0.2);

      flame.setCamDOFArea(0.2 + Math.random() * 0.5);

      for (Layer layer : flame.getLayers()) {
        Variation crackle = null;
        for (XForm xform : layer.getXForms()) {
          for (int i = xform.getVariationCount() - 1; i >= 0; i--) {
            Variation var = xform.getVariation(i);
            if (var.getFunc().getName().equals(CrackleFunc.VAR_NAME)) {
              VariationFunc varFunc = var.getFunc();
              double scale = (Double) varFunc.getParameter(CrackleFunc.PARAM_SCALE);
              if (MathLib.fabs(scale) < MathLib.EPSILON) {
                crackle = var;
                xform.setColor(Math.random());
                break;
              }
            }
          }
        }

        if (crackle == null) {
          XForm xform = new XForm();
          xform.setWeight(0.5);
          layer.getXForms().add(xform);
          crackle = xform.addVariation(1.0, VariationFuncList.getVariationFuncInstance(CrackleFunc.VAR_NAME));
          crackle.getFunc().setParameter(CrackleFunc.PARAM_SCALE, 0.0);
        }

        crackle.setAmount(1.0 + Math.random() * 2.0);
        crackle.getFunc().setParameter(CrackleFunc.PARAM_DISTORT, 1.5 + Math.random() * 1.5);
        crackle.getFunc().setParameter(CrackleFunc.PARAM_CELLSIZE, 0.5 + Math.random() * 2.0);

        if (Math.random() < 0.33) {
          flame.setFocusX(0.33 - Math.random() * 0.66);
          flame.setFocusY(0.25 - Math.random() * 0.50);
          flame.setFocusZ(0.1 - Math.random() * 0.2);
        }
        else {
          flame.setFocusX(0.0);
          flame.setFocusY(0.0);
          flame.setFocusZ(0.0);
        }

        flame.setCamDOFScale(1.5 + Math.random() * 2.0);
        flame.setCamDOFAngle(20.0 * Math.random());
        flame.setCamDOFParam1(0);
        flame.setCamDOFParam2(0);
        flame.setCamDOFParam3(0);
        flame.setCamDOFParam4(0);
        flame.setCamDOFParam5(0);

        double rnd = Math.random();
        if (rnd < 0.1) {
          flame.setCamDOFShape(DOFBlurShapeType.BUBBLE);
          flame.setCamDOFFade(0.6 + Math.random() * 0.4);
        }
        else if (rnd < 0.2) {
          flame.setCamDOFShape(DOFBlurShapeType.HEART);
          if (Math.random() < 0.25) {
            flame.setCamDOFFade(0.2 + Math.random() * 0.8);
          }
          else {
            flame.setCamDOFFade(0.0);
          }
        }
        else if (rnd < 0.4) {
          flame.setCamDOFShape(DOFBlurShapeType.NBLUR);
          flame.setCamDOFFade(0.0);
          flame.setCamDOFParam1(3 + Math.random() * 5); // num edges
          if (Math.random() < 0.33) {
            flame.setCamDOFParam2(2 + Math.random() * 5); // num stripes        
            flame.setCamDOFParam3(1);// ratio stripes
            flame.setCamDOFParam4(0);// ratio hole
            flame.setCamDOFParam5(Math.random() < 0.33 ? 1 : 0);// circum circle
          }
        }
        else if (rnd < 0.6) {
          flame.setCamDOFShape(DOFBlurShapeType.SINEBLUR);
          flame.setCamDOFFade(0.0);
          flame.setCamDOFParam1(1.2 + Math.random());
        }
        else if (rnd < 0.8) {
          flame.setCamDOFFade(0.2 + Math.random() * 0.8);
          flame.setCamDOFShape(DOFBlurShapeType.STARBLUR);
          flame.setCamDOFParam1(4 + Math.random() * 6);// power
          flame.setCamDOFParam2(0.40162283177245455973959534526548);// range
        }
        else if (rnd < 0.9) {
          flame.setCamDOFShape(DOFBlurShapeType.RECT);
          flame.setCamDOFFade(0.0);
          flame.setCamDOFParam1(0.4 + Math.random() * 0.4);
        }
      }

      refreshUI();
    }
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

        Dimension probeSize = new Dimension(80, 60);

        MutationSet selectedSet = mutationList.get(selectedGenerationIdx);
        final int rows = MUTA_ROWS;
        final int cols = MUTA_COLS;
        Flame baseFlame = selectedSet.getFlame(pRow, pCol);
        baseFlame = createWeightedFlame(selectedSet.getBaseFlame(), baseFlame);

        boolean doMorph = fabs((Double) amountREd.getValue() - 1.0) > EPSILON;

        List<Flame> mutations = new ArrayList<Flame>();
        initProgress(rows, cols);
        int centreX = rows / 2;
        int centreY = cols / 2;

        SimpleImage baseFlameImg = renderFlame(baseFlame.makeCopy(), probeSize, false);
        SimpleImage simplifiedBaseFlameImg = RandomFlameGeneratorSampler.createSimplifiedRefImage(baseFlameImg);

        int step = 0;
        for (int i = 0; i < rows; i++) {
          for (int j = 0; j < cols; j++) {
            // Let centre flame untouched
            SimpleImage renderedImg = null;
            if ((i != centreX || j != centreY)) {
              int x = (i - centreX);
              int y = (j - centreY);
              final int MAX_ITER = 10;
              final double MIN_RENDER_COVERAGE = 0.42;
              final double MIN_DIFF_COVERAGE = 0.28;
              final double INVALID_COVERAGE = -1.0;
              int iter = 0;
              double bestCoverage = INVALID_COVERAGE;
              Flame bestMutation = null;
              while (true) {
                Flame currMutation = baseFlame.makeCopy();
                List<MutationType> mutationTypes = createMutationTypes(x, y);
                modifyFlame(currMutation, x, y, mutationTypes);
                renderedImg = renderFlame(currMutation.makeCopy(), probeSize, true);
                double coverage = renderedImg != null ? RandomFlameGeneratorSampler.calculateCoverage(renderedImg, 0, 0, 0, true) : INVALID_COVERAGE;
                if (coverage > MIN_RENDER_COVERAGE) {
                  coverage = RandomFlameGeneratorSampler.calculateDiffCoverage(renderedImg, simplifiedBaseFlameImg);
                }
                if (coverage > MIN_DIFF_COVERAGE) {
                  mutations.add(currMutation);
                  if (doMorph) {
                    Flame morphed = createWeightedFlame(baseFlame, currMutation);
                    renderedImg = renderFlame(morphed, renderSize, false);
                  }
                  else {
                    renderedImg = renderFlame(currMutation, renderSize, false);
                  }
                  break;
                }
                else if (coverage > bestCoverage) {
                  bestCoverage = coverage;
                  bestMutation = currMutation;
                }
                // Don't count invalid mutations
                if (renderedImg != null) {
                  iter++;
                }
                if (iter >= MAX_ITER) {
                  mutations.add(bestMutation);
                  if (doMorph) {
                    Flame morphed = createWeightedFlame(baseFlame, bestMutation);
                    renderedImg = renderFlame(morphed, renderSize, false);
                  }
                  else {
                    renderedImg = renderFlame(bestMutation, renderSize, false);
                  }
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

        }
      }
      if (chooser.showOpenDialog(rootTabbedPane) == JFileChooser.APPROVE_OPTION) {
        File file = chooser.getSelectedFile();
        List<Flame> flames = new FlameReader(prefs).readFlames(file.getAbsolutePath());
        Flame flame = flames.get(0);
        prefs.setLastInputFlameFile(file);
        if (flame != null) {
          importFlame(flame);
        }
      }
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

    int cols = selectedSet.getCols();
    initProgress(rows, cols);
    int step = 0;
    for (int i = 0; i < rows; i++) {
      for (int j = 0; j < cols; j++) {
        Flame mutation = selectedSet.getFlame(i, j).makeCopy();
        Flame morphed = createWeightedFlame(selectedSet.getBaseFlame(), mutation);
        SimpleImage renderedImg = renderFlame(morphed, imgSize, false);
        ImagePanel pnl = imagePanels[i][j];
        pnl.setImage(renderedImg);
        showProgress(++step);
        pnl.invalidate();
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

  }

  public void saveFlameBtn_clicked() {
    if (selectedGenerationIdx >= 0 && selectedGenerationIdx < mutationList.size() && selRow >= 0 && selCol >= 0) {
      MutationSet selectedSet = mutationList.get(selectedGenerationIdx);
      Flame currFlame = selectedSet.getFlame(selRow, selCol);
      try {
        if (currFlame != null) {
          JFileChooser chooser = new FlameFileChooser(prefs);
          if (prefs.getOutputFlamePath() != null) {
            try {
              chooser.setCurrentDirectory(new File(prefs.getOutputFlamePath()));
            }
            catch (Exception ex) {
              ex.printStackTrace();
            }
          }
          if (chooser.showSaveDialog(rootTabbedPane) == JFileChooser.APPROVE_OPTION) {
            File file = chooser.getSelectedFile();
            new FlameWriter().writeFlame(currFlame, file.getAbsolutePath());
            currFlame.setLastFilename(file.getName());
            prefs.setLastOutputFlameFile(file);
          }
        }
      }
      catch (Throwable ex) {
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

      refreshUI();
    }
  }

  public void resetCameraSettings() {
    Flame flame = getCurrFlame();
    if (flame != null) {
      saveUndoPoint();
      flame.resetCameraSettings();
      refreshUI();
    }
  }
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

      refreshUI();
    }
  }

  public void resetDOFSettings() {
    Flame flame = getCurrFlame();
    if (flame != null) {
      saveUndoPoint();
      flame.resetDOFSettings();
      refreshUI();
    }
  }
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

      refreshUI();
    }
  }

  public void resetBokehSettings() {
    Flame flame = getCurrFlame();
    if (flame != null) {
      saveUndoPoint();
      flame.resetBokehSettings();
      refreshUI();
    }
  }
View Full Code Here

Examples of org.jwildfire.create.tina.base.Flame

      refreshUI();
    }
  }

  public void resetColoringSettings() {
    Flame flame = getCurrFlame();
    if (flame != null) {
      saveUndoPoint();
      flame.resetColoringSettings();
      refreshUI();
    }
  }
View Full Code Here
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.