igeo.io

## Class IRhino3dmExporter

- java.lang.Object
- - igeo.io.IRhino3dm
  - - igeo.io.IRhino3dmExporter

-     public class IRhino3dmExporter
      extends IRhino3dm

  Rhinoceros 3dm exporter class. The current implementation is inefficient for large data. To be improved.
  Author:
    Satoru Sugihara

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `IRhino3dmExporter.ChunkOutputStream`

    - ### Nested classes/interfaces inherited from class igeo.io.IRhino3dm

      `IRhino3dm.AngularDimension, IRhino3dm.AngularDimension2, IRhino3dm.AngularDimension2Extra, IRhino3dm.Annotation, IRhino3dm.Annotation2, IRhino3dm.Annotation2Text, IRhino3dm.AnnotationArrow, IRhino3dm.AnnotationTextDot, IRhino3dm.AnnotationType, IRhino3dm.Arc, IRhino3dm.ArcCurve, IRhino3dm.Bitmap, IRhino3dm.BoundingBox, IRhino3dm.Brep, IRhino3dm.BrepEdge, IRhino3dm.BrepEdgeArray, IRhino3dm.BrepFace, IRhino3dm.BrepFaceArray, IRhino3dm.BrepFaceSide, IRhino3dm.BrepLoop, IRhino3dm.BrepLoopArray, IRhino3dm.BrepRegion, IRhino3dm.BrepRegionTopologyUserData, IRhino3dm.BrepTrim, IRhino3dm.BrepTrimArray, IRhino3dm.BrepTrimPoint, IRhino3dm.BrepVertex, IRhino3dm.BrepVertexArray, IRhino3dm.Chunk, IRhino3dm.ChunkTable, IRhino3dm.Circle, IRhino3dm.ClassRegistry, IRhino3dm.ClippingPlaneSurface, IRhino3dm.Curve, IRhino3dm.CurveArray, IRhino3dm.CurveOnSurface, IRhino3dm.CurveProxy, IRhino3dm.DetailView, IRhino3dm.DimensionExtra, IRhino3dm.DimStyle, IRhino3dm.DimStyleExtra, IRhino3dm.DisplayMaterialRef, IRhino3dm.EmbeddedBitmap, IRhino3dm.Endian, IRhino3dm.Extrusion, IRhino3dm.Font, IRhino3dm.Geometry, IRhino3dm.Group, IRhino3dm.Hatch, IRhino3dm.HatchExtra, IRhino3dm.HatchPattern, IRhino3dm.HistoryRecord, IRhino3dm.InstanceDefinition, IRhino3dm.InstanceRef, IRhino3dm.Interval, IRhino3dm.Layer, IRhino3dm.LayerExtensions, IRhino3dm.Leader, IRhino3dm.Leader2, IRhino3dm.Light, IRhino3dm.Line, IRhino3dm.LinearDimension, IRhino3dm.LinearDimension2, IRhino3dm.LineCurve, IRhino3dm.Linetype, IRhino3dm.MappingChannel, IRhino3dm.MappingTag, IRhino3dm.Material, IRhino3dm.MaterialRef, IRhino3dm.Mesh, IRhino3dm.MeshCurvatureStats, IRhino3dm.MeshEdgeRef, IRhino3dm.MeshFace, IRhino3dm.MeshFaceRef, IRhino3dm.MeshNgonUserData, IRhino3dm.MeshParameters, IRhino3dm.MeshVertexRef, IRhino3dm.MorphControl, IRhino3dm.NurbsCage, IRhino3dm.NurbsCurve, IRhino3dm.NurbsSurface, IRhino3dm.ObjectAttributes, IRhino3dm.OffsetSurface, IRhino3dm.OrdinateDimension2, IRhino3dm.Plane, IRhino3dm.PlaneEquation, IRhino3dm.PlaneSurface, IRhino3dm.Point, IRhino3dm.Point2Array, IRhino3dm.PointArray, IRhino3dm.PointCloud, IRhino3dm.PointGrid, IRhino3dm.PolyCurve, IRhino3dm.PolyEdgeCurve, IRhino3dm.PolyEdgeSegment, IRhino3dm.Polyline, IRhino3dm.PolylineCurve, IRhino3dm.Properties, IRhino3dm.RadialDimension, IRhino3dm.RadialDimension2, IRhino3dm.Rect, IRhino3dm.RenderingAttributes, IRhino3dm.RevSurface, IRhino3dm.Rhino3dmFile, IRhino3dm.RhinoObject, IRhino3dm.Settings, IRhino3dm.StartSection, IRhino3dm.SumSurface, IRhino3dm.Surface, IRhino3dm.SurfaceArray, IRhino3dm.SurfaceCurvature, IRhino3dm.SurfaceProxy, IRhino3dm.TextDisplayMode, IRhino3dm.TextDot, IRhino3dm.TextEntity, IRhino3dm.TextEntity2, IRhino3dm.TextExtra, IRhino3dm.Texture, IRhino3dm.TextureCoordinates, IRhino3dm.TextureMapping, IRhino3dm.UnitsAndTolerances, IRhino3dm.UnitSystem, IRhino3dm.UnknownUserData, IRhino3dm.UserData, IRhino3dm.UserString, IRhino3dm.UserStringList, IRhino3dm.UUID, IRhino3dm.UUIDIndex, IRhino3dm.Viewport, IRhino3dm.WindowsBitmap, IRhino3dm.WindowsBitmapEx, IRhino3dm.Xform`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `currentPos`
    `IRhino3dm.Rhino3dmFile` | `file`
    `static int` | `openNurbsVersion`
    `static int` | `openNurbsVersion4`
    `static int` | `openNurbsVersion5`
    `java.io.OutputStream` | `ostream`
    `IServerI` | `server`
    `static int` | `version`

    - ### Fields inherited from class igeo.io.IRhino3dm

      `activeSpaceModelSpace, activeSpaceNoSpace, activeSpacePageSpace, colorSourceFromLayer, colorSourceFromMaterial, colorSourceFromObject, colorSourceFromParent, linetypeSourceFromLayer, linetypeSourceFromObject, linetypeSourceFromParent, materialSourceFromLayer, materialSourceFromObject, materialSourceFromParent, objectDecorationBothArrowHead, objectDecorationEndArrowHead, objectDecorationNoDecolation, objectDecorationStartArrowHead, objectModeCount, objectModeHiddenObject, objectModeIdefObject, objectModeLockedObject, objectModeNormalObject, plotColorSourceFromLayer, plotColorSourceFromMaterial, plotColorSourceFromObject, plotColorSourceFromParent, plotWeightSourceFromLayer, plotWeightSourceFromObject, plotWeightSourceFromParent, tcodeAnalysisMesh, tcodeAngularDimension, tcodeAnnotation, tcodeAnnotationLeader, tcodeAnnotationSettings, tcodeAnonymousChunk, tcodeBitmapPreview, tcodeBitmapRecord, tcodeBitmapTable, tcodeBumpMap, tcodeCommentBlock, tcodeCompressedMeshGeometry, tcodeCPlane, tcodeCRC, tcodeCurrentLayer, tcodeDictionary, tcodeDictionaryEnd, tcodeDictionaryEntry, tcodeDictionaryID, tcodeDimStyleRecord, tcodeDimStyleTable, tcodeDispAmResolution, tcodeDispCPLines, tcodeDisplay, tcodeDispMaxLength, tcodeEndOfFile, tcodeEndOfFileGoo, tcodeEndOfTable, tcodeFontRecord, tcodeFontTable, tcodeGeometry, tcodeGroupRecord, tcodeGroupTable, tcodeHatchPatternRecord, tcodeHatchPatternTable, tcodeHideTrace, tcodeHistoryRecordRecord, tcodeHistoryRecordTable, tcodeInstanceDefinitionRecord, tcodeInstanceDefinitionTable, tcodeInterface, tcodeLayer, tcodeLayerIndex, tcodeLayerLocked, tcodeLayerMaterialIndex, tcodeLayerName, tcodeLayerObselete1, tcodeLayerObselete2, tcodeLayerObselete3, tcodeLayerOn, tcodeLayerPickable, tcodeLayerRecord, tcodeLayerRef, tcodeLayerRenderable, tcodeLayerSnapable, tcodeLayerState, tcodeLayerTable, tcodeLayerThawed, tcodeLayerVisible, tcodeLegacyASM, tcodeLegacyASMStuff, tcodeLegacyBND, tcodeLegacyBNDStuff, tcodeLegacyCRV, tcodeLegacyCRVStuff, tcodeLegacyFAC, tcodeLegacyFACStuff, tcodeLegacyGeometry, tcodeLegacyPNT, tcodeLegacyPNTStuff, tcodeLegacyPRT, tcodeLegacyPRTStuff, tcodeLegacySHL, tcodeLegacySHLStuff, tcodeLegacySPL, tcodeLegacySPLStuff, tcodeLegacySRF, tcodeLegacySRFStuff, tcodeLegacyTolAngle, tcodeLegacyTolFit, tcodeLegacyTRM, tcodeLegacyTRMStuff, tcodeLightRecord, tcodeLightRecordAttributes, tcodeLightRecordAttributesUserData, tcodeLightRecordEnd, tcodeLightTable, tcodeLinearDimension, tcodeLineTypeRecord, tcodeLinetypeTable, tcodeMaterialRecord, tcodeMaterialTable, tcodeMaximizedViewport, tcodeMeshObject, tcodeName, tcodeNamedCPlane, tcodeNamedView, tcodeNearClipPlane, tcodeNotes, tcodeObjectRecord, tcodeObjectRecordAttributes, tcodeObjectRecordAttributesUserData, tcodeObjectRecordEnd, tcodeObjectRecordHistory, tcodeObjectRecordHistoryData, tcodeObjectRecordHistoryHeader, tcodeObjectRecordType, tcodeObjectTable, tcodeObsoleteLayerSetRecord, tcodeObsoleteLayerSetTable, tcodeOldFullMesh, tcodeOldMeshUV, tcodeOldMeshVertexNormals, tcodeOldRhTrimesh, tcodeOpenNurbsClass, tcodeOpenNurbsClassData, tcodeOpenNurbsClassEnd, tcodeOpenNurbsClassUserData, tcodeOpenNurbsClassUserDataHeader, tcodeOpenNurbsClassUUID, tcodeOpenNurbsObject, tcodePropertiesApplication, tcodePropertiesCompressedPreviewImage, tcodePropertiesNotes, tcodePropertiesOpenNurbsVersion, tcodePropertiesPreviewImage, tcodePropertiesRevisionHistory, tcodePropertiesTable, tcodeRadialDimension, tcodeRender, tcodeRenderMaterialID, tcodeRenderMeshParams, tcodeRGB, tcodeRGBDisplay, tcodeRhinoIOObjectBrep, tcodeRhinoIOObjectData, tcodeRhinoIOObjectEnd, tcodeRhinoIOObjectNurbsCurve, tcodeRhinoIOObjectNurbsSurface, tcodeRhPoint, tcodeRhSpotLight, tcodeSettings_Never_Use_This, tcodeSettingsAnalysisMesh, tcodeSettingsAnnotation, tcodeSettingsAttributes, tcodeSettingsCurrentColor, tcodeSettingsCurrentDimStyleIndex, tcodeSettingsCurrentFontIndex, tcodeSettingsCurrentLayerIndex, tcodeSettingsCurrentMaterialIndex, tcodeSettingsCurrentWireDensity, tcodeSettingsGridDefaults, tcodeSettingsModelURL, tcodeSettingsNamedCPlaneList, tcodeSettingsNamedViewList, tcodeSettingsPluginList, tcodeSettingsRender, tcodeSettingsRenderMesh, tcodeSettingsTable, tcodeSettingsUnitsAndTols, tcodeSettingsViewList, tcodeShort, tcodeShowGrid, tcodeShowGridAxes, tcodeShowWorldAxes, tcodeSnapSide, tcodeStartSection, tcodeStuff, tcodeSummary, tcodeTable, tcodeTableRec, tcodeTextBlock, tcodeTextureMap, tcodeTextureMappingRecord, tcodeTextureMappingTable, tcodeTolerance, tcodeTransparency, tcodeUnitAndTolerances, tcodeUser, tcodeUserRecord, tcodeUserTable, tcodeUserTableRecordHeader, tcodeUserTableUUID, tcodeView, tcodeViewAttributes, tcodeViewCPlane, tcodeViewDisplayMode, tcodeViewName, tcodeViewport, tcodeViewportDisplayMode, tcodeViewportPosition, tcodeViewportTraceInfo, tcodeViewportWallPaper, tcodeViewPosition, tcodeViewRecord, tcodeViewShowConAxes, tcodeViewShowConGrid, tcodeViewShowWorldAxes, tcodeViewTarget, tcodeViewTraceImage, tcodeViewViewport, tcodeViewViewportUserData, tcodeViewWallPaper, tcodeViewWallPaperV3, tcodeXData`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IRhino3dmExporter(java.io.OutputStream ostr, IServerI svr)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IRhino3dm.Chunk` | `getMaterialChunk(IRhino3dm.Material mat)`
    `IRhino3dm.Chunk` | `getObjectChunk(IObject e)`
    `static IRhino3dm.Chunk` | `getObjectChunk(IRhino3dm.Rhino3dmFile context, IRhino3dm.RhinoObject obj)`
    `IRhino3dm.Chunk` | `getObjectChunk(IRhino3dm.RhinoObject obj)`
    `static IRhino3dm.Brep` | `getRhinoBrep(IBrep brep)`
    `static IRhino3dm.Brep` | `getRhinoBrep(IVolume volume)`
    `static IRhino3dm.NurbsCurve` | `getRhinoCurve(ICurveGeo crv)`
    `static IRhino3dm.Mesh` | `getRhinoMesh(IMeshI mesh)`
    `static IRhino3dm.RhinoObject` | `getRhinoObject(IObject e, IRhino3dm.Rhino3dmFile context)`
    `static IRhino3dm.Point` | `getRhinoPoint(IVec p)`
    `static IRhino3dm.RhinoObject` | `getRhinoSurface(ISurfaceGeo srf)`
    `static IRhino3dm.TextEntity2` | `getRhinoText(IText text)`
    `IRhino3dm.Chunk` | `nestChunk(int tcode, IRhino3dm.Chunk c)`
    `static void` | `setVersion(int ver)`
    `static int` | `SizeofChunkLength()`
    `void` | `write(byte[] data, java.util.zip.CRC32 crc)`
    `void` | `write(byte[] data, int len, java.util.zip.CRC32 crc)`
    `static boolean` | `write(java.io.File file, IServerI server, int version3dm)` Writing the content of server out to 3dm file.
    `void` | `write(int vers)`
    `static void` | `write(java.io.OutputStream os, byte[] data, java.util.zip.CRC32 crc)`
    `static void` | `write(java.io.OutputStream os, byte[] data, int len, java.util.zip.CRC32 crc)`
    `static boolean` | `write(java.io.OutputStream os, IServerI server, int version3dm)`
    `static void` | `writeArray(IRhino3dm.Rhino3dmFile context, java.io.OutputStream os, java.util.ArrayList<? extends IRhino3dm.RhinoObject> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArray(java.io.OutputStream os, java.util.ArrayList<? extends IRhino3dm.RhinoObject> array, java.util.zip.CRC32 crc)`
    `static byte[]` | `writeArrayColor(java.util.ArrayList<IColor> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArrayColor(java.io.OutputStream os, java.util.ArrayList<IColor> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArrayDisplayMaterialRef(IRhino3dm.Rhino3dmFile context, java.io.OutputStream os, java.util.ArrayList<IRhino3dm.DisplayMaterialRef> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArrayInt(java.io.OutputStream os, java.util.ArrayList<java.lang.Integer> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArrayPoint(java.io.OutputStream os, java.util.ArrayList<IVec> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArrayPoint2(java.io.OutputStream os, java.util.ArrayList<IVec2> array, java.util.zip.CRC32 crc)`
    `static byte[]` | `writeArrayPoint2f(java.util.ArrayList<IVec2> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArrayPoint2f(java.io.OutputStream os, java.util.ArrayList<IVec2> array, java.util.zip.CRC32 crc)`
    `static byte[]` | `writeArrayPoint3f(java.util.ArrayList<IVec> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArrayPoint3f(java.io.OutputStream os, java.util.ArrayList<IVec> array, java.util.zip.CRC32 crc)`
    `static byte[]` | `writeArraySurfaceCurvature(java.util.ArrayList<IRhino3dm.SurfaceCurvature> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArraySurfaceCurvature(java.io.OutputStream os, java.util.ArrayList<IRhino3dm.SurfaceCurvature> array, java.util.zip.CRC32 crc)`
    `static void` | `writeArrayUUIDIndex(IRhino3dm.Rhino3dmFile context, java.io.OutputStream os, java.util.ArrayList<IRhino3dm.UUIDIndex> array, java.util.zip.CRC32 crc)`
    `void` | `writeBitmapTable()`
    `static void` | `writeBool(java.io.OutputStream os, boolean b, java.util.zip.CRC32 crc)`
    `static void` | `writeBoundingBox(java.io.OutputStream os, IRhino3dm.BoundingBox bbox, java.util.zip.CRC32 crc)`
    `void` | `writeByte(byte b, java.util.zip.CRC32 crc)`
    `static void` | `writeByte(java.io.OutputStream os, byte b, java.util.zip.CRC32 crc)`
    `void` | `writeBytes(byte[] data, java.util.zip.CRC32 crc)`
    `static void` | `writeBytes(java.io.OutputStream os, byte[] data, java.util.zip.CRC32 crc)`
    `void` | `writeChar(char c, java.util.zip.CRC32 crc)`
    `static void` | `writeChar(java.io.OutputStream os, char c, java.util.zip.CRC32 crc)`
    `void` | `writeChunk(IRhino3dm.Chunk chunk)`
    `static void` | `writeChunk(java.io.OutputStream os, IRhino3dm.Chunk chunk)`
    `void` | `writeChunkLength(int length)`
    `static void` | `writeChunkLength(java.io.OutputStream os, int length)`
    `void` | `writeChunkTable(int tableTypeCode)`
    `void` | `writeChunkTable(int tableTypeCode, IRhino3dm.Chunk[] chunks)`
    `void` | `writeChunkTable(int tableTypeCode, IRhino3dm.Chunk[] chunks, int endTypeCode)`
    `void` | `writeChunkTable(IRhino3dm.ChunkTable chunkTable)`
    `static void` | `writeChunkTable(java.io.OutputStream os, IRhino3dm.ChunkTable chunkTable)`
    `void` | `writeChunkValue(int typecode, int value)`
    `static void` | `writeChunkValue(java.io.OutputStream os, int typecode, int value)`
    `static void` | `writeChunkVersion(java.io.OutputStream os, int majorVersion, int minorVersion, java.util.zip.CRC32 crc)`
    `static void` | `writeColor(java.io.OutputStream os, IColor color, java.util.zip.CRC32 crc)`
    `static void` | `writeCompressedBuffer(java.io.OutputStream os, byte[] buf, int len, java.util.zip.CRC32 crc)`
    `static void` | `writeDeflate(java.io.OutputStream os, byte[] buf, int len, java.util.zip.CRC32 crc)`
    `void` | `writeDimStyleTable()`
    `static void` | `writeDouble(java.io.OutputStream os, double d, java.util.zip.CRC32 crc)`
    `void` | `writeEndMark()`
    `static void` | `writeFloat(java.io.OutputStream os, float f, java.util.zip.CRC32 crc)`
    `void` | `writeFontTable()`
    `void` | `writeGroupTable()`
    `void` | `writeHatchPatternTable()`
    `void` | `writeHistoryRecordTable()`
    `void` | `writeInstanceDefinitionTable()`
    `static void` | `writeInt(java.io.OutputStream os, int i, java.util.zip.CRC32 crc)`
    `static void` | `writeInt16(java.io.OutputStream os, short s, java.util.zip.CRC32 crc)`
    `void` | `writeInt16(short s, java.util.zip.CRC32 crc)`
    `void` | `writeInt32(int i, java.util.zip.CRC32 crc)`
    `static void` | `writeInt32(java.io.OutputStream os, int i, java.util.zip.CRC32 crc)`
    `void` | `writeInt64(long l, java.util.zip.CRC32 crc)`
    `static void` | `writeInt64(java.io.OutputStream os, long l, java.util.zip.CRC32 crc)`
    `static void` | `writeInterval(java.io.OutputStream os, IRhino3dm.Interval interval, java.util.zip.CRC32 crc)`
    `void` | `writeLayerTable()`
    `void` | `writeLightTable()`
    `void` | `writeLinetypeTable()`
    `void` | `writeLong(long l, java.util.zip.CRC32 crc)`
    `static void` | `writeLong(java.io.OutputStream os, long l, java.util.zip.CRC32 crc)`
    `void` | `writeMaterialTable()`
    `void` | `writeObjectTable()`
    `static void` | `writePlane(java.io.OutputStream os, IRhino3dm.Plane plane, java.util.zip.CRC32 crc)`
    `static void` | `writePoint(java.io.OutputStream os, IVecI v, java.util.zip.CRC32 crc)`
    `static void` | `writePoint2(java.io.OutputStream os, IVec2I v, java.util.zip.CRC32 crc)`
    `static void` | `writePoint2f(java.io.OutputStream os, IVec2I v, java.util.zip.CRC32 crc)`
    `static void` | `writePoint3f(java.io.OutputStream os, IVecI v, java.util.zip.CRC32 crc)`
    `void` | `writeProperties()`
    `void` | `writeSettings()`
    `static void` | `writeShort(java.io.OutputStream os, short s, java.util.zip.CRC32 crc)`
    `void` | `writeShort(short s, java.util.zip.CRC32 crc)`
    `void` | `writeStartSection()`
    `static void` | `writeString(java.io.OutputStream os, java.lang.String s, java.util.zip.CRC32 crc)`
    `static void` | `writeSurfaceCurvature(java.io.OutputStream os, IRhino3dm.SurfaceCurvature sc, java.util.zip.CRC32 crc)`
    `void` | `writeTextureMappingTable()`
    `void` | `writeUserDataTable()`
    `static void` | `writeUUID(java.io.OutputStream os, IRhino3dm.UUID uuid, java.util.zip.CRC32 crc)`
    `static void` | `writeVector(java.io.OutputStream os, IVec2I v, java.util.zip.CRC32 crc)`
    `static void` | `writeVector(java.io.OutputStream os, IVecI v, java.util.zip.CRC32 crc)`
    `static void` | `writeXform(java.io.OutputStream os, IRhino3dm.Xform xform, java.util.zip.CRC32 crc)`

    - ### Methods inherited from class igeo.io.IRhino3dm

      `annotationType, annotationType, asciiOrHex, btoi, endian, endian, hex, hex, hex, hex, hex, hex, hexCharToByte, hexCharToByte, hexStringToByte, itob, ltob, printAsciiOrHex, printHex, stob, textDisplayMode, textDisplayMode`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### version

          public static int version

    - #### openNurbsVersion4

          public static final int openNurbsVersion4

      See Also:
        Constant Field Values

    - #### openNurbsVersion5

          public static final int openNurbsVersion5

      See Also:
        Constant Field Values

    - #### openNurbsVersion

          public static int openNurbsVersion

    - #### ostream

          public java.io.OutputStream ostream

    - #### file

          public IRhino3dm.Rhino3dmFile file

    - #### server

          public IServerI server

    - #### currentPos

          public int currentPos

  - ### Constructor Detail

    - #### IRhino3dmExporter

          public IRhino3dmExporter(java.io.OutputStream ostr,
                                   IServerI svr)

  - ### Method Detail

    - #### setVersion

          public static void setVersion(int ver)

    - #### SizeofChunkLength

          public static int SizeofChunkLength()

    - #### write

          public static boolean write(java.io.File file,
                                      IServerI server,
                                      int version3dm)

      Writing the content of server out to 3dm file. The main entry of the exporter class.
      Parameters:
        `file` - An exporting file object.
        `server` - A server interface containing exporting data.
      Returns:
        Boolean true if writing is successful. Otherwise false.

    - #### write

          public static boolean write(java.io.OutputStream os,
                                      IServerI server,
                                      int version3dm)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### write

          public void write(int vers)
                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeStartSection

          public void writeStartSection()
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeProperties

          public void writeProperties()
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeSettings

          public void writeSettings()
                             throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeBitmapTable

          public void writeBitmapTable()
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeTextureMappingTable

          public void writeTextureMappingTable()
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getMaterialChunk

          public IRhino3dm.Chunk getMaterialChunk(IRhino3dm.Material mat)
                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeMaterialTable

          public void writeMaterialTable()
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeLinetypeTable

          public void writeLinetypeTable()
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeLayerTable

          public void writeLayerTable()
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeGroupTable

          public void writeGroupTable()
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeFontTable

          public void writeFontTable()
                              throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeDimStyleTable

          public void writeDimStyleTable()
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeLightTable

          public void writeLightTable()
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeHatchPatternTable

          public void writeHatchPatternTable()
                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInstanceDefinitionTable

          public void writeInstanceDefinitionTable()
                                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeObjectTable

          public void writeObjectTable()
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getRhinoObject

          public static IRhino3dm.RhinoObject getRhinoObject(IObject e,
                                                             IRhino3dm.Rhino3dmFile context)

    - #### getRhinoPoint

          public static IRhino3dm.Point getRhinoPoint(IVec p)

    - #### getRhinoCurve

          public static IRhino3dm.NurbsCurve getRhinoCurve(ICurveGeo crv)

    - #### getRhinoSurface

          public static IRhino3dm.RhinoObject getRhinoSurface(ISurfaceGeo srf)

    - #### getRhinoBrep

          public static IRhino3dm.Brep getRhinoBrep(IBrep brep)

    - #### getRhinoBrep

          public static IRhino3dm.Brep getRhinoBrep(IVolume volume)

    - #### getRhinoMesh

          public static IRhino3dm.Mesh getRhinoMesh(IMeshI mesh)

    - #### getRhinoText

          public static IRhino3dm.TextEntity2 getRhinoText(IText text)

    - #### getObjectChunk

          public IRhino3dm.Chunk getObjectChunk(IObject e)
                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeHistoryRecordTable

          public void writeHistoryRecordTable()
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeUserDataTable

          public void writeUserDataTable()
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeEndMark

          public void writeEndMark()
                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getObjectChunk

          public IRhino3dm.Chunk getObjectChunk(IRhino3dm.RhinoObject obj)
                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getObjectChunk

          public static IRhino3dm.Chunk getObjectChunk(IRhino3dm.Rhino3dmFile context,
                                                       IRhino3dm.RhinoObject obj)
                                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### nestChunk

          public IRhino3dm.Chunk nestChunk(int tcode,
                                           IRhino3dm.Chunk c)
                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### write

          public void write(byte[] data,
                            java.util.zip.CRC32 crc)
                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### write

          public void write(byte[] data,
                            int len,
                            java.util.zip.CRC32 crc)
                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeBytes

          public void writeBytes(byte[] data,
                                 java.util.zip.CRC32 crc)
                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeByte

          public void writeByte(byte b,
                                java.util.zip.CRC32 crc)
                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChar

          public void writeChar(char c,
                                java.util.zip.CRC32 crc)
                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInt32

          public void writeInt32(int i,
                                 java.util.zip.CRC32 crc)
                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInt16

          public void writeInt16(short s,
                                 java.util.zip.CRC32 crc)
                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInt64

          public void writeInt64(long l,
                                 java.util.zip.CRC32 crc)
                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeShort

          public void writeShort(short s,
                                 java.util.zip.CRC32 crc)
                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeLong

          public void writeLong(long l,
                                java.util.zip.CRC32 crc)
                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### write

          public static void write(java.io.OutputStream os,
                                   byte[] data,
                                   java.util.zip.CRC32 crc)
                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### write

          public static void write(java.io.OutputStream os,
                                   byte[] data,
                                   int len,
                                   java.util.zip.CRC32 crc)
                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeBytes

          public static void writeBytes(java.io.OutputStream os,
                                        byte[] data,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeByte

          public static void writeByte(java.io.OutputStream os,
                                       byte b,
                                       java.util.zip.CRC32 crc)
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChar

          public static void writeChar(java.io.OutputStream os,
                                       char c,
                                       java.util.zip.CRC32 crc)
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInt32

          public static void writeInt32(java.io.OutputStream os,
                                        int i,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInt16

          public static void writeInt16(java.io.OutputStream os,
                                        short s,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInt64

          public static void writeInt64(java.io.OutputStream os,
                                        long l,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeShort

          public static void writeShort(java.io.OutputStream os,
                                        short s,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInt

          public static void writeInt(java.io.OutputStream os,
                                      int i,
                                      java.util.zip.CRC32 crc)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeLong

          public static void writeLong(java.io.OutputStream os,
                                       long l,
                                       java.util.zip.CRC32 crc)
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeBool

          public static void writeBool(java.io.OutputStream os,
                                       boolean b,
                                       java.util.zip.CRC32 crc)
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeDouble

          public static void writeDouble(java.io.OutputStream os,
                                         double d,
                                         java.util.zip.CRC32 crc)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeFloat

          public static void writeFloat(java.io.OutputStream os,
                                        float f,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writePoint

          public static void writePoint(java.io.OutputStream os,
                                        IVecI v,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writePoint3f

          public static void writePoint3f(java.io.OutputStream os,
                                          IVecI v,
                                          java.util.zip.CRC32 crc)
                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writePoint2

          public static void writePoint2(java.io.OutputStream os,
                                         IVec2I v,
                                         java.util.zip.CRC32 crc)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writePoint2f

          public static void writePoint2f(java.io.OutputStream os,
                                          IVec2I v,
                                          java.util.zip.CRC32 crc)
                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeVector

          public static void writeVector(java.io.OutputStream os,
                                         IVecI v,
                                         java.util.zip.CRC32 crc)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeVector

          public static void writeVector(java.io.OutputStream os,
                                         IVec2I v,
                                         java.util.zip.CRC32 crc)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writePlane

          public static void writePlane(java.io.OutputStream os,
                                        IRhino3dm.Plane plane,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeXform

          public static void writeXform(java.io.OutputStream os,
                                        IRhino3dm.Xform xform,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeInterval

          public static void writeInterval(java.io.OutputStream os,
                                           IRhino3dm.Interval interval,
                                           java.util.zip.CRC32 crc)
                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeString

          public static void writeString(java.io.OutputStream os,
                                         java.lang.String s,
                                         java.util.zip.CRC32 crc)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeColor

          public static void writeColor(java.io.OutputStream os,
                                        IColor color,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeBoundingBox

          public static void writeBoundingBox(java.io.OutputStream os,
                                              IRhino3dm.BoundingBox bbox,
                                              java.util.zip.CRC32 crc)
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeSurfaceCurvature

          public static void writeSurfaceCurvature(java.io.OutputStream os,
                                                   IRhino3dm.SurfaceCurvature sc,
                                                   java.util.zip.CRC32 crc)
                                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArray

          public static void writeArray(java.io.OutputStream os,
                                        java.util.ArrayList<? extends IRhino3dm.RhinoObject> array,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArray

          public static void writeArray(IRhino3dm.Rhino3dmFile context,
                                        java.io.OutputStream os,
                                        java.util.ArrayList<? extends IRhino3dm.RhinoObject> array,
                                        java.util.zip.CRC32 crc)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayInt

          public static void writeArrayInt(java.io.OutputStream os,
                                           java.util.ArrayList<java.lang.Integer> array,
                                           java.util.zip.CRC32 crc)
                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayPoint

          public static void writeArrayPoint(java.io.OutputStream os,
                                             java.util.ArrayList<IVec> array,
                                             java.util.zip.CRC32 crc)
                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayPoint3f

          public static void writeArrayPoint3f(java.io.OutputStream os,
                                               java.util.ArrayList<IVec> array,
                                               java.util.zip.CRC32 crc)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayPoint3f

          public static byte[] writeArrayPoint3f(java.util.ArrayList<IVec> array,
                                                 java.util.zip.CRC32 crc)
                                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayPoint2

          public static void writeArrayPoint2(java.io.OutputStream os,
                                              java.util.ArrayList<IVec2> array,
                                              java.util.zip.CRC32 crc)
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayPoint2f

          public static void writeArrayPoint2f(java.io.OutputStream os,
                                               java.util.ArrayList<IVec2> array,
                                               java.util.zip.CRC32 crc)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayPoint2f

          public static byte[] writeArrayPoint2f(java.util.ArrayList<IVec2> array,
                                                 java.util.zip.CRC32 crc)
                                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayColor

          public static void writeArrayColor(java.io.OutputStream os,
                                             java.util.ArrayList<IColor> array,
                                             java.util.zip.CRC32 crc)
                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayColor

          public static byte[] writeArrayColor(java.util.ArrayList<IColor> array,
                                               java.util.zip.CRC32 crc)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArraySurfaceCurvature

          public static void writeArraySurfaceCurvature(java.io.OutputStream os,
                                                        java.util.ArrayList<IRhino3dm.SurfaceCurvature> array,
                                                        java.util.zip.CRC32 crc)
                                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArraySurfaceCurvature

          public static byte[] writeArraySurfaceCurvature(java.util.ArrayList<IRhino3dm.SurfaceCurvature> array,
                                                          java.util.zip.CRC32 crc)
                                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayDisplayMaterialRef

          public static void writeArrayDisplayMaterialRef(IRhino3dm.Rhino3dmFile context,
                                                          java.io.OutputStream os,
                                                          java.util.ArrayList<IRhino3dm.DisplayMaterialRef> array,
                                                          java.util.zip.CRC32 crc)
                                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeArrayUUIDIndex

          public static void writeArrayUUIDIndex(IRhino3dm.Rhino3dmFile context,
                                                 java.io.OutputStream os,
                                                 java.util.ArrayList<IRhino3dm.UUIDIndex> array,
                                                 java.util.zip.CRC32 crc)
                                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeUUID

          public static void writeUUID(java.io.OutputStream os,
                                       IRhino3dm.UUID uuid,
                                       java.util.zip.CRC32 crc)
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkVersion

          public static void writeChunkVersion(java.io.OutputStream os,
                                               int majorVersion,
                                               int minorVersion,
                                               java.util.zip.CRC32 crc)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkValue

          public void writeChunkValue(int typecode,
                                      int value)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkValue

          public static void writeChunkValue(java.io.OutputStream os,
                                             int typecode,
                                             int value)
                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkLength

          public void writeChunkLength(int length)
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkLength

          public static void writeChunkLength(java.io.OutputStream os,
                                              int length)
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunk

          public void writeChunk(IRhino3dm.Chunk chunk)
                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunk

          public static void writeChunk(java.io.OutputStream os,
                                        IRhino3dm.Chunk chunk)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkTable

          public void writeChunkTable(int tableTypeCode)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkTable

          public void writeChunkTable(int tableTypeCode,
                                      IRhino3dm.Chunk[] chunks)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkTable

          public void writeChunkTable(int tableTypeCode,
                                      IRhino3dm.Chunk[] chunks,
                                      int endTypeCode)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkTable

          public void writeChunkTable(IRhino3dm.ChunkTable chunkTable)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeChunkTable

          public static void writeChunkTable(java.io.OutputStream os,
                                             IRhino3dm.ChunkTable chunkTable)
                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeCompressedBuffer

          public static void writeCompressedBuffer(java.io.OutputStream os,
                                                   byte[] buf,
                                                   int len,
                                                   java.util.zip.CRC32 crc)
                                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeDeflate

          public static void writeDeflate(java.io.OutputStream os,
                                          byte[] buf,
                                          int len,
                                          java.util.zip.CRC32 crc)
                                   throws java.io.IOException

      Throws:
        `java.io.IOException`