Class ObjBoundaryWriteHandler3D

java.lang.Object
org.apache.commons.geometry.io.euclidean.threed.AbstractBoundaryWriteHandler3D
org.apache.commons.geometry.io.euclidean.threed.obj.ObjBoundaryWriteHandler3D
All Implemented Interfaces:
BoundaryWriteHandler<PlaneConvexSubset, BoundarySource3D>, BoundaryWriteHandler3D

BoundaryWriteHandler3D implementation for writing OBJ content. Output is written using the UTF-8 charset by default.
  • Constructor Details

  • Method Details

    • getFormat

      Get the data format supported by this handler.
      Returns:
      data format supported by this handler
    • getDefaultCharset

      Get the text output default charset, used if the output does not specify a charset.
      Returns:
      text output default charset
    • setDefaultCharset

      public void setDefaultCharset(Charset charset)
      Set the text output default charset, used if the output does not specify a charset.
      Parameters:
      charset - text output default charset
    • getLineSeparator

      Get the line separator. This value defaults to "\n".
      Returns:
      the current line separator
    • setLineSeparator

      public void setLineSeparator(String lineSeparator)
      Set the line separator.
      Parameters:
      lineSeparator - the line separator to use
    • getDoubleFormat

      Get the function used to convert double values to strings.
      Returns:
      double format function
    • setDoubleFormat

      public void setDoubleFormat(DoubleFunction<String> doubleFormat)
      Set the function used to convert double values to strings. The given function must be thread-safe if this handler is to be used in a multi-threaded context.
      Parameters:
      doubleFormat - double format function
    • getMeshBufferBatchSize

      public int getMeshBufferBatchSize()
      Get the batch size when generating OBJ mesh content from facet sequences. Larger batch sizes allow for reuse of vertex definitions but at the cost of more memory usage. The buffer size is unlimited if set to -1. Default value is -1.
      Returns:
      mesh buffer batch size
      See Also:
    • setMeshBufferBatchSize

      public void setMeshBufferBatchSize(int batchSize)
      Set the batch size when generating OBJ mesh content from facet sequences. Larger batch sizes allow for reuse of vertex definitions but at the cost of more memory usage. Set to -1 to allow unlimited buffer size. Default value is -1.
      Parameters:
      batchSize - mesh buffer batch size; set to -1 to allow unlimited buffer sizes
      See Also:
    • write

      public void write(BoundarySource3D src, GeometryOutput out)
      Write all boundaries from src to the given output, using the data format for the instance.
      Specified by:
      write in interface BoundaryWriteHandler<PlaneConvexSubset, BoundarySource3D>
      Overrides:
      write in class AbstractBoundaryWriteHandler3D
      Parameters:
      src - boundary source
      out - output to write to
    • write

      public void write(Stream<? extends PlaneConvexSubset> boundaries, GeometryOutput out)
      Write all boundaries in the stream to the given output using the data format supported by this instance. The stream passed as an argument is not closed, meaning that callers are responsible for closing the stream if necessary (for example, if the stream fetches data from the file system).
      Parameters:
      boundaries - stream containing boundaries to write
      out - output to write to
    • writeFacets

      public void writeFacets(Stream<? extends FacetDefinition> facets, GeometryOutput out)
      Write all facets in the stream to the output using the data format supported by this instance. The stream passed as an argument is not closed, meaning that callers are responsible for closing the stream if necessary (for example, if the stream fetches data from the file system).
      Parameters:
      facets - stream containing facets to write
      out - output to write to