/*
Vykresleni
 */
package octantKlient;

import draw.circleDialog.CircleDialog;
import draw.circleDialog.shapes.Circle;
import draw.circleDialog.shapes.Line;
import draw.circleDialog.shapes.Point;
import java.awt.Color;
import java.util.ArrayList;
import javax.swing.JDialog;

/**
 *
 * @author Filip Dvorak
 */
public class Vykresleni {

    public static void vykresliKruznice(ArrayList<Kruznice> kruzniceSeStredyVorientacnichBodech) {
        try {
            CircleDialog dialog = new CircleDialog();
            dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
            dialog.setVisible(true);

             //vykresli kruznice
            for (Kruznice aktualniKruznice : kruzniceSeStredyVorientacnichBodech) {
                dialog.addCircle(new Circle(aktualniKruznice.getOrientacnibod().getSouradnice().getSouradniceX().intValue(), aktualniKruznice.getOrientacnibod().getSouradnice().getSouradniceY().intValue(), aktualniKruznice.getPolomerPozitivni().intValue(), Color.yellow));
                dialog.addCircle(new Circle(aktualniKruznice.getOrientacnibod().getSouradnice().getSouradniceX().intValue(), aktualniKruznice.getOrientacnibod().getSouradnice().getSouradniceY().intValue(), aktualniKruznice.getPolomerNegativni().intValue(), Color.red));

            }


        } catch (Exception e) {
            Log.zapisDoLogu(e);
        }

    }

    public static void vykresliKruzniceStredni(ArrayList<Kruznice> kruzniceSeStrednimPolomerem) {
        try {
            CircleDialog dialog = new CircleDialog();
            dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
            dialog.setVisible(true);
            
            //vykresli kruznice
            for (Kruznice aktualniKruznice : kruzniceSeStrednimPolomerem) {
                dialog.addCircle(new Circle(aktualniKruznice.getOrientacnibod().getSouradnice().getSouradniceX().intValue(), aktualniKruznice.getOrientacnibod().getSouradnice().getSouradniceY().intValue(), aktualniKruznice.getPolomerStredni().intValue(), Color.yellow));

            }
        } catch (Exception e) {
            Log.zapisDoLogu(e);
        }

    }

    public static void vykresliPrusecikyBezDuplicit(ArrayList<Prusecik> polePrusecikuBezDuplicit) {

        try {
            CircleDialog dialog = new CircleDialog();
            dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
            dialog.setVisible(true);
            dialog.setName("Vsechny pruseciky");

            //vykresli pruseciky
            for (Prusecik aktualniPrusecik : polePrusecikuBezDuplicit) {
            dialog.addPoint(new Point(aktualniPrusecik.getSouradnice().getSouradniceX().intValue(),aktualniPrusecik.getSouradnice().getSouradniceY().intValue(), Color.red));   
            }
        } catch (Exception e) {
            Log.zapisDoLogu(e);
        }


    }

    public static void vykresliPrusecikyAVyslednyPrusecik(ArrayList<Prusecik> prusecikyVeVsechkruznicich, Prusecik cilovyPrusecik) {
        try {
            CircleDialog dialog = new CircleDialog();
            dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
            dialog.setVisible(true);
            dialog.setName("Pruseciky vysledne ve vsech kruznicich + cilovy");

            //vykresli pruseciky
            for (Prusecik aktualniPrusecik : prusecikyVeVsechkruznicich) {
            dialog.addPoint(new Point(aktualniPrusecik.getSouradnice().getSouradniceX().intValue(),aktualniPrusecik.getSouradnice().getSouradniceY().intValue(), Color.red));   
            }
            
            dialog.addPoint(new Point(cilovyPrusecik.getSouradnice().getSouradniceX().intValue(),cilovyPrusecik.getSouradnice().getSouradniceY().intValue(), Color.BLUE));
            
        } catch (Exception e) {
            Log.zapisDoLogu(e);
        }
        
    }
}
