Class SMFCoordinateSystem.Builder

  • Enclosing class:
    SMFCoordinateSystem

    public static final class SMFCoordinateSystem.Builder
    extends java.lang.Object
    Builds instances of type SMFCoordinateSystem. Initialize attributes and then invoke the build() method to create an immutable instance.

    Builder is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

    • Method Detail

      • from

        public final SMFCoordinateSystem.Builder from​(SMFCoordinateSystemType instance)
        Fill a builder with attribute values from the provided SMFCoordinateSystemType instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.
        Parameters:
        instance - The instance from which to copy values
        Returns:
        this builder for use in a chained invocation
      • setAxes

        public final SMFCoordinateSystem.Builder setAxes​(com.io7m.jcoords.core.conversion.CAxisSystem axes)
        Initializes the value for the axes attribute.

        If not set, this attribute will have a default value as returned by the initializer of axes.

        Parameters:
        axes - The value for axes
        Returns:
        this builder for use in a chained invocation
      • setWindingOrder

        public final SMFCoordinateSystem.Builder setWindingOrder​(SMFFaceWindingOrder windingOrder)
        Initializes the value for the windingOrder attribute.

        If not set, this attribute will have a default value as returned by the initializer of windingOrder.

        Parameters:
        windingOrder - The value for windingOrder
        Returns:
        this builder for use in a chained invocation
      • build

        public SMFCoordinateSystem build()
        Builds a new SMFCoordinateSystem.
        Returns:
        An immutable instance of SMFCoordinateSystem
        Throws:
        java.lang.IllegalStateException - if any required attributes are missing