X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2FMesh.java;h=cca73213448a0ee15ab034185dde648ee55f715e;hp=926a5b7b5d55ffea170ea62037216a1e88193c1a;hb=8cb2aceb7c2b140b70b9955f1a0a6f2524f2314e;hpb=4d37197f8e2572a3c5510d77c0f09a19e9d9f748 diff --git a/src/edu/berkeley/qfat/Mesh.java b/src/edu/berkeley/qfat/Mesh.java index 926a5b7..cca7321 100644 --- a/src/edu/berkeley/qfat/Mesh.java +++ b/src/edu/berkeley/qfat/Mesh.java @@ -1,6 +1,7 @@ package edu.berkeley.qfat; import java.awt.*; import java.util.*; +import java.io.*; import java.awt.event.*; import javax.swing.*; import javax.media.opengl.*; @@ -1171,4 +1172,24 @@ public class Mesh implements Iterable { super.glVertices(gl, m); } } + + // Dump ///////////////////////////////////////////////////////////////////////////// + + public void dump(OutputStream os) throws IOException { + PrintWriter pw = new PrintWriter(new OutputStreamWriter(os)); + pw.println("solid dump"); + for(Mesh.T t : this) { + Vec normal = t.norm(); + pw.println("facet normal " + normal.x + " " + normal.y + " " + normal.z); + pw.println(" outer loop"); + for(Mesh.Vertex v : new Mesh.Vertex[] { t.v1(), t.v2(), t.v3() }) { + pw.println(" vertex " + v.p.x + " " + v.p.y + " " + v.p.z); + } + pw.println(" endloop"); + pw.println("endfacet"); + } + pw.println("endsolid dump"); + pw.flush(); + } + }