Package org.jzy3d.io.obj
Class OBJFile
java.lang.Object
org.jzy3d.io.obj.OBJFile
Translated from C++ Version: nvModel.h - Model support class
The nvModel class implements an interface for a multipurpose model object. This class is useful
for loading and formatting meshes for use by OpenGL. It can compute face normals, tangents, and
adjacency information. The class supports the obj file format.
Author: Evan Hart Email: sdkfeedback@nvidia.com
Copyright (c) NVIDIA Corporation. All rights reserved.
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
static enum
Enumeration of primitive types -
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
Will calculate normals if they are missingprotected IntBuffer
protected int
static final int
protected int
protected int
protected int
protected FloatBuffer
protected int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
This function takes the raw model data in the internal structures, and attempts to bring it to a format directly accepted for vertex array style rendering.Returns the points defining the axis-aligned bounding box containing the model.int
int
int
int
int
int
int
int
int
int
boolean
boolean
loadModelFromFile
(File file) boolean
loadModelFromFilename
(String file) boolean
loadModelFromStream
(InputStream inputStream) This function attempts to determine the type of the filename passed as a parameter.boolean
loadModelFromURL
(URL fileURL) boolean
parseObjFace
(String line, int[][] idx, boolean hasNormals) Face Formatvoid
parseObjVertex
(String line, float[] val) Vertex/Normal FormattoString()
-
Field Details
-
NumPrimTypes
public static final int NumPrimTypes- See Also:
-
autoNormal
protected boolean autoNormalWill calculate normals if they are missing -
positions_
-
normals_
-
posSize_
protected int posSize_ -
pIndex_
-
nIndex_
-
indices_
-
vertices_
-
pOffset_
protected int pOffset_ -
nOffset_
protected int nOffset_ -
vtxSize_
protected int vtxSize_ -
openEdges_
protected int openEdges_
-
-
Constructor Details
-
OBJFile
public OBJFile()
-
-
Method Details
-
loadModelFromFilename
-
loadModelFromURL
-
loadModelFromFile
-
loadModelFromStream
This function attempts to determine the type of the filename passed as a parameter. If it understands that file type, it attempts to parse and load the file into its raw data structures. If the file type is recognized and successfully parsed, the function returns true, otherwise it returns false. -
parseObjVertex
Vertex/Normal Formatv 1.0 0.0 0.0 vn 0.0 1.0 0.0 n : normal
-
parseObjFace
Face Formatf v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 t : texture n : normal
-
compileModel
public void compileModel()This function takes the raw model data in the internal structures, and attempts to bring it to a format directly accepted for vertex array style rendering. This means that a unique compiled vertex will exist for each unique combination of position, normal, tex coords, etc that are used in the model. The prim parameter, tells the model what type of index list to compile. By default it compiles a simple triangle mesh with no connectivity. -
computeBoundingBox
Returns the points defining the axis-aligned bounding box containing the model. -
clearNormals
public void clearNormals() -
hasNormals
public boolean hasNormals() -
getPositionSize
public int getPositionSize() -
getNormalSize
public int getNormalSize() -
getPositions
-
getNormals
-
getPositionIndices
-
getNormalIndices
-
getPositionCount
public int getPositionCount() -
getNormalCount
public int getNormalCount() -
getIndexCount
public int getIndexCount() -
getCompiledVertices
-
getCompiledIndices
-
getCompiledPositionOffset
public int getCompiledPositionOffset() -
getCompiledNormalOffset
public int getCompiledNormalOffset() -
getCompiledVertexSize
public int getCompiledVertexSize() -
getCompiledVertexCount
public int getCompiledVertexCount() -
getOpenEdgeCount
public int getOpenEdgeCount() -
toString
-