Class SMFCoordinateSystem

    • Method Detail

      • axes

        public com.io7m.jcoords.core.conversion.CAxisSystem axes()
        Specified by:
        axes in interface SMFCoordinateSystemType
        Returns:
        The coordinate system axes
      • withAxes

        public final SMFCoordinateSystem withAxes​(com.io7m.jcoords.core.conversion.CAxisSystem value)
        Copy the current immutable object by setting a value for the axes attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for axes
        Returns:
        A modified copy of the this object
      • withWindingOrder

        public final SMFCoordinateSystem withWindingOrder​(SMFFaceWindingOrder value)
        Copy the current immutable object by setting a value for the windingOrder attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for windingOrder
        Returns:
        A modified copy of the this object
      • equals

        public boolean equals​(java.lang.Object another)
        This instance is equal to all instances of SMFCoordinateSystem that have equal attribute values.
        Overrides:
        equals in class java.lang.Object
        Returns:
        true if this is equal to another instance
      • hashCode

        public int hashCode()
        Computes a hash code from attributes: axes, windingOrder.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        hashCode value
      • toString

        public java.lang.String toString()
        Prints the immutable value SMFCoordinateSystem with attribute values.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representation of the value
      • toHumanString

        public java.lang.String toHumanString()

        Returns a lazily initialized value of the toHumanString attribute. Initialized once and only once and stored for subsequent access with proper synchronization. In case of any exception or error thrown by the lazy value initializer, the result will not be memoised (i.e. remembered) and on next call computation will be attempted again.

        Specified by:
        toHumanString in interface SMFCoordinateSystemType
        Returns:
        A lazily initialized value of the toHumanString attribute
      • of

        public static SMFCoordinateSystem of​(com.io7m.jcoords.core.conversion.CAxisSystem axes,
                                             SMFFaceWindingOrder windingOrder)
        Construct a new immutable SMFCoordinateSystem instance.
        Parameters:
        axes - The value for the axes attribute
        windingOrder - The value for the windingOrder attribute
        Returns:
        An immutable SMFCoordinateSystem instance
      • copyOf

        public static SMFCoordinateSystem copyOf​(SMFCoordinateSystemType instance)
        Creates an immutable copy of a SMFCoordinateSystemType value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
        Parameters:
        instance - The instance to copy
        Returns:
        A copied immutable SMFCoordinateSystem instance
      • builder

        public static SMFCoordinateSystem.Builder builder()
        Creates a builder for SMFCoordinateSystem.
         SMFCoordinateSystem.builder()
            .setAxes(com.io7m.jcoords.core.conversion.CAxisSystem) // optional axes
            .setWindingOrder(com.io7m.smfj.core.SMFFaceWindingOrder) // optional windingOrder
            .build();
         
        Returns:
        A new SMFCoordinateSystem builder