Class ObjTriangleMeshReader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class ObjTriangleMeshReader
    extends AbstractObjPolygonReader
    Class for reading OBJ content as a triangle mesh.
    • Field Detail

      • normals

        private final java.util.List<Vector3D> normals
        List of normals discovered in the input.
    • Constructor Detail

      • ObjTriangleMeshReader

        public ObjTriangleMeshReader​(java.io.Reader reader,
                                     org.apache.commons.numbers.core.Precision.DoubleEquivalence precision)
        Construct a new instance that reads OBJ content from the given reader.
        Parameters:
        reader - reader to read from
        precision - precision context used to compare floating point numbers
    • Method Detail

      • readTriangleMesh

        public TriangleMesh readTriangleMesh()
        Return a triangle mesh constructed from all of the OBJ content from the underlying reader. Non-triangle faces are converted to triangles using a simple triangle fan. All vertices present in the OBJ content are also present in the returned mesh, regardless of whether or not they are used in a face.
        Returns:
        triangle mesh containing all data from the OBJ content
        Throws:
        java.lang.IllegalStateException - if data format error occurs
        java.io.UncheckedIOException - if an I/O error occurs