📄 objectfile.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0_06) on Wed Dec 13 16:20:09 PST 2006 --><TITLE>ObjectFile (Java 3D 1.5.0)</TITLE><META NAME="keywords" CONTENT="com.sun.j3d.loaders.objectfile.ObjectFile class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="ObjectFile (Java 3D 1.5.0)";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> PREV CLASS NEXT CLASS</FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?com/sun/j3d/loaders/objectfile/ObjectFile.html" target="_top"><B>FRAMES</B></A> <A HREF="ObjectFile.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">com.sun.j3d.loaders.objectfile</FONT><BR>Class ObjectFile</H2><PRE>java.lang.Object <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.sun.j3d.loaders.objectfile.ObjectFile</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../com/sun/j3d/loaders/Loader.html" title="interface in com.sun.j3d.loaders">Loader</A></DD></DL><HR><DL><DT><PRE>public class <B>ObjectFile</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../../com/sun/j3d/loaders/Loader.html" title="interface in com.sun.j3d.loaders">Loader</A></DL></PRE><P>The ObjectFile class implements the Loader interface for the Wavefront .obj file format, a standard 3D object file format created for use with Wavefront's Advanced Visualizer (tm) and available for purchase from Viewpoint DataLabs, as well as other 3D model companies. Object Files are text based files supporting both polygonal and free-form geometry (curves and surfaces). The Java 3D .obj file loader supports a subset of the file format, but it is enough to load almost all commonly available Object Files. Free-form geometry is not supported.</p> The Object File tokens currently supported by this loader are:</p> <code>v <i>float</i> <i>float</i> <i>float</i></code></p> <dl><dd>A single vertex's geometric position in space. The first vertex listed in the file has index 1, and subsequent vertices are numbered sequentially.</dl></p> <code>vn <i>float</i> <i>float</i> <i>float</i></code></p> <dl><dd>A normal. The first normal in the file is index 1, and subsequent normals are numbered sequentially.</dl></p> <code>vt <i>float</i> <i>float</i></code></p> <dl><dd>A texture coordinate. The first texture coordinate in the file is index 1, and subsequent normals are numbered sequentially.</dl></p> <code>f <i>int</i> <i>int</i> <i>int</i> . . .</code></p> <dl><dd><i><b>or</b></i></dl></p> <code>f <i>int</i>/<i>int</i> <i>int</i>/<i>int</i> <i>int</i>/<i>int</i> . . .</code></p> <dl><dd><i><b>or</i></b></dl></p> <code>f <i>int</i>/<i>int</i>/<i>int</i> <i>int</i>/<i>int</i>/<i>int</i> <i>int</i>/<i>int</i>/<i>int</i> . . .</code></p> <dl><dd>A polygonal face. The numbers are indexes into the arrays of vertex positions, texture coordinates, and normals respectively. There is no maximum number of vertices that a single polygon may contain. The .obj file specification says that each face must be flat and convex, but if the TRIANGULATE flag is sent to the ObjectFile constructor, each face will be triangulated by the Java 3D Triangulator, and therefore may be concave. A number may be omitted if, for example, texture coordinates are not being defined in the model. Numbers are normally positive indexes, but may also be negative. An index of -1 means the last member added to the respective array, -2 is the one before that, and so on.</dl></p> <code>g <i>name</i></code></p> <dl><dd>Faces defined after this token will be added to the named group. These geometry groups are returned as separated Shape3D objects attached to the parent SceneGroup. Each named Shape3D will also be in the Hashtable returned by Scene.getNamedObjects(). It is legal to add faces to a group, switch to another group, and then add more faces to the original group by reissuing the same name with the g token. If faces are added to the model before the g token is seen, the faces are put into the default group called "default."</dl></p> <code>s <i>int</i></code></p> <dl><dd><i><b>or</i></b></dl></p> <code>s off</code></p> <dl><dd>If the vn token is not used in the file to specify vertex normals for the model, this token may be used to put faces into groups for normal calculation ("smoothing groups") in the same manner as the 'g' token is used to group faces geometrically. Faces in the same smoothing group will have their normals calculated as if they are part of the same smooth surface. To do this, we use the Java 3D NormalGenerator utility with the creaseAngle parameter set to PI (180 degrees - smooth shading, no creases) or to whatever the user has set the creaseAngle. Faces in group 0 or 'off' use a creaseAngle of zero, meaning there is no smoothing (the normal of the face is used at all vertices giving the surface a faceted look; there will be a crease, or "Hard Edge," between each face in group zero). There is also an implied hard edge <i>between</i> each smoothing group, where they meet each other.</p> </p> If neither the vn nor the s token is used in the file, then normals are calculated using the creaseAngle set in the contructor. Normals are calculated on each geometry group separately, meaning there will be a hard edge between each geometry group.</dl></p> </p> <code>usemtl <i>name</i></code></p> <dl><dd>The current (and subsequent) geometry groups (specified with the 'g' token) have applied to them the named material property. The following set of material properties are available by default:</dl></p> <pre> amber amber_trans aqua aqua_filter archwhite archwhite2 bflesh black blondhair blue_pure bluegrey bluetint blugrn blutan bluteal bone bone1 bone2 brass brnhair bronze brown brownlips brownskn brzskin chappie charcoal deepgreen default dkblue dkblue_pure dkbrown dkdkgrey dkgreen dkgrey dkorange dkpurple dkred dkteal emerald fgreen flaqua flblack flblonde flblue_pure flbrown fldkblue_pure fldkdkgrey fldkgreen fldkgreen2 fldkgrey fldkolivegreen fldkpurple fldkred flesh fleshtransparent flgrey fllime flltbrown flltgrey flltolivegreen flmintgreen flmustard florange flpinegreen flpurple flred fltan flwhite flwhite1 flyellow glass glassblutint glasstransparent gold green greenskn grey hair iris jetflame lavendar lcdgreen lighttan lighttan2 lighttan3 lighttannew lightyellow lime lips ltbrown ltgrey meh metal mintgrn muscle navy_blue offwhite.cool offwhite.warm olivegreen orange pale_green pale_pink pale_yellow peach periwinkle pink pinktan plasma purple red redbrick redbrown redorange redwood rubber ruby sand_stone sapphire shadow ship2 silver skin sky_blue smoked_glass tan taupe teeth violet white yellow yellow_green yellowbrt yelloworng </pre> <code>mtllib <i>filename</i></code></p> <dl><dd>Load material properties from the named file. Materials with the same name as the predefined materials above will override the default value. Any directory path information in (filename) is ignored. The .mtl files are assumed to be in the same directory as the .obj file. If they are in a different directory, use Loader.setBasePath() (or Loader.setBaseUrl() ). The format of the material properties files are as follows:</p> <code>newmtl <i>name</i></code></p> <dl><dd>Start the definition of a new named material property.</dl></p> <code>Ka <i>float</i> <i>float</i> <i>float</i></code></p> <dl><dd>Ambient color.</dl></p> <code>Kd <i>float</i> <i>float</i> <i>float</i></code></p> <dl><dd>Diffuse color.</dl></p> <code>Ks <i>float</i> <i>float</i> <i>float</i></code></p> <dl><dd>Specular color.</dl></p> <code>illum <i>(0, 1, or 2)</i></code></p> <dl><dd>0 to disable lighting, 1 for ambient & diffuse only (specular color set to black), 2 for full lighting.</dl></p> <code>Ns <i>float</i></code></p> <dl><dd>Shininess (clamped to 1.0 - 128.0).</dl></p> <code>map_Kd <i>filename</i></code></p> <dl><dd>Texture map. Supports .rgb, .rgba, .int, .inta, .sgi, and .bw files in addition to those supported by <a href="../../utils/image/TextureLoader.html">TextureLoader</a>. </dl></dl></p><P><P><HR><P><!-- =========== FIELD SUMMARY =========== --><A NAME="field_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>Field Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../../com/sun/j3d/loaders/objectfile/ObjectFile.html#RESIZE">RESIZE</A></B></CODE><BR> Flag sent to constructor.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../../com/sun/j3d/loaders/objectfile/ObjectFile.html#REVERSE">REVERSE</A></B></CODE>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -