org.jeometry.geom3D.mesh.indexed.IndexedEdge 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.mesh.indexed;
import org.jeometry.geom3D.mesh.Edge;
import org.jeometry.geom3D.mesh.Face;
import org.jeometry.geom3D.point.Point3D;
import org.jeometry.geom3D.point.Point3DContainer;
import org.jeometry.geom3D.primitive.Polygon3D;
/**
* An interface that describe an edge within indexed geometry representation. An Edge is a segment that delimits a {@link Polygon3D polygon}
* or that delimits {@link Face faces} of a mesh. Within an indexed geometry representation, an indexed edge holds only indices
* to the underlying points that compose its vertices.
* @param The underlying type of 3D points
* @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
* @version 1.0.0
* @since 1.0.0
*/
public interface IndexedEdge extends Edge{
/**
* Get the indices of the vertices that delimit this edge.
* @return the indices of the vertices that delimit this edge.
* @see #getVertices()
* @see #getVerticesSource()
*/
int[] getVerticesIndexes();
/**
* Get the {@link Point3DContainer container} which holds the points that are referenced by the indices of this geometry.
* @return the {@link Point3DContainer container} which holds the points that are referenced by the indices of this geometry.
*/
Point3DContainer getVerticesSource();
/**
* Set {@link Point3DContainer} which holds the points that are referenced by the indices of this geometry.
* @param source the {@link Point3DContainer} which holds the points that are referenced by the indices of this geometry.
*/
void setVerticesSource(Point3DContainer source);
/**
* Return if the indices of the geometry have been validated. The validation is made by calling method {@link #validateIndexes()}.
* @return true
if the geometry has validated indexes and false
otherwise.
*/
boolean isValidatedIndexes();
/**
* Validate the geometry. This method valid the link between the indexed geometry and the geometry itself.
* @return true
if the validation is effective, false
otherwise.
*/
boolean validateIndexes();
}