List of usage examples for com.badlogic.gdx.math Vector2 Vector2
public Vector2()
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; }