
org.jeometry.simple.factory.SimpleMeshBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jeometry-simple Show documentation
Show all versions of jeometry-simple Show documentation
Jeometry, a Mathematic and Geometry library for Java
The newest version!
package org.jeometry.simple.factory;
import java.util.List;
import org.jeometry.Jeometry;
import org.jeometry.factory.MeshBuilder;
import org.jeometry.geom3D.mesh.Edge;
import org.jeometry.geom3D.mesh.Face;
import org.jeometry.geom3D.mesh.Mesh;
import org.jeometry.geom3D.mesh.indexed.IndexedEdge;
import org.jeometry.geom3D.mesh.indexed.IndexedFace;
import org.jeometry.geom3D.mesh.indexed.IndexedMesh;
import org.jeometry.geom3D.mesh.indexed.IndexedTriangleMesh;
import org.jeometry.geom3D.neighbor.MeshNeighborhood;
import org.jeometry.geom3D.point.Point3D;
import org.jeometry.geom3D.point.Point3DContainer;
import org.jeometry.geom3D.primitive.Triangle;
import org.jeometry.geom3D.primitive.indexed.IndexedTriangle;
import org.jeometry.simple.geom3D.mesh.SimpleEdge;
import org.jeometry.simple.geom3D.mesh.SimpleFace;
import org.jeometry.simple.geom3D.mesh.SimpleMesh;
import org.jeometry.simple.geom3D.mesh.indexed.SimpleIndexedEdge;
import org.jeometry.simple.geom3D.mesh.indexed.SimpleIndexedFace;
import org.jeometry.simple.geom3D.mesh.indexed.SimpleIndexedMesh;
import org.jeometry.simple.geom3D.mesh.indexed.SimpleIndexedTriangleMesh;
import org.jeometry.simple.geom3D.mesh.indexed.textured.SimpleIndexedTexturedFace;
import org.jeometry.simple.geom3D.mesh.indexed.textured.SimpleIndexedTexturedTriangle;
import org.jeometry.simple.geom3D.neighbor.SimpleMeshNeighborhood;
import org.jeometry.simple.geom3D.primitive.SimpleTriangle;
import org.jeometry.simple.geom3D.primitive.indexed.SimpleIndexedTriangle;
/**
* A {@link MeshBuilder mesh builder} implementation that provide simples pure java implementations.
* @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
* @version {@value Jeometry#version}
* @since 1.0.0
*/
public class SimpleMeshBuilder implements MeshBuilder {
@Override
public Mesh createMesh() {
return new SimpleMesh();
}
@Override
public Edge createMeshEdge(Mesh mesh, T vertex1, T vertex2) {
return new SimpleEdge(mesh, vertex1, vertex2);
}
@Override
public Face createMeshFace(Mesh mesh, Point3DContainer vertices) {
return new SimpleFace(mesh, vertices);
}
@Override
public Face createMeshFace(Point3DContainer vertices) {
return new SimpleFace(vertices);
}
@Override
public Triangle createMeshTriangle(T vertex1, T vertex2, T vertex3) {
return new SimpleTriangle(vertex1, vertex2, vertex3);
}
@Override
public IndexedMesh createIndexedMesh() {
return new SimpleIndexedMesh();
}
@Override
public IndexedMesh createIndexedMesh(int capacity) {
return new SimpleIndexedMesh(capacity);
}
@Override
public IndexedEdge createIndexedMeshEdge(int vertex1Index, int vertex2Index) {
return new SimpleIndexedEdge(vertex1Index, vertex2Index);
}
@Override
public IndexedEdge createIndexedMeshEdge(int vertex1Index, int vertex2Index,
IndexedMesh mesh) {
return new SimpleIndexedEdge(vertex1Index, vertex2Index, mesh);
}
@Override
public IndexedFace createIndexedMeshFace(int[] indices) {
return new SimpleIndexedFace(indices);
}
@Override
public IndexedFace createIndexedMeshFace(int[] indices, IndexedMesh mesh) {
return new SimpleIndexedFace(indices, mesh);
}
@Override
public IndexedFace createIndexedMeshFace(List indices) {
return new SimpleIndexedFace(indices);
}
@Override
public IndexedFace createIndexedMeshFace(List indices, IndexedMesh mesh) {
return new SimpleIndexedFace(indices, mesh);
}
@Override
public IndexedTriangle createIndexedTriangle(int vertex1, int vertex2, int vertex3,
IndexedMesh mesh) {
return new SimpleIndexedTriangle(vertex1, vertex2, vertex3, mesh);
}
@Override
public IndexedTriangle createIndexedTriangle(int[] vertices, IndexedMesh mesh) {
return new SimpleIndexedTriangle(vertices, mesh);
}
@Override
public IndexedTriangleMesh createIndexedTriangleMesh(Point3DContainer source) {
return new SimpleIndexedTriangleMesh(source);
}
@Override
public IndexedTriangleMesh createIndexedTriangleMesh(int size, Point3DContainer source) {
return new SimpleIndexedTriangleMesh(size, source);
}
@Override
public IndexedFace createTexturedIndexedMeshFace(int[] indices) {
return new SimpleIndexedTexturedFace(indices);
}
@Override
public IndexedFace createTexturedIndexedMeshFace(int[] indices, IndexedMesh mesh) {
return new SimpleIndexedTexturedFace(indices, mesh);
}
@Override
public IndexedFace createTexturedIndexedMeshFace(List indices) {
return new SimpleIndexedTexturedFace(indices);
}
@Override
public IndexedFace createTexturedIndexedMeshFace(List indices,
IndexedMesh mesh) {
return new SimpleIndexedTexturedFace(indices, mesh);
}
@Override
public IndexedTriangle createTexturedIndexedTriangle(int vertex1, int vertex2, int vertex3,
IndexedMesh mesh) {
return new SimpleIndexedTexturedTriangle();
}
@Override
public IndexedTriangle createTexturedIndexedTriangle(int vertex1, int vertex2, int vertex3) {
return new SimpleIndexedTexturedTriangle(vertex1, vertex2, vertex3);
}
@Override
public IndexedTriangle createTexturedIndexedTriangle(int[] vertices) {
return new SimpleIndexedTexturedTriangle(vertices);
}
@Override
public IndexedTriangle createTexturedIndexedTriangle(int[] vertices, IndexedMesh mesh) {
return new SimpleIndexedTexturedTriangle(vertices, mesh);
}
@Override
public MeshNeighborhood createMeshNeighborhood() {
return new SimpleMeshNeighborhood();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy