2 * Copyright (c) 2003-2009 jMonkeyEngine
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
16 * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 package jmetest.renderer.loader;
35 import java.io.ByteArrayInputStream;
36 import java.io.ByteArrayOutputStream;
37 import java.io.IOException;
39 import java.util.logging.Level;
40 import java.util.logging.Logger;
42 import com.jme.app.SimpleGame;
43 import com.jme.scene.Node;
44 import com.jme.util.export.binary.BinaryImporter;
45 import com.jmex.model.converters.ObjToJme;
48 * Started Date: Jul 17, 2004<br><br>
50 * Test the ability to read and write obj files.
52 * @author Jack Lindamood
54 public class TestObjJmeWrite extends SimpleGame{
55 private static final Logger logger = Logger.getLogger(TestObjJmeWrite.class
58 public static void main(String[] args) {
59 TestObjJmeWrite app=new TestObjJmeWrite();
60 app.setConfigShowMode(ConfigShowMode.AlwaysShow);
63 protected void simpleInitGame() {
64 ObjToJme converter=new ObjToJme();
66 URL objFile=TestObjJmeWrite.class.getClassLoader().getResource("jmetest/data/model/maggie.obj");
67 converter.setProperty("mtllib",objFile);
68 ByteArrayOutputStream BO=new ByteArrayOutputStream();
69 logger.info("Starting to convert .obj to .jme");
70 converter.convert(objFile.openStream(),BO);
72 //jbr.setProperty("texurl",new File(".").toURL());
73 logger.info("Done converting, now watch how fast it loads!");
74 long time=System.currentTimeMillis();
75 Node r=(Node)BinaryImporter.getInstance().load(new ByteArrayInputStream(BO.toByteArray()));
76 logger.info("Finished loading time is "+(System.currentTimeMillis()-time));
78 rootNode.attachChild(r);
79 } catch (IOException e) {
80 logger.logp(Level.SEVERE, this.getClass().toString(),
81 "simpleInitGame()", "Exception", e);