Class AbstractTextBoundaryWriteHandler3D

java.lang.Object
org.apache.commons.geometry.io.euclidean.threed.AbstractBoundaryWriteHandler3D
org.apache.commons.geometry.io.euclidean.threed.txt.AbstractTextBoundaryWriteHandler3D
All Implemented Interfaces:
BoundaryWriteHandler<PlaneConvexSubset,BoundarySource3D>, BoundaryWriteHandler3D
Direct Known Subclasses:
CsvBoundaryWriteHandler3D, TextBoundaryWriteHandler3D

public abstract class AbstractTextBoundaryWriteHandler3D extends AbstractBoundaryWriteHandler3D
Abstract based class for write handlers that output text formats produced by TextFacetDefinitionWriter.
See Also:
  • Field Details

    • DEFAULT_LINE_SEPARATOR

      private static final String DEFAULT_LINE_SEPARATOR
      The default line separator value.
      See Also:
    • defaultCharset

      private Charset defaultCharset
      Default charset used for text output.
    • lineSeparator

      private String lineSeparator
      Line separator string.
    • doubleFormat

      private DoubleFunction<String> doubleFormat
      Double format function.
  • Constructor Details

    • AbstractTextBoundaryWriteHandler3D

      public AbstractTextBoundaryWriteHandler3D()
  • Method Details

    • getDefaultCharset

      public Charset 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 defaultCharset)
      Set the text output default charset, used if the output does not specify a charset.
      Parameters:
      defaultCharset - text output default charset
    • getLineSeparator

      public String 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

      public DoubleFunction<String> getDoubleFormat()
      Get the double format function used to convert double values to strings.
      Returns:
      double format function
    • setDoubleFormat

      public void setDoubleFormat(DoubleFunction<String> doubleFormat)
      Set the double format 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
    • 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
    • getFacetDefinitionWriter

      protected TextFacetDefinitionWriter getFacetDefinitionWriter(GeometryOutput out)
      Get a configured TextFacetDefinitionWriter for writing output.
      Parameters:
      out - output stream to write to
      Returns:
      a new, configured text format writer
      Throws:
      UncheckedIOException - if an I/O error occurs