Example usage for com.badlogic.gdx.math Vector2 Vector2

List of usage examples for com.badlogic.gdx.math Vector2 Vector2

Introduction

In this page you can find the example usage for com.badlogic.gdx.math Vector2 Vector2.

Prototype

public Vector2() 

Source Link

Document

Constructs a new vector at (0,0)

Usage

From source file:CB_UI_Base.GL_UI.Controls.ZoomButtons.java

License:Open Source License

@Override
public void onResized(CB_RectF rec) {
    // rect auf Teilen in zwei gleich groe
    HitRecUp = rec.copy();/*from   www.j a v a  2s .  c o m*/
    HitRecUp.setPos(new Vector2()); // setze auf 0,0
    HitRecDown = rec.copy();
    HitRecDown.setPos(new Vector2()); // setze auf 0,0

    if (portrait) {
        HitRecUp.setHeight(rec.getHeight() / 2f);
        HitRecDown.setHeight(rec.getHeight() / 2f);
        HitRecUp.setPos(new Vector2(0, HitRecDown.getHeight()));
    } else {
        HitRecUp.setWidth(rec.getWidth() / 2f);
        HitRecDown.setWidth(rec.getWidth() / 2f);
        HitRecUp.setPos(new Vector2(HitRecDown.getWidth(), 0));
    }

}

From source file:CB_UI_Base.graphics.Geometry.Quadrangle.java

License:Open Source License

/**
 * returns the Join geometry for the two given Quadrangle <br>
 * returns NULL, if the end point of qua non equals start point of qua2 ( like not closed)
 * //from w ww  .  ja  v  a  2 s.  c  o  m
 * @param qua
 * @param qua2
 * @param join
 * @return
 */
public static IGeometry getJoin(Quadrangle qua, Quadrangle qua2, Join join) {
    if (qua.cor == null || qua2.cor == null || qua.cor[2] != qua2.cor[0] || qua.cor[3] != qua2.cor[1])
        return null;// Can't calculate

    float JoinX = qua.cor[2];
    float JoinY = qua.cor[3];

    float Out1StartX;
    float Out1StartY;
    float Out1EndX;
    float Out1EndY;

    if (qua2.containsPoint(qua.vertices[4], qua.vertices[5])) {
        Out1StartX = qua.vertices[6];
        Out1StartY = qua.vertices[7];
        Out1EndX = qua.vertices[0];
        Out1EndY = qua.vertices[1];
    } else {
        Out1StartX = qua.vertices[4];
        Out1StartY = qua.vertices[5];
        Out1EndX = qua.vertices[2];
        Out1EndY = qua.vertices[3];
    }

    float Out2StartX;
    float Out2StartY;
    float Out2EndX;
    float Out2EndY;

    if (qua.containsPoint(qua2.vertices[0], qua2.vertices[1])) {
        Out2StartX = qua2.vertices[2];
        Out2StartY = qua2.vertices[3];
        Out2EndX = qua2.vertices[4];
        Out2EndY = qua2.vertices[5];
    } else {
        Out2StartX = qua2.vertices[0];
        Out2StartY = qua2.vertices[1];
        Out2EndX = qua2.vertices[6];
        Out2EndY = qua2.vertices[7];
    }

    float r = new Line(JoinX, JoinY, Out1StartX, Out1StartY).length();

    switch (join) {
    case BEVEL:
        // return Triangle Out1, Out2, Join
        return new Triangle(Out1StartX, Out1StartY, Out2StartX, Out2StartY, JoinX, JoinY);

    case MITER:
        // return Quadrangle Out1, Out2, Join, mirrored Join

        // get intersection of outer lines
        Vector2 intersection = new Vector2();
        boolean intersect = Intersector.intersectLines(Out1StartX, Out1StartY, Out1EndX, Out1EndY, Out2StartX,
                Out2StartY, Out2EndX, Out2EndY, intersection);

        if (!intersect) {// no intersection, then return BEVEL
            return new Triangle(Out1StartX, Out1StartY, Out2StartX, Out2StartY, JoinX, JoinY);
        }

        // chek Line length
        Line li = new Line(JoinX, JoinY, intersection.x, intersection.y);
        Line li2 = new Line(qua2.vertices[0], qua2.vertices[1], qua2.vertices[6], qua2.vertices[7]);
        if (li.length() > li2.length()) {
            // TODO cut the Triangle

            // use BEVEL, is wrong and must change
            return new Triangle(Out1StartX, Out1StartY, Out2StartX, Out2StartY, JoinX, JoinY);
        }

        return new Quadrangle(JoinX, JoinY, Out1StartX, Out1StartY, intersection.x, intersection.y, Out2StartX,
                Out2StartY);

    case ROUND:

        return new Circle(JoinX, JoinY, r, true);
    default:

        return new Circle(JoinX, JoinY, r, true);

    }
}

From source file:CB_UI_Base.Math.CB_RectF.java

License:Open Source License

/**
 * Gibt den ersten Schnittpunkt des Rechtecks zwichen den Punkten P1 und P2 zurck! </br> Wobei die als int bergebene Nummer der
 * Gerade des Rechtecks als erstes berprft wird. </br> <img src="doc-files/rec-intersection.png" width=537 height=307>
 * //from   www. ja  v a2 s. co  m
 * @param P1
 *            = start Punkt der Linie
 * @param P2
 *            = End Punkt der Line
 * @param first
 * @return Punkt (b) wenn first=1 </br> Punkt (a) wenn first=2,3 oder 4 </br>
 */
public Vector2 getIntersection(Vector2 P1, Vector2 P2, int first) {

    // Array mit Geraden Nummern fllen
    if (Geraden.size() < 4) {
        Geraden.add(1);
        Geraden.add(2);
        Geraden.add(3);
        Geraden.add(4);
    }

    Geraden.MoveItemFirst(Geraden.indexOf(first));

    Vector2 ret = new Vector2();

    for (int i = 0, n = Geraden.size(); i < n; i++) {
        switch (Geraden.get(i)) {
        case 1:

            if (com.badlogic.gdx.math.Intersector.intersectSegments(P1, P2,
                    new Vector2(this.member[0], this.member[1]), new Vector2(this.member[6], this.member[1]),
                    ret)) {
                if (contains(ret))
                    return ret; // 1 unten
            }
            break;

        case 2:
            if (com.badlogic.gdx.math.Intersector.intersectSegments(P1, P2,
                    new Vector2(this.member[0], this.member[1]), new Vector2(this.member[0], this.member[7]),
                    ret)) {
                if (contains(ret))
                    return ret; // 2 links
            }
            break;

        case 3:
            if (com.badlogic.gdx.math.Intersector.intersectSegments(P1, P2,
                    new Vector2(this.member[6], this.member[7]), new Vector2(this.member[6], this.member[1]),
                    ret)) {
                if (contains(ret))
                    return ret; // 3 rechts
            }

            break;

        case 4:
            if (com.badlogic.gdx.math.Intersector.intersectSegments(P1, P2,
                    new Vector2(this.member[6], this.member[7]), new Vector2(this.member[0], this.member[7]),
                    ret)) {
                if (contains(ret))
                    return ret; // 4 oben
            }
            break;
        }
    }

    return null;
}

From source file:CB_UI_Base.Math.GL_UISizes.java

License:Open Source License

/**
 * Initialisiert die Gren und Positionen der UI-Elemente der OpenGL Map, anhand der bergebenen Gre und des Eingestellten DPI Faktors.
 * /*from www .java 2 s  .  c o  m*/
 * @param width
 * @param height
 */
public static void initial(float width, float height) {

    Log.debug(log, "Initial UISizes => " + width + "/" + height);
    Log.debug(log, "DPI = " + DPI);

    if (DPI != CB_UI_Base_Settings.MapViewDPIFaktor.getValue()
            || FontFaktor != CB_UI_Base_Settings.MapViewFontFaktor.getValue()) {

        DPI = CB_UI_Base_Settings.MapViewDPIFaktor.getValue();

        Log.debug(log, "DPI != MapViewDPIFaktor " + DPI);

        FontFaktor = (float) (0.666666666667 * DPI * CB_UI_Base_Settings.MapViewFontFaktor.getValue());
        isInitial = false; // Grssen mssen neu berechnet werden
    }

    Log.debug(log, "Initial UISizes => isInitial" + isInitial);

    if (SurfaceSize == null) {
        SurfaceSize = new CB_RectF(0, 0, width, height);
        GL_UISizes tmp = new GL_UISizes();
        SurfaceSize.Add(tmp);

    } else {
        if (SurfaceSize.setSize(width, height)) {
            // Surface grsse hat sich gendert, die Positionen der UI-Elemente mssen neu Berechnet werden.
            calcSizes();
            calcPos();
        }
    }

    if (Info == null)
        Info = new CB_RectF();
    if (Toggle == null)
        Toggle = new CB_RectF();
    if (ZoomBtn == null)
        ZoomBtn = new CB_RectF();
    if (Compass == null)
        Compass = new CB_RectF();
    if (InfoLine1 == null)
        InfoLine1 = new Vector2();
    if (InfoLine2 == null)
        InfoLine2 = new Vector2();
    if (Bubble == null)
        Bubble = new SizeF();
    if (bubbleCorrect == null)
        bubbleCorrect = new SizeF();
    if (!isInitial) {
        calcSizes();

        CB_UI_Base_Settings.nightMode.addChangedEventListener(new IChanged() {

            @Override
            public void isChanged() {
                Fonts.setNightMode(CB_UI_Base_Settings.nightMode.getValue());
            }
        });

        try {
            Fonts.loadFonts(CB_Skin.INSTANCE);
        } catch (Exception e) {
            e.printStackTrace();
        }

        calcPos();

        isInitial = true;

    }
}

From source file:coder5560.gdxai.SteeringActor.java

License:Apache License

public SteeringActor(TextureRegion region, boolean independentFacing) {
    this.independentFacing = independentFacing;
    this.region = region;
    this.position = new Vector2();
    this.linearVelocity = new Vector2();
    this.setBounds(0, 0, region.getRegionWidth(), region.getRegionHeight());
    this.boundingRadius = (region.getRegionWidth() + region.getRegionHeight()) / 4f;
    this.setOrigin(region.getRegionWidth() * .5f, region.getRegionHeight() * .5f);
}

From source file:com.ahsgaming.valleyofbones.map.HexMap.java

License:Apache License

public static Vector2 mapToBoardCoords(MapData data, float x, float y) {
    Vector2 boardCoords = new Vector2();

    float dx;//from   w w  w  . j  a  v  a  2s . c o  m
    float dy = y / (data.tileSize.y * 0.75f);
    float mx = x % data.tileSize.x;
    float my = y % (data.tileSize.y * 0.75f);

    boardCoords.y = (float) Math.floor(dy);
    if (my < data.tileSize.y * 0.25) {
        if (Math.floor(dy) % 2 == 1) {
            mx = (x - data.tileSize.x * 0.5f) % data.tileSize.x;
        }

        // if (mx, my) <= (y = -0.5x + .25 * Th) or (mx, my) <= (y = 0.5x - 0.25 * Th)
        if (my <= -0.5 * mx + 0.25f * data.tileSize.y || my <= 0.5 * mx - 0.25 * data.tileSize.y) {
            boardCoords.y -= 1;
        }
    }

    if (boardCoords.y % 2 == 1) {
        dx = (x - data.tileSize.x * 0.5f) / data.tileSize.x;
    } else {
        dx = x / data.tileSize.x;
    }
    boardCoords.x = (float) Math.floor(dx);

    return boardCoords;
}

From source file:com.alma42.mapgen.utils.CameraHelper.java

License:Apache License

public CameraHelper() {
    this.position = new Vector2();
    this.zoom = 1.0f;
}

From source file:com.altportalgames.colorrain.utils.Box2DDebugRenderer.java

License:Apache License

public Box2DDebugRenderer() {
    // next we setup the immediate mode renderer
    renderer = new ImmediateModeRenderer();

    // next we create a SpriteBatch and a font
    batch = new SpriteBatch();
    // font = Gdx.graphics.newFont("Arial", 12, FontStyle.Plain);

    // initialize vertices array
    for (int i = 0; i < vertices.length; i++)
        vertices[i] = new Vector2();
}

From source file:com.anhld.object.AbstractGameObject.java

License:Apache License

public AbstractGameObject() {
    position = new Vector2();
    dimension = new Vector2(1, 1);
    origin = new Vector2();
    scale = new Vector2(1, 1);
    rotation = 0;//  w  w w .  ja  v  a2  s  . c  om
    velocity = new Vector2();
    terminalVelocity = new Vector2(1, 1);
    friction = new Vector2();
    acceleration = new Vector2();
    bounds = new Rectangle();
}

From source file:com.anhld.util.CameraHelper.java

License:Apache License

public CameraHelper() {
    position = new Vector2();
    zoom = 1.0f;
}