Package fmg.fmg8.umgebung2D

Examples of fmg.fmg8.umgebung2D.Vektor2D


       
        this.elternMaster = vater;
        this.elternMaster.setzeSegmentFarben(this.gestricheltMerkm);
       
        this.skalierung = 1;
        this.verschiebung = new Vektor2D(Vektor2D.NULL_VEKTOR);
       
        this.markierte = new LinkedList<Integer>();
        this.userSegs = new LinkedList<SegSpez>();
        this.setSize(750, 700);
       
        this.aktDicke = fmg.fmg8.graphVis.zeichenModi.Konstanten.PFEIL_DICKE;
        this.pfeilPol = new Polygon2D();
        this.pars = params;
        this.zeichenArt = new PfeilMaster(this.pars);
        this.segBeschr = new SegSpez[1000];
       
        this.addMouseWheelListener(this);
       
        this.addComponentListener(new ComponentListener() {
            @Override
            public void componentHidden(final ComponentEvent e) {

            }

            @Override
            public void componentMoved(final ComponentEvent e) {

            }

            @Override
            public void componentResized(final ComponentEvent e) {
                ZeichFen.this.neuZeichnen();
            }

            @Override
            public void componentShown(final ComponentEvent e) {
               
            }
        }
        );

        this.addMouseMotionListener(new MouseMotionAdapter() {
            public void mouseDragged(final MouseEvent event) {
                Vektor2D vek = new Vektor2D(
                        (event.getX() - verschiebung.x) / skalierung,
                        (event.getY() - verschiebung.y) / skalierung);
                Vektor2D neu;

                if (ZeichFen.this.vekClick != null) {
                    for (int i = 0; i < ZeichFen.this.pfeilPol.size(); i++) {
                        if (ZeichFen.this.markierte.contains(i)) {
                           
                            neu = new Vektor2D(ZeichFen.this.pfeilPol.get(i));
                            neu.add(vek);
                            neu.sub(ZeichFen.this.ersteEcke);
                           
                            ZeichFen.this.pfeilPol.set(i, neu);
                        }
                    }
                   
                    ZeichFen.this.vekClick
                        = ZeichFen.this.containsPoint(vek);

                    ZeichFen.this.ersteEcke = vek;
                   
                    ZeichFen.this.neuZeichnen();
                } else {
                    ZeichFen.this.zweiteEcke
                        = new Vektor2D(
                                (event.getX() - verschiebung.x) / skalierung,
                                (event.getY() - verschiebung.y) / skalierung);
                   
                    ZeichFen.this.neuZeichnen();
                }
            }
        });

        this.addMouseListener(new MouseAdapter() {
            public void mousePressed(final MouseEvent event) {
                Vektor2D vek = new Vektor2D(
                        (event.getX() - verschiebung.x) / skalierung,
                        (event.getY() - verschiebung.y) / skalierung);
               
                ZeichFen.this.ersteEcke = new Vektor2D(vek);
               
                ZeichFen.this.vekClick
                    = ZeichFen.this.containsPoint(vek);
               
                ZeichFen.this.mark1 = ZeichFen.this.mark2;
                ZeichFen.this.mark2 = ZeichFen.this.pfeilPol.realIndexOf(
                        ZeichFen.this.vekClick);
               
                if (ZeichFen.this.mark1 != null
                        && ZeichFen.this.mark1 < 0) {
                    ZeichFen.this.mark1 = null;
                }
                if (ZeichFen.this.mark2 != null
                        && ZeichFen.this.mark2 < 0) {
                    ZeichFen.this.mark2 = null;
                }
               
                if (ZeichFen.this.mark1 != null
                        && !ZeichFen.this.markierte.contains(
                                ZeichFen.this.mark1)) {
                    ZeichFen.this.markierte.add(ZeichFen.this.mark1);
                }
                if (ZeichFen.this.mark2 != null
                        && !ZeichFen.this.markierte.contains(
                                ZeichFen.this.mark2)) {
                    ZeichFen.this.markierte.add(ZeichFen.this.mark2);
                }
            }
           
            public void mouseClicked(final MouseEvent event) {
                Vektor2D vek = new Vektor2D(
                        (event.getX() - verschiebung.x) / skalierung,
                        (event.getY() - verschiebung.y) / skalierung);

                if (event.getButton() == 3) {
                    skaliere();
                    zentriere();
                    return;
                }
               
                if (ZeichFen.this.containsPoint(vek) == null
                        && (ZeichFen.this.mark1 != null
                        || ZeichFen.this.mark2 != null
                        || ZeichFen.this.markierte.size() > 0)) {
                    ZeichFen.this.markierte.clear();
                    ZeichFen.this.mark1 = null;
                    ZeichFen.this.mark2 = null;
                } else {
                    if (ZeichFen.this.vekClick == null
                            && event.getClickCount() >= 2) {
                        ZeichFen.this.pfeilPol.add(new Vektor2D(vek));
                        ZeichFen.this.dicken.add(ZeichFen.this.aktDicke);
                    }
                }
            }
           
View Full Code Here


        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(4);
        Vektor2D xSub = new Vektor2D(radius * 1.5, 0);
        Vektor2D ySub = new Vektor2D(0, radius * 1.5);
        Vektor2D zwisch;
        zwisch = new Vektor2D(linksOben);
        zwisch.sub(xSub);
        zwisch.sub(ySub);
        quad.add(zwisch);

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

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

        zwisch = new Vektor2D(linksOben.x, linksOben.y);
        zwisch.add(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, Vektor2D.NULL_VEKTOR));
View Full Code Here

     * @return  Die Markierungskreise.
     */
    private LinkedList<Kreis2D> fehlerQuellen(final List<AbstractMsg> liste) {
        LinkedList<Kreis2D> kreise = new LinkedList<Kreis2D>();
        final double radius = 10;
        Vektor2D zwisch;
       
        for (AbstractMsg m : liste) {
            if (m.getZusatz() != null
                    && m.getZusatz().getClass().equals(Vektor2D.class)) {
               
                zwisch = new Vektor2D((Vektor2D) m.getZusatz());
                zwisch.mult(skalierung);
                zwisch.add(verschiebung);
                kreise.add(new Kreis2D(zwisch, radius));
            }
        }
       
        return kreise;
View Full Code Here

    public Polygon2D getGrundPolSpitze() {
        if (this.pfeilPol.size() <= 0) {
            return null;
        }
       
        Vektor2D versch = new Vektor2D(this.pfeilPol.get(0));
        versch.mult(-1);
       
        Vektor2D anfWin = new Vektor2D(this.pfeilPol.get(1));
        anfWin.sub(this.pfeilPol.get(0));
        double winkel = Math.atan(anfWin.x / anfWin.y);
       
        Polygon2D p = (new PfeilMaster(this.pars)).segmentPfeilPol2D(
                this.pfeilPol,
                this.dicken,
                PfeilMaster.EINFACHER_ABSCHLUSS,
                this.anfang,
                new Vektor2D(this.anfFakt, this.anfFakt),
                new Vektor2D(1, 1));
       
        p.verschiebe(versch);
       
        p.skaliere(
                Vektor2D.NULL_VEKTOR,
                new Vektor2D(1 / this.dicken.get(0), 1 / this.dicken.get(0)));
       
        p.drehe(Vektor2D.NULL_VEKTOR, winkel);
       
        return p;
    }
View Full Code Here

                    ausg,
                    0,
                    this.pfeilPol.size() - 1,
                    this.ende,
                    this.anfang,
                    new Vektor2D(this.anfFakt, this.anfFakt),
                    new Vektor2D(this.endFakt, this.endFakt));
           
            this.addSeg(segNeu, false);
        }

        if (this.gestrichelt <= 0) {
            segs = this.zeichenArt.erzeugePfeilsegmente(
                    this.pfeilPol,
                    this.dicken,
                    this.segBeschr,
                    this.pars);
        } else {
            segs = this.zeichenArt.gestrichelterPfeil(
                    this.pfeilPol,
                    this.dicken,
                    this.ende,
                    this.anfang,
                    new Vektor2D(this.anfFakt, this.anfFakt),
                    new Vektor2D(this.endFakt, this.endFakt),
                    this.gestricheltMerkm,
                    this.gestrichelt,
                    this.pars);
        }
       
View Full Code Here

    public PopSnapshot(final List<Roboter> roboter,
                       final List<Vektor2D> ggstVerschbgn,
                       final long ident,
                       final boolean autSp) {
        Roboter aktRob;
        Vektor2D aktVersch;
        Iterator<Roboter> it1 = roboter.iterator();
        Iterator<Vektor2D> it2 = ggstVerschbgn.iterator();
       
        this.verschiebungen = new Vektor2D[ggstVerschbgn.size()];
        this.robSchnapp = new RobSnapshot[roboter.size()];
       
        int i = 0;
        while (it1.hasNext()) {
            aktRob = it1.next();
            this.robSchnapp[i] = new RobSnapshot(aktRob, autSp);
            i++;
        }
       
        i = 0;
        while (it2.hasNext()) {
            aktVersch = it2.next();
            this.verschiebungen[i] = new Vektor2D(aktVersch);
            i++;
        }
       
        this.id = ident;
    }
View Full Code Here

            }
           
            if (this.ersteEcke != null && this.zweiteEcke != null) {
                Polygon2D quad = new Polygon2D(4);
               
                quad.add(new Vektor2D(this.ersteEcke));
                quad.add(new Vektor2D(this.ersteEcke.x, this.zweiteEcke.y));
                quad.add(new Vektor2D(this.zweiteEcke));
                quad.add(new Vektor2D(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 Vektor2D(50, 50), 7));
            } else if (this.fehlerStufe == 1 || !msgsWarning.isEmpty()) {
                liste.addAll(this.ampel(1, new Vektor2D(50, 50), 7));
            } else {
                liste.addAll(this.ampel(0, new Vektor2D(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,
                    "",
                    1,
                    20));
            liste.add(new Integer(50 - 14));
            liste.add(new Integer(130));
            liste.add("" + this.pfeilPol.size());

            liste.add(new Integer(50 + 20));
            liste.add(new Integer(50));
            liste.add(
                    ""
                    + Math.round(this.skalierung * 100)
                    + " %");

            Geometrie2D.maleObjListe(g, liste, this.pars);
            this.elternMaster.setzeSegmentFarben(this.gestricheltMerkm);
           
        } catch (final Exception e) {
            liste.addAll(this.ampel(2, new Vektor2D(50, 50), 7));
            Geometrie2D.maleObjListe(g, liste, this.pars);
            SonstMeth.log(
                    SonstMeth.LOG_ERROR,
                    "Fehler beim Zeichnen des Pfeils: ",
                    this.pars);
View Full Code Here

     * @param bezKonst  Die Bezierkonstante.
     */
    public void bezier(final double bezKonst) {
        double bezK = bezKonst;
        Polygon2D bez;
        Vektor2D v1, v2, v3, v4;
        ArrayList<Integer> mark = new ArrayList<Integer>(4);
       
        if (bezK > 1) {
            bezK = fmg.fmg8.graphVis.zeichenModi.Konstanten.BEZ_NORMAL;
        }
View Full Code Here

                aktSeg,
                m1,
                m2,
                polEnde,
                polAnfang,
                new Vektor2D(this.anfFakt, this.anfFakt),
                new Vektor2D(this.endFakt, this.endFakt));
       
        this.addSeg(neu, true);
        this.userSegs.add(neu);
    }
View Full Code Here

        double yF = this.getHeight();
        List<Object> objekte = this.erzeugeZeichenObjekte(
                1,
                Vektor2D.NULL_VEKTOR);
       
        Vektor2D pLO
            = new Vektor2D(Geometrie2D.rahmen(objekte).get(0));
        Vektor2D pRU
            = new Vektor2D(Geometrie2D.rahmen(objekte).get(1));
       
        this.skalierung =
            Math.min(xF / (pRU.x - pLO.x), yF / (pRU.y - pLO.y));
        this.skalierung /= 1.2;
    }
View Full Code Here

TOP

Related Classes of fmg.fmg8.umgebung2D.Vektor2D

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.