org.jeometry.geom3D.primitive.Polygon3D Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jeometry-api Show documentation
Show all versions of jeometry-api Show documentation
Jeometry, a Mathematic and Geometry library for Java
package org.jeometry.geom3D.primitive;
import java.io.Serializable;
import org.jeometry.Jeometry;
import org.jeometry.geom3D.point.Point3D;
import org.jeometry.geom3D.point.Point3DContainer;
/**
* A polygon with vertices expressed within a 3D space.
* @param the type of the underlying 3D points
* @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
* @version {@value Jeometry#version} build {@value Jeometry#BUILD}
* @since 1.0.0
*
*/
public interface Polygon3D extends Serializable{
/**
* Get the vertices of the polygon. Each vertex is a {@link Point3D 3D point}.
* @return the vertices of the polygon
*/
Point3DContainer getVertices();
/**
* Set the vertices of the polygon. Each vertex is a 3D point.
* @param vertices the vertices of the polygon. Each vertex is a {@link Point3D 3D point}.
*/
void setVertices(Point3DContainer vertices);
/**
* Return the segments of the polygon as a 3D line set.
* Polygon segments are the lines that link consecutive vertices.
* @return Vector a Vector containing all the edges of a polygon
* @see Line3D
*/
LineSet3D getSegments();
/**
* Reverse the order of the vertices that define the polygon.
*/
void inverseVerticesOrder();
}