|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectmath.geom2d.polygon.SimplePolygon2D
public class SimplePolygon2D
Represent a polygonal domain whose boundary is a single closed polyline.
| Field Summary |
|---|
| Fields inherited from interface math.geom2d.Shape2D |
|---|
ACCURACY |
| Constructor Summary | |
|---|---|
SimplePolygon2D()
Empty constructor: no vertex. |
|
SimplePolygon2D(java.util.Collection<? extends Point2D> points)
|
|
SimplePolygon2D(double[] xcoords,
double[] ycoords)
Constructor from two arrays, one for each coordinate. |
|
SimplePolygon2D(LinearRing2D ring)
Creates a simple polygon with the given linear ring representing its boundary. |
|
SimplePolygon2D(Point2D... vertices)
Constructor from an array of points |
|
| Method Summary | |
|---|---|
void |
addVertex(Point2D point)
Adds a point as the last vertex. |
boolean |
almostEquals(GeometricObject2D obj,
double eps)
Checks if the two objects are similar up to a given threshold value. |
double |
area()
Computes the signed area of the polygon. |
Polygon2D |
asPolygon(int n)
Returns an approximation of the domain as a polygon, or a MultiPolygon. |
CirculinearContourArray2D<LinearRing2D> |
boundary()
Returns a set of one LinearRing2D, which encloses the polygon. |
Box2D |
boundingBox()
Returns the bounding box of the polygon. |
CirculinearDomain2D |
buffer(double dist)
Computes the buffer of the shape, formed by the set of points located at a distance from the shape that is lower or equal to d. |
Point2D |
centroid()
Computes the centroid (center of mass) of the polygon. |
void |
clearVertices()
Removes all the vertices of the polygon. |
Polygon2D |
clip(Box2D box)
Returns the shape formed by the polygon clipped by the given box. |
SimplePolygon2D |
clone()
|
int |
closestVertexIndex(Point2D point)
Computes the index of the closest vertex to the input point. |
SimplePolygon2D |
complement()
Returns the polygon created by reversing the order of the vertices. |
boolean |
contains(double x,
double y)
Returns true if the point (x, y) lies inside the polygon, with precision given by Shape2D.ACCURACY. |
boolean |
contains(Point2D p)
Returns true if the point p lies inside the polygon, with precision given by Shape2D.ACCURACY. |
java.util.Collection<LinearRing2D> |
contours()
Returns the set of contours that enclose this domain. |
static SimplePolygon2D |
create(java.util.Collection<? extends Point2D> points)
Static factory for creating a new SimplePolygon2D from a collection of points. |
static SimplePolygon2D |
create(Point2D... points)
Static factory for creating a new SimplePolygon2D from an array of points. |
double |
distance(double x,
double y)
Returns the distance of the point to the polygon. |
double |
distance(Point2D p)
Returns the distance of the point to the polygon. |
void |
draw(java.awt.Graphics2D g2)
Draws the shape on the given graphics. |
int |
edgeNumber()
Returns the number of edges. |
java.util.Collection<LineSegment2D> |
edges()
Returns the set of edges, as a collection of LineSegment2D. |
boolean |
equals(java.lang.Object obj)
Tests if the two polygons are equal. |
void |
fill(java.awt.Graphics2D g)
Fills the interior of the domain, using the Graphics current Paint. |
java.awt.geom.GeneralPath |
getGeneralPath()
Returns a general path iterator. |
LinearRing2D |
getRing()
Returns the linear ring that composes the boundary of this polygon. |
int |
getWindingNumber(double x,
double y)
Computes the winding number of the polygon. |
void |
insertVertex(int index,
Point2D point)
Adds a point as the last vertex. |
boolean |
isBounded()
Returns true if polygon is oriented counter-clockwise, false otherwise. |
boolean |
isEmpty()
Returns true if the shape does not contain any point. |
void |
removeVertex(int index)
Removes a vertex of the polygon specified by its index. |
boolean |
removeVertex(Point2D point)
Removes a vertex of the polygon. |
void |
setVertex(int index,
Point2D position)
Changes the position of the i-th vertex. |
SimplePolygon2D |
transform(AffineTransform2D trans)
Returns the new Polygon created by an affine transform of this polygon. |
CirculinearDomain2D |
transform(CircleInversion2D inv)
Transforms the shape by a circle inversion. |
Point2D |
vertex(int i)
Returns the i-th vertex of the polygon. |
int |
vertexNumber()
Returns the number of vertices of the polygon. |
java.util.Collection<Point2D> |
vertices()
Returns the points of the polygon. |
| Methods inherited from class java.lang.Object |
|---|
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SimplePolygon2D()
public SimplePolygon2D(Point2D... vertices)
vertices - the vertices stored in an array of Point2D
public SimplePolygon2D(double[] xcoords,
double[] ycoords)
xcoords - the x coordinate of each vertexycoords - the y coordinate of each vertexpublic SimplePolygon2D(java.util.Collection<? extends Point2D> points)
public SimplePolygon2D(LinearRing2D ring)
ring - the boundary of the polygon| Method Detail |
|---|
public static SimplePolygon2D create(java.util.Collection<? extends Point2D> points)
public static SimplePolygon2D create(Point2D... points)
public int getWindingNumber(double x,
double y)
x - the x-coordinate of the pointy - the y-coordinate of the point
public LinearRing2D getRing()
public void addVertex(Point2D point)
addVertex in interface Polygon2Dpoint - the position of the new vertex
public void insertVertex(int index,
Point2D point)
insertVertex in interface Polygon2Dindex - index at which the specified vertex is to be insertedpoint - the position of the new vertex
public void setVertex(int index,
Point2D position)
setVertex in interface Polygon2Dindex - the vertex indexposition - the new position of the vertexpublic boolean removeVertex(Point2D point)
point - the vertex to be removed.public void removeVertex(int index)
removeVertex in interface Polygon2Dindex - index of the vertex to removepublic void clearVertices()
public int closestVertexIndex(Point2D point)
closestVertexIndex in interface Polygon2Dpublic double area()
area in interface Polygon2Dpublic Point2D centroid()
centroid in interface Polygon2Dpublic java.util.Collection<Point2D> vertices()
vertices in interface Polygon2Dpublic Point2D vertex(int i)
vertex in interface Polygon2Di - index of the vertex, between 0 and the number of verticespublic int vertexNumber()
vertexNumber in interface Polygon2Dpublic java.util.Collection<LineSegment2D> edges()
edges in interface Polygon2Dpublic int edgeNumber()
edgeNumber in interface Polygon2Dpublic CirculinearDomain2D transform(CircleInversion2D inv)
CirculinearShape2D
transform in interface CirculinearDomain2Dtransform in interface CirculinearShape2Dinv - the circle inversion
public CirculinearDomain2D buffer(double dist)
CirculinearShape2D
buffer in interface CirculinearShape2Ddist - the maximal distance between a point of the buffer and the
shape
public Polygon2D asPolygon(int n)
Domain2D
asPolygon in interface Domain2Dpublic CirculinearContourArray2D<LinearRing2D> boundary()
boundary in interface CirculinearDomain2Dboundary in interface Domain2Dboundary in interface Polygon2Dpublic java.util.Collection<LinearRing2D> contours()
Domain2D
contours in interface CirculinearDomain2Dcontours in interface Domain2Dcontours in interface Polygon2DContour2Dpublic SimplePolygon2D complement()
complement in interface CirculinearDomain2Dcomplement in interface Domain2Dcomplement in interface Polygon2Dpublic double distance(Point2D p)
distance in interface Shape2D
public double distance(double x,
double y)
distance in interface Shape2Dpublic Polygon2D clip(Box2D box)
clip in interface Domain2Dclip in interface Polygon2Dclip in interface Shape2Dbox - the clipping box
public Box2D boundingBox()
boundingBox in interface Shape2Dpublic boolean isBounded()
isBounded in interface Shape2Dpublic boolean isEmpty()
Shape2D
isEmpty in interface Shape2Dpublic SimplePolygon2D transform(AffineTransform2D trans)
transform in interface Domain2Dtransform in interface Polygon2Dtransform in interface Shape2Dtrans - an affine transform
public boolean contains(Point2D p)
contains in interface Shape2D
public boolean contains(double x,
double y)
contains in interface Shape2Dpublic java.awt.geom.GeneralPath getGeneralPath()
public void draw(java.awt.Graphics2D g2)
Shape2D
draw in interface Domain2Ddraw in interface Shape2Dg2 - the Graphics to draw onpublic void fill(java.awt.Graphics2D g)
Domain2D
fill in interface Domain2Dg - the Graphics to fill on
public boolean almostEquals(GeometricObject2D obj,
double eps)
GeometricObject2D
almostEquals in interface GeometricObject2Dobj - the object to compareeps - a threshold value, for example the minimal coordinate difference
public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic SimplePolygon2D clone()
clone in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||