Class VulkanLineWidthRange

java.lang.Object
com.io7m.jcoronado.api.VulkanLineWidthRange
All Implemented Interfaces:
VulkanLineWidthRangeType

public final class VulkanLineWidthRange extends Object implements VulkanLineWidthRangeType
The inclusive range of supported sizes for points. Values written to variables decorated with the PointSize built-in decoration are clamped to this range.
  • Method Details

    • minimum

      public float minimum()
      Specified by:
      minimum in interface VulkanLineWidthRangeType
      Returns:
      The minimum width
    • maximum

      public float maximum()
      Specified by:
      maximum in interface VulkanLineWidthRangeType
      Returns:
      The maximum width
    • withMinimum

      public final VulkanLineWidthRange withMinimum(float value)
      Copy the current immutable object by setting a value for the minimum attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for minimum
      Returns:
      A modified copy of the this object
    • withMaximum

      public final VulkanLineWidthRange withMaximum(float value)
      Copy the current immutable object by setting a value for the maximum attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for maximum
      Returns:
      A modified copy of the this object
    • equals

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

      public int hashCode()
      Computes a hash code from attributes: minimum, maximum.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

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

      public static VulkanLineWidthRange of(float minimum, float maximum)
      Construct a new immutable VulkanLineWidthRange instance.
      Parameters:
      minimum - The value for the minimum attribute
      maximum - The value for the maximum attribute
      Returns:
      An immutable VulkanLineWidthRange instance
    • copyOf

      public static VulkanLineWidthRange copyOf(VulkanLineWidthRangeType instance)
      Creates an immutable copy of a VulkanLineWidthRangeType 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 VulkanLineWidthRange instance
    • builder

      public static VulkanLineWidthRange.Builder builder()
      Creates a builder for VulkanLineWidthRange.
       VulkanLineWidthRange.builder()
          .setMinimum(float) // required minimum
          .setMaximum(float) // required maximum
          .build();
       
      Returns:
      A new VulkanLineWidthRange builder