Package eas.startSetup.marbBuilder.zeichenModi

Examples of eas.startSetup.marbBuilder.zeichenModi.AusgMerkm


        Iterator<Object> it;
        Object           obj;
        int              x;
        int              y;
        String           str;
        AusgMerkm  ausgabe;
        Circle2D          kreis;
        boolean          fuellungDrucken = ConstantsZeichenModi.STANDARD_FUELL_DRUCKEN;
        boolean          rahmenDrucken   = ConstantsZeichenModi.STANDARD_RAHMEN_DRUCKEN;
        Color            fuellungFarbe   = ConstantsZeichenModi.STANDARD_FUELL_FARBE;
        Color            rahmenFarbe     = ConstantsZeichenModi.STANDARD_RAHMEN_FARBE;
        String           schriftart;
        int              schriftstil;
        int              schriftgroesse;
        GradientPaint    gp = null;
       
        Graphics2D g2 = (Graphics2D) g;
        BasicStroke s1 = new BasicStroke(BasicStroke.JOIN_MITER);
//        BasicStroke s2 = new BasicStroke(BasicStroke.CAP_BUTT);
       
//        if (params.getEinfacheDar()) {
//            g2.setStroke(s2);
//        } else {
        g2.setStroke(s1);
//        }

        it = polListe.iterator();
        while (it.hasNext()) {
            obj = it.next();
            if (obj.getClass().equals(Polygon.class)) {
                if (fuellungDrucken) {
                    if (gp == null) {
                        g2.setColor(fuellungFarbe);
                    } else {
                        g2.setPaint(gp);
                    }
                   
                    g2.fillPolygon((Polygon) obj);
                }
                if (rahmenDrucken) {
                    g2.setColor(rahmenFarbe);
                    g2.drawPolygon((Polygon) obj);
                }
            } else if (obj.getClass().equals(Circle2D.class)) {
                kreis = (Circle2D) obj;
                if (fuellungDrucken) {
                    if (gp == null) {
                        g2.setColor(fuellungFarbe);
                    } else {
                        g2.setPaint(gp);
                    }
                    g2.fillOval(
                            (int) (kreis.getCenter().x - kreis.getRadius()),
                            (int) (kreis.getCenter().y - kreis.getRadius()),
                            (int) (kreis.getRadius() * 2),
                            (int) (kreis.getRadius() * 2));
                }
                if (rahmenDrucken) {
                    g2.setColor(rahmenFarbe);
                    g2.drawOval(
                            (int) (kreis.getCenter().x - kreis.getRadius()),
                            (int) (kreis.getCenter().y - kreis.getRadius()),
                            (int) (kreis.getRadius() * 2),
                            (int) (kreis.getRadius() * 2));
                }
            } else if (obj.getClass().equals(AusgMerkm.class)) {
                ausgabe         = (AusgMerkm) obj;
                fuellungDrucken = ausgabe.holeFuellungDrucken();
                rahmenDrucken   = ausgabe.holeRahmenDrucken();
                fuellungFarbe   = ausgabe.getFuellFarbe();
                rahmenFarbe     = ausgabe.getRahmenFarbe();
                schriftart      = ausgabe.getFontName();
                schriftstil     = ausgabe.getFontStyle();
                schriftgroesse  = ausgabe.getFontSize();
                g2.setFont(new Font(schriftart, schriftstil, schriftgroesse));
               
                gp = ausgabe.getGradPaint();
            } else {
                x   = ((Integer) obj).intValue();
                obj = it.next();
                y   = ((Integer) obj).intValue();
                obj = it.next();
View Full Code Here


    public static List<Object> erzeugeObjList(
            final Pol2DMitAusgMerkm[] polAusg,
            final double skalierung,
            final Vector2D versch) {
        List<Object> oL = new ArrayList<Object>(2 * polAusg.length);
        AusgMerkm aktAusg;
        Polygon2D aktPol;
        Point2D p1;
        Point2D p2;
        GradientPaint grad;
        Color fuell, rahmen;
       
        for (int i = 0; i < polAusg.length; i++) {
            if (polAusg[i] != null) {
                aktAusg = polAusg[i].getAusg();
                aktPol = polAusg[i].getPol();
               
                if (aktAusg != null) {
                    if (aktAusg.getGradPaint() != null) {
                        p1 = aktAusg.getGradPaint().getPoint1();
                        p2 = aktAusg.getGradPaint().getPoint2();
   
                        grad = new GradientPaint(
                                (int) (p1.getX() * skalierung),
                                (int) (p1.getY() * skalierung),
                                aktAusg.getGradPaint().getColor1(),
                                (int) (p2.getX() * skalierung),
                                (int) (p2.getY() * skalierung),
                                aktAusg.getGradPaint().getColor2());
                       
                        fuell = aktAusg.getFuellFarbe();
                        rahmen = aktAusg.getRahmenFarbe();
                       
                        aktAusg = new AusgMerkm(
                                grad,
                                aktAusg.holeRahmenDrucken(),
                                aktAusg.holeFuellungDrucken());
                       
                        aktAusg.setFuellFarbe(fuell);
                        aktAusg.setRahmenFarbe(rahmen);
                    }
                   
                    oL.add(aktAusg);
                }
               
View Full Code Here

                    ausg1 = JColorChooser.showDialog(this,
                            "Rahmenfarbe wählen", ausg1);
                    ausg2 = JColorChooser.showDialog(this, "F�llfarbe wählen",
                            ausg2);

                    this.aktAusg = new AusgMerkm(ausg1, ausg2, ausg1 != null,
                            ausg2 != null);

                    this.aktGrph.setzeAktSegAusg(this.aktAusg);
                } else if (cmd.equals("Speichern...")) {
                    GeneralDialog diaAllg;
View Full Code Here

        this.anfang = ArrowMaster.EINFACHE_SPITZE_1;
        this.anfFakt = 1;
        this.endFakt = 1;
      
        this.gestricheltMerkm = new AusgMerkm[2];
        this.gestricheltMerkm[0] = new AusgMerkm(
                Color.black,
                Color.blue,
                true,
                true);
        this.gestricheltMerkm[1] = new AusgMerkm(
                Color.black,
                Color.yellow,
                true,
                true);
       
View Full Code Here

            final int stufe,
            final Vector2D linksOben,
            final double radius) {
       
        ArrayList<Object> liste = new ArrayList<Object>(6);
        AusgMerkm ausgGRUENAktiv = new AusgMerkm(
                Color.black, Color.green, true, true);
        AusgMerkm ausgGELBAktiv = new AusgMerkm(
                Color.black, Color.yellow, true, true);
        AusgMerkm ausgROTAktiv = new AusgMerkm(
                Color.black, Color.red, true, true);
        AusgMerkm ausgGRUENPassiv = new AusgMerkm(
                Color.black, new Color(200, 200, 200), true, true);
        AusgMerkm ausgGELBPassiv = new AusgMerkm(
                Color.black, new Color(200, 200, 200), true, true);
        AusgMerkm ausgROTPassiv = new AusgMerkm(
                Color.black, new Color(200, 200, 200), true, true);
        Polygon2D quad = new Polygon2D();
        Vector2D xSub = new Vector2D(radius * 1.5, 0);
        Vector2D ySub = new Vector2D(0, radius * 1.5);
        Vector2D zwisch;
        zwisch = new Vector2D(linksOben);
        zwisch.sub(xSub);
        zwisch.sub(ySub);
        quad.add(zwisch);

        zwisch = new Vector2D(linksOben.x, linksOben.y + radius * 4 + radius);
        zwisch.sub(xSub);
        zwisch.translate(ySub);
        quad.add(zwisch);

        zwisch = new Vector2D(linksOben.x, linksOben.y + radius * 4 + radius);
        zwisch.translate(xSub);
        zwisch.translate(ySub);
        quad.add(zwisch);

        zwisch = new Vector2D(linksOben.x, linksOben.y);
        zwisch.translate(xSub);
        zwisch.sub(ySub);
        quad.add(zwisch);
       
        AusgMerkm zwAusg = new AusgMerkm(Color.black, Color.black, true, true);
        liste.add(zwAusg);
        liste.add(quad.toPol(1, Vector2D.NULL_VECTOR));
       
        Circle2D k1 = new Circle2D(
                linksOben.x,
View Full Code Here

            final double skal,
            final Vector2D versch) {
        List<Object> liste = new ArrayList<Object>();
        Pol2DMitAusgMerkm[] segs;
       
        AusgMerkm ausg = new AusgMerkm(
                Color.black,
                Color.white,
                true,
                true);
View Full Code Here

            liste = this.erzeugeZeichenObjekte(
                    this.skalierung,
                    this.verschiebung);

            if (this.markiereEcken) {
                AusgMerkm unmark1 = new AusgMerkm(
                        Color.black,
                        Color.white,
                        true,
                        true);
                AusgMerkm unmark2 = new AusgMerkm(
                        Color.black,
                        Color.white,
                        false,
                        false);
                AusgMerkm m1 = new AusgMerkm(
                        Color.black,
                        Color.red,
                        true,
                        true);
                AusgMerkm m2 = new AusgMerkm(
                        Color.black,
                        Color.yellow,
                        true,
                        true);
               
                ArrayList<Integer> markierung
                    = new ArrayList<Integer>(this.markierte.size());
               
                for (int i : this.markierte) {
                    markierung.add(i);
                }
               
                this.zeichenArt.markiereEcken(
                        this.pfeilPol.toPol(
                                this.skalierung,
                                this.verschiebung),
                        liste,
                        markierung,
                        m2,
                        unmark1,
                        4);
               
                markierung.clear();
               
                markierung.add(this.mark1);
                markierung.add(this.mark2);

                this.zeichenArt.markiereEcken(
                        this.pfeilPol.toPol(
                                this.skalierung,
                                this.verschiebung),
                        liste,
                        markierung,
                        m1,
                        unmark2,
                        4);
            }
           
            if (this.ersteEcke != null && this.zweiteEcke != null) {
                Polygon2D quad = new Polygon2D();
               
                quad.add(new Vector2D(this.ersteEcke));
                quad.add(new Vector2D(this.ersteEcke.x, this.zweiteEcke.y));
                quad.add(new Vector2D(this.zweiteEcke));
                quad.add(new Vector2D(this.zweiteEcke.x, this.ersteEcke.y));
               
                liste.add(new AusgMerkm(
                        Color.lightGray,
                        Color.black,
                        true,
                        false));
                liste.add(quad.toPol(this.skalierung, this.verschiebung));
            }
           
            LinkedList<AbstractMsg> msgsError
                = this.pars.getMsgs(
                    (new MsgError(null, 0, null)).getType(),
                    zeit,
                    Long.MAX_VALUE);

            LinkedList<AbstractMsg> msgsWarning
                = this.pars.getMsgs(
                    (new MsgWarning(null, 0, null)).getType(),
                    zeit,
                    Long.MAX_VALUE);

            if (this.fehlerStufe == 2 || !msgsError.isEmpty()) {
                liste.addAll(this.ampel(2, new Vector2D(50, 50), 7));
            } else if (this.fehlerStufe == 1 || !msgsWarning.isEmpty()) {
                liste.addAll(this.ampel(1, new Vector2D(50, 50), 7));
            } else {
                liste.addAll(this.ampel(0, new Vector2D(50, 50), 7));
            }
           
            liste.add(new AusgMerkm(
                    Color.black,
                    Color.red,
                    true,
                    true));
            liste.addAll(this.fehlerQuellen(msgsError));
            liste.addAll(this.fehlerQuellen(msgsWarning));

            liste.add(new AusgMerkm(
                    Color.black,
                    Color.black,
                    true,
                    true,
                    "",
View Full Code Here

        for (double i = bez2.size() - p2; i < bez2.size(); i++) {
            dicken2.add((bez2.size() - i) / 2 + 125);
        }
       
        AusgMerkm[] strichelung = new AusgMerkm[] {
                new AusgMerkm(Color.black, Color.white, true, false),
                new AusgMerkm(Color.black, Color.white, true, true) };

        Pol2DMitAusgMerkm[] pols = new ArrowMaster(GlobalVariables.getPrematureParameters())
                .gestrichelterPfeil(
                        bez2,
                        dicken2,
View Full Code Here

        double schrittY;
        double dicke = 2;
        ArrowMaster master = new ArrowMaster(params);
        LinkedList<Object> zeichenObjekte = new LinkedList<Object>();
        AusgMerkm[] merkmale = new AusgMerkm[2];
        merkmale[0] = new AusgMerkm(Color.black, Color.black, true, true);
        merkmale[1] = new AusgMerkm(Color.white, Color.white, false, false);
        Polygon2D rahmen = new Polygon2D();
        Polygon2D balkenOben = new Polygon2D();
        Polygon2D balkenUnten = new Polygon2D();
        Polygon2D durchschnitt;
        double strichweiteX = 25;
        int glAbst = 50; // TODO: Gleitender Durchschnitt.
       
        if (werte == null || werte.size() == 0) {
            return null;
        }
       
        // Maxima suchen:
        for (ArrayList<Double> liste : werte) {
            if (maxX < 0) {
                maxX = liste.size();
            }
            if (maxX != liste.size()) {
                throw new RuntimeException("Listen haben ungleiche Länge.");
            }
            for (double d : liste) {
                if (d > maxY) {
                    maxY = d;
                }
                if (d < minY) {
                    minY = d;
                }
            }
        }

        // Falls Fitnesswerte alle auf einer Konstanten liegen:
        if (Math.abs(maxY - minY) < 0.0000001) {
            maxY = minY + 0.0000001;
        }
       
        rahmen.add(new Vector2D(0, 0));
        rahmen.add(new Vector2D(0, hoehe));
        rahmen.add(new Vector2D(breite, hoehe));
        rahmen.add(new Vector2D(breite, 0));
        balkenOben.add(new Vector2D(0, -1));
        balkenOben.add(new Vector2D(breite, -1));
        balkenOben.add(new Vector2D(breite, -60));
        balkenOben.add(new Vector2D(0, -60));
        balkenUnten.add(new Vector2D(0, hoehe + 1));
        balkenUnten.add(new Vector2D(breite, hoehe + 1));
        balkenUnten.add(new Vector2D(breite, hoehe + 60));
        balkenUnten.add(new Vector2D(0, hoehe + 60));
       
        schrittX = breite / maxX;
        schrittY = hoehe / (maxY - minY);
       
        // Nulllinie:
        ArrayList<Double> dicken = new ArrayList<Double>(
                (int) Math.round(maxX) + 1);
       
        zeichenObjekte.add(
                new AusgMerkm(Color.black, Color.black, true, true));
        Polygon2D nulllinie = new Polygon2D();
        nulllinie.add(new Vector2D(0, hoehe - (0 - minY) * schrittY));
        nulllinie.add(new Vector2D(breite, hoehe - (0 - minY) * schrittY));
        Polygon nullPol = master.segmentPfeilPol(
                nulllinie,
                null,
                ArrowMaster.EINFACHER_ABSCHLUSS,
                ArrowMaster.EINFACHER_ABSCHLUSS,
                new Vector2D(1, 1),
                new Vector2D(1, 1),
                1,
                Vector2D.NULL_VECTOR);
       
        // Einzelne Werte.
        zeichenObjekte.add(
                new AusgMerkm(Color.LIGHT_GRAY, Color.LIGHT_GRAY, true, true));
        for (ArrayList<Double> liste : werte) {
            Polygon2D pol = new Polygon2D();
            dicken = new ArrayList<Double>(liste.size() + 1);
//            Pol2DMitAusgMerkm[] gestrichelt;
            double x = 0;
           
            for (double d : liste) {
                pol.add(new Vector2D(x, hoehe - (d - minY) * schrittY));
                x += schrittX;
            }
//            pol = pol.normalisiere();
            for (int i = 0; i < pol.nPoints(); i++) {
                dicken.add(dicke);
            }
           
//            gestrichelt = master.gestrichelterPfeil(
//                    pol,
//                    dicken,
//                    PfeilMaster.EINFACHER_ABSCHLUSS,
//                    PfeilMaster.EINFACHER_ABSCHLUSS,
//                    new Vektor2D(1, 1),
//                    new Vektor2D(1, 1),
//                    merkmale,
//                    10000,
//                    params);
           
            pol = master.segmentPfeilPol2D(
                    pol,
                    dicken,
                    ArrowMaster.EINFACHER_ABSCHLUSS,
                    ArrowMaster.EINFACHER_ABSCHLUSS,
                    new Vector2D(1, 1),
                    new Vector2D(1, 1));
            zeichenObjekte.add(pol.toPol());
           
//            for (Pol2DMitAusgMerkm pa : gestrichelt) {
//                if (pa != null) {
//                    zeichenObjekte.add(pa.getAusg());
//                    zeichenObjekte.add(pa.getPol().toPol());
//                }
//            }
        }

        // Durchschnittslinie:
        double maxDurch = Double.MIN_VALUE;
        double maxGleit = Double.MIN_VALUE;
       
        zeichenObjekte.add(
                new AusgMerkm(
                        Color.black,
                        new Color(185, 0, 0),
                        true,
                        true));
        durchschnitt = new Polygon2D();
        dicken = new ArrayList<Double>(
                (int) Math.round(maxX) + 1);
        double x = 0;
       
        for (int i = 0; i < maxX; i++) {
            double durchWert = 0;
           
            for (ArrayList<Double> liste : werte) {
                durchWert += liste.get(i);
            }
           
            durchWert /= werte.size();

            if (maxDurch < durchWert) {
                maxDurch = durchWert;
            }
           
            durchschnitt.add(new Vector2D(x, hoehe - (durchWert - minY) * schrittY));
            x += schrittX;
        }

//        durchschnitt = durchschnitt.normalisiere();
        for (int i = 0; i < durchschnitt.nPoints(); i++) {
            dicken.add(dicke * 2);
        }
       
        Polygon durchPol = master.segmentPfeilPol(
                durchschnitt,
                dicken,
                ArrowMaster.EINFACHER_ABSCHLUSS,
                ArrowMaster.EINFACHER_ABSCHLUSS,
                new Vector2D(1, 1),
                new Vector2D(1, 1),
                1,
                Vector2D.NULL_VECTOR);

        zeichenObjekte.add(durchPol);

        // Gleitender Durchschnitt.
        ArrayList<Double> durch = new ArrayList<Double>(werte.get(0).size());
        ArrayList<Double> dickenGleit = new ArrayList<Double>(durch.size());
       
        for (int i = 0; i < maxX; i++) { // Durchschnitt.
            double durchWert = 0;
           
            for (ArrayList<Double> liste : werte) {
                durchWert += liste.get(i);
            }
           
            durch.add(durchWert / werte.size());
        }
       
        ArrayList<Double> gleit = MiscMath.glDurchSchn(durch, glAbst);
       
        // Maximum suchen.
        for (double d : gleit) {
            if (d > maxGleit) {
                maxGleit = d;
            }
        }
       
        Polygon2D gleitPol = new Polygon2D();
        x = schrittX * glAbst;
       
        for (double glWert : gleit) {
            gleitPol.add(new Vector2D(x, hoehe - (glWert - minY) * schrittY));
            dickenGleit.add(dicke * 4);
            x += schrittX;
        }
       
        Polygon gleitP = master.segmentPfeilPol(
                gleitPol,
                dickenGleit,
                ArrowMaster.EINFACHER_ABSCHLUSS,
                ArrowMaster.EINFACHER_ABSCHLUSS,
                new Vector2D(1, 1),
                new Vector2D(1, 1),
                1,
                Vector2D.NULL_VECTOR);
       
        zeichenObjekte.add(
                new AusgMerkm(Color.white, Color.black, true, true));
        zeichenObjekte.add(gleitP);

        // Umrisse und Linien:
        zeichenObjekte.add(
                new AusgMerkm(Color.white, Color.white, true, true));
        zeichenObjekte.add(balkenOben.toPol());
        zeichenObjekte.add(balkenUnten.toPol());
        zeichenObjekte.add(
                new AusgMerkm(Color.black, Color.white, true, false));
        zeichenObjekte.add(rahmen.toPol());
        zeichenObjekte.add(nullPol);

        // Beschriftungen:
        if (beschriftungen != null) {
            Polygon2D strichPol2D;
            Polygon strichPol;
            zeichenObjekte.add(new AusgMerkm(
                    Color.black,
                    Color.black,
                    true,
                    true,
                    "",
                    0,
                    20));
           
            for (double d = 0; d < maxX; d += strichweiteX) {
                strichPol2D = new Polygon2D();
                dicken = new ArrayList<Double>(2);
                strichPol2D.add(new Vector2D(d * schrittX, hoehe - 5));
                strichPol2D.add(new Vector2D(d * schrittX, hoehe + 5));
                dicken.add(dicke);
                dicken.add(dicke);
               
                strichPol = master.segmentPfeilPol(
                        strichPol2D,
                        dicken,
                        ArrowMaster.EINFACHER_ABSCHLUSS,
                        ArrowMaster.EINFACHER_ABSCHLUSS,
                        new Vector2D(1, 1),
                        new Vector2D(1, 1),
                        1,
                        Vector2D.NULL_VECTOR);
               
                zeichenObjekte.add((int) (d * schrittX));
                zeichenObjekte.add((int) (hoehe + 25));
                zeichenObjekte.add(
                        beschriftungen.get((int) (d)));
               
                zeichenObjekte.add(strichPol);
            }
           
            zeichenObjekte.add(0);
            zeichenObjekte.add(-10);
            zeichenObjekte.add("" + maxY);
           
            // überschrift:
            zeichenObjekte.add(0);
            zeichenObjekte.add(-40);
            zeichenObjekte.add(
                    ueberschrift
                    + " (MaxDurch: "
                    + maxDurch
                    + " / MaxGleit: "
                    + maxGleit
                    + ")");
        }

        // Güte (muss zuletzt kommen!):
        if (gueteTest.guteGuete(gleit)) {
            zeichenObjekte.add(new AusgMerkm(
                    Color.red,
                    Color.red,
                    true,
                    true,
                    "",
View Full Code Here

TOP

Related Classes of eas.startSetup.marbBuilder.zeichenModi.AusgMerkm

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.