public class Polygon extends Shape
Constructor and Description |
---|
Polygon(float[] vertices)
Constructor.
|
Polygon(com.badlogic.gdx.math.Vector2[] points)
Constructor with vectors.
|
Modifier and Type | Method and Description |
---|---|
void |
addPoint(float x,
float y)
Adds an additional point to this
Polygon |
void |
addPoint(com.badlogic.gdx.math.Vector2 point)
Adds an additional point to this
Polygon |
boolean |
contains(float x,
float y)
Returns if a set of coordinates are contained inside this
Shape |
boolean |
contains(Polygon polygon) |
boolean |
contains(Shape shape)
|
boolean |
contains(com.badlogic.gdx.math.Vector2 vector2)
Returns if a
Vector2 is contained inside this Shape |
Shape |
copy()
Returns an exact copy of this
Shape |
void |
draw(Graphics g)
Draws this shape using a
Graphics instance |
EdgeIterator |
edgeIterator()
Returns an
EdgeIterator for looping over the edges of this
Shape |
boolean |
equals(java.lang.Object obj) |
void |
fill(Graphics g)
Fills this shape using a
Graphics instance |
float |
getCenterX()
Returns the center x coordinate of this object.
|
float |
getCenterY()
Returns the center y coordinate of this object.
|
float |
getDistanceTo(float x,
float y)
Returns the distance from this
Shape to a set of coordinates |
float |
getMaxX()
Returns max X coordinate of this
Polygon |
float |
getMaxY()
Returns max Y coordinate of this
Polygon |
float |
getMinX()
Returns min X coordinate of this
Polygon |
float |
getMinY()
Returns min Y coordinate of this
Polygon |
int |
getNumberOfSides()
Returns the number of edges of this object
|
Polygon |
getPolygon()
|
float |
getRotation()
Returns the rotation of this
Shape |
com.badlogic.gdx.utils.ShortArray |
getTriangles()
Returns an array of vertex indices that the define the triangles which
make up this
Polygon |
float[] |
getVertices() |
float |
getX()
Returns the x coordinate
|
float |
getX(int index)
Returns the x coordinate of the corner at the specified index
|
float |
getY()
Returns the y coordinate
|
float |
getY(int index)
Returns the y coordinate of the corner at the specified index
|
int |
hashCode() |
boolean |
intersects(Circle circle) |
boolean |
intersects(LineSegment lineSegment)
Returns if this
Shape intersects the specified
LineSegment |
boolean |
intersects(Polygon polygon)
Returns if this
Polygon intersects another |
boolean |
intersects(Rectangle rectangle)
|
boolean |
intersects(Shape shape)
|
boolean |
intersects(Triangle triangle)
|
boolean |
intersectsLineSegment(float x1,
float y1,
float x2,
float y2)
Returns if this
Shape intersects a line segment |
boolean |
intersectsLineSegment(com.badlogic.gdx.math.Vector2 pointA,
com.badlogic.gdx.math.Vector2 pointB)
Returns if this
Shape intersects a line segment |
boolean |
isCircle()
|
boolean |
isEquilateral() |
boolean |
isEquilateral(float tolerance) |
boolean |
isRectangle() |
boolean |
isSameAs(Polygon polygon)
Returns if this
Polygon is the same as another |
Polygon |
lerp(Polygon target,
float alpha) |
void |
removePoint(float x,
float y)
Removes a point from this
Polygon |
void |
removePoint(com.badlogic.gdx.math.Vector2 point)
Removes a point from this
Polygon |
void |
rotate(float degrees)
Rotates this
Shape by a specified amount of degrees with its
first point as the origin |
void |
rotateAround(float centerX,
float centerY,
float degrees)
Rotates this
Shape by a specified amount of degrees around a
specified point |
void |
scale(float scale)
Scales the radius of this shape.
|
void |
set(float x,
float y)
Sets the x and y coordinate of this object
|
void |
set(Polygon polygon) |
void |
setCenter(float x,
float y)
Sets the center x,y coordinate of this object
|
void |
setCenterX(float x)
Sets the center x coordinate
|
void |
setCenterY(float y)
Sets the center y coordianate
|
void |
setRadius(float radius)
Sets the radius of this shape.
|
void |
setRotation(float degrees)
Sets the rotation of this
Shape with its first point as the
origin |
void |
setRotationAround(float centerX,
float centerY,
float degrees)
Sets the rotation of this
Shape with a specified point as the
origin |
void |
setVertices(float[] vertices) |
void |
setVertices(com.badlogic.gdx.math.Vector2[] vertices) |
void |
setX(float x)
Sets the x coordinate of this object
|
void |
setY(float y)
Sets the y coordinate of this object
|
protected float |
sign(float x,
float y,
float p1x,
float p1y,
float p2x,
float p2y) |
java.lang.String |
toString() |
void |
translate(float translateX,
float translateY)
Translates the x and y coordinate of this object
|
protected boolean |
triangleContains(float x,
float y,
float p1x,
float p1y,
float p2x,
float p2y,
float p3x,
float p3y) |
add, getDistanceTo, subtract
public Polygon(float[] vertices)
vertices
- All points in x,y pairs. E.g. x1,y1,x2,y2,etc.public Polygon(com.badlogic.gdx.math.Vector2[] points)
points
- All points in the polygonpublic boolean isSameAs(Polygon polygon)
Polygon
is the same as anotherpolygon
- The Polygon
to compare toprotected boolean triangleContains(float x, float y, float p1x, float p1y, float p2x, float p2y, float p3x, float p3y)
protected float sign(float x, float y, float p1x, float p1y, float p2x, float p2y)
public boolean contains(float x, float y)
Shape
Shape
public boolean contains(com.badlogic.gdx.math.Vector2 vector2)
Shape
Vector2
is contained inside this Shape
public boolean contains(Polygon polygon)
public boolean intersects(Shape shape)
Shape
intersects
in class Shape
shape
- The Shape
to checkShape
intersects the specified Shape
public boolean intersects(Triangle triangle)
public boolean intersects(Rectangle rectangle)
public boolean intersects(Circle circle)
public boolean intersects(LineSegment lineSegment)
Shape
Shape
intersects the specified
LineSegment
intersects
in class Shape
lineSegment
- The LineSegment
to checkShape
intersects the LineSegment
public boolean intersectsLineSegment(com.badlogic.gdx.math.Vector2 pointA, com.badlogic.gdx.math.Vector2 pointB)
Shape
Shape
intersects a line segmentintersectsLineSegment
in class Shape
pointA
- The first point in the line segmentpointB
- The second point in the line segmentShape
intersects the line segmentpublic boolean intersectsLineSegment(float x1, float y1, float x2, float y2)
Shape
Shape
intersects a line segmentintersectsLineSegment
in class Shape
x1
- The x coordinate of the first pointy1
- The y coordinate of the first pointx2
- The x coordinate of the second pointy2
- The y coordinate of the second pointShape
intersects the line segmentpublic float getDistanceTo(float x, float y)
Shape
Shape
to a set of coordinatesgetDistanceTo
in class Shape
x
- The x coordinatey
- The y coordinatepublic void addPoint(float x, float y)
Polygon
x
- The x coordinatey
- The y coordinatepublic void addPoint(com.badlogic.gdx.math.Vector2 point)
Polygon
point
- The point to add as a Vector2
public void removePoint(float x, float y)
Polygon
x
- The x coordinatey
- The y coordinatepublic void removePoint(com.badlogic.gdx.math.Vector2 point)
Polygon
point
- The point to remove as a Vector2
public int getNumberOfSides()
Shape
getNumberOfSides
in class Shape
public void draw(Graphics g)
Shape
Graphics
instancepublic void fill(Graphics g)
Shape
Graphics
instancepublic float[] getVertices()
public void setVertices(float[] vertices)
public void setVertices(com.badlogic.gdx.math.Vector2[] vertices)
public float getRotation()
Shape
Shape
getRotation
in class Shape
public void setRotation(float degrees)
Shape
Shape
with its first point as the
originsetRotation
in class Shape
degrees
- The rotation in degreespublic void rotate(float degrees)
Shape
Shape
by a specified amount of degrees with its
first point as the originpublic void setRotationAround(float centerX, float centerY, float degrees)
Shape
Shape
with a specified point as the
originsetRotationAround
in class Shape
centerX
- The origin/center x coordinatecenterY
- The origin/center y coordinatedegrees
- The rotation in degreespublic void rotateAround(float centerX, float centerY, float degrees)
Shape
Shape
by a specified amount of degrees around a
specified pointrotateAround
in class Shape
centerX
- The origin/center x coordinatecenterY
- The origin/center y coordinatedegrees
- The rotation in degreespublic float getX()
public float getY()
public float getX(int index)
index
- The point indexpublic float getY(int index)
index
- The point indexpublic float getCenterX()
Shape
Circle
this is the same as x.getCenterX
in class Shape
public float getCenterY()
Shape
Circle
this is the same as y.getCenterY
in class Shape
public void setCenter(float x, float y)
Shape
public void setCenterX(float x)
Shape
setCenterX
in class Shape
x
- The x coordinate of the shape's centerpublic void setCenterY(float y)
Shape
setCenterY
in class Shape
y
- The y coordinate of the shape's centerpublic float getMinX()
Polygon
public float getMinY()
Polygon
public float getMaxX()
Polygon
public float getMaxY()
Polygon
public com.badlogic.gdx.utils.ShortArray getTriangles()
Polygon
public void setX(float x)
Shape
public void setY(float y)
Shape
public void set(float x, float y)
Shape
public void setRadius(float radius)
Shape
public void scale(float scale)
Shape
public void set(Polygon polygon)
public void translate(float translateX, float translateY)
Shape
public EdgeIterator edgeIterator()
Shape
EdgeIterator
for looping over the edges of this
Shape
edgeIterator
in class Shape
EdgeIterator
public boolean isEquilateral()
public boolean isEquilateral(float tolerance)
public boolean isRectangle()
public boolean isCircle()
Shape
public Polygon getPolygon()
Shape
getPolygon
in class Shape
Shape
is a Circle
public java.lang.String toString()
toString
in class java.lang.Object