Class _StlExporter


public class _StlExporter extends _VrmlExporter
STereoLithography file format exporter for 3D printing. Based on _VrmlExporter by Bob Hanson; diverts the output() method to do nothing and delivers only triangle sets. Note that no attempt is made here to ensure that surfaces are closed. Also, an inefficient mechanism that involves creating a full in-memory representation of the data is used. If this turns out to be problematic, it might be possible to use random access, but the applet does not have that capability, and certainly JavaScript does not.
  • Field Details

    • isDebug

      private boolean isDebug
    • oc

      private javajs.util.OC oc
    • bos

      private ByteArrayOutputStream bos
    • m4

      private javajs.util.M4 m4
    • lstMatrix

      javajs.util.Lst<javajs.util.M4> lstMatrix
    • m4a

      private javajs.util.M4 m4a
    • nTri

      private int nTri
  • Constructor Details

    • _StlExporter

      public _StlExporter()
  • Method Details

    • outputHeader

      protected void outputHeader()
      Overrides:
      outputHeader in class _VrmlExporter
    • pushMatrix

      protected void pushMatrix()
      Overrides:
      pushMatrix in class _VrmlExporter
    • popMatrix

      protected void popMatrix()
      Overrides:
      popMatrix in class _VrmlExporter
    • output

      protected void output(String data)
      Overrides:
      output in class ___Exporter
    • outputChildStart

      protected void outputChildStart()
      Overrides:
      outputChildStart in class _VrmlExporter
    • outputChildClose

      protected void outputChildClose()
      Overrides:
      outputChildClose in class _VrmlExporter
    • outputRotation

      protected void outputRotation(javajs.util.A4 a)
      Overrides:
      outputRotation in class _VrmlExporter
    • outputAttrPt

      protected void outputAttrPt(String attr, javajs.util.T3 pt)
      Overrides:
      outputAttrPt in class _VrmlExporter
    • outputAttr

      protected void outputAttr(String attr, float x, float y, float z)
      Overrides:
      outputAttr in class _VrmlExporter
    • outputGeometry

      protected void outputGeometry(javajs.util.T3[] vertices, javajs.util.T3[] normals, short[] colixes, int[][] indices, short[] polygonColixes, int nVertices, int nPolygons, javajs.util.BS bsPolygons, int faceVertexMax, javajs.util.Lst<Short> colorList, Map<Short,Integer> htColixes, javajs.util.P3 offset)
      Overrides:
      outputGeometry in class _VrmlExporter
    • writeFacet

      private void writeFacet(javajs.util.T3[] vertices, int[] face, int i, int j, int k)
    • finalizeOutput

      protected String finalizeOutput()
      Overrides:
      finalizeOutput in class ___Exporter
    • outputCircle

      protected void outputCircle(javajs.util.P3 pt1, javajs.util.P3 pt2, float radius, short colix, boolean doFill)
      Overrides:
      outputCircle in class _VrmlExporter
    • plotText

      void plotText(int x, int y, int z, short colix, String text, Font font3d)
      Overrides:
      plotText in class _VrmlExporter
    • writePoint

      private void writePoint(String s, javajs.util.T3 p)
    • writeFloat

      private void writeFloat(float f)