# Class VulkanSamplerCreateInfo.Builder

java.lang.Object
com.io7m.jcoronado.api.VulkanSamplerCreateInfo.Builder

Enclosing class:
  `VulkanSamplerCreateInfo`

public static final class VulkanSamplerCreateInfo.Builder extends Object
Builds instances of type `VulkanSamplerCreateInfo`. 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 Summary

  Modifier and Type
  Method
  Description
  `final VulkanSamplerCreateInfo.Builder`
  `addAllFlags(Iterable<VulkanSamplerCreateFlag> elements)`
  Adds elements to `flags` set.
  `final VulkanSamplerCreateInfo.Builder`
  `addFlags(VulkanSamplerCreateFlag element)`
  Adds one element to `flags` set.
  `final VulkanSamplerCreateInfo.Builder`
  `addFlags(VulkanSamplerCreateFlag... elements)`
  Adds elements to `flags` set.
  `VulkanSamplerCreateInfo`
  `build()`
  Builds a new `VulkanSamplerCreateInfo`.
  `final VulkanSamplerCreateInfo.Builder`
  `from(VulkanSamplerCreateInfoType instance)`
  Fill a builder with attribute values from the provided `VulkanSamplerCreateInfoType` instance.
  `final VulkanSamplerCreateInfo.Builder`
  `setAddressModeU(VulkanSamplerAddressMode addressModeU)`
  Initializes the value for the `addressModeU` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setAddressModeV(VulkanSamplerAddressMode addressModeV)`
  Initializes the value for the `addressModeV` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setAddressModeW(VulkanSamplerAddressMode addressModeW)`
  Initializes the value for the `addressModeW` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setBorderColor(VulkanBorderColor borderColor)`
  Initializes the value for the `borderColor` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setCompareOp(VulkanCompareOp compareOp)`
  Initializes the optional value `compareOp` to compareOp.
  `final VulkanSamplerCreateInfo.Builder`
  `setCompareOp(Optional<? extends VulkanCompareOp> compareOp)`
  Initializes the optional value `compareOp` to compareOp.
  `final VulkanSamplerCreateInfo.Builder`
  `setFlags(Iterable<VulkanSamplerCreateFlag> elements)`
  Sets or replaces all elements for `flags` set.
  `final VulkanSamplerCreateInfo.Builder`
  `setMagFilter(VulkanFilter magFilter)`
  Initializes the value for the `magFilter` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setMaxAnisotropy(double maxAnisotropy)`
  Initializes the optional value `maxAnisotropy` to maxAnisotropy.
  `final VulkanSamplerCreateInfo.Builder`
  `setMaxAnisotropy(OptionalDouble maxAnisotropy)`
  Initializes the optional value `maxAnisotropy` to maxAnisotropy.
  `final VulkanSamplerCreateInfo.Builder`
  `setMaxLod(float maxLod)`
  Initializes the value for the `maxLod` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setMinFilter(VulkanFilter minFilter)`
  Initializes the value for the `minFilter` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setMinLod(float minLod)`
  Initializes the value for the `minLod` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setMipLodBias(float mipLodBias)`
  Initializes the value for the `mipLodBias` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setMipmapMode(VulkanSamplerMipmapMode mipmapMode)`
  Initializes the value for the `mipmapMode` attribute.
  `final VulkanSamplerCreateInfo.Builder`
  `setUnnormalizedCoordinates(boolean unnormalizedCoordinates)`
  Initializes the value for the `unnormalizedCoordinates` attribute.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### from

    public final VulkanSamplerCreateInfo.Builder from(VulkanSamplerCreateInfoType instance)
    Fill a builder with attribute values from the provided `VulkanSamplerCreateInfoType` instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.
    Parameters:
      `instance` - The instance from which to copy values
    Returns:
      `this` builder for use in a chained invocation

  - ### addFlags

    public final VulkanSamplerCreateInfo.Builder addFlags(VulkanSamplerCreateFlag element)
    Adds one element to `flags` set.
    Parameters:
      `element` - A flags element
    Returns:
      `this` builder for use in a chained invocation

  - ### addFlags

    public final VulkanSamplerCreateInfo.Builder addFlags(VulkanSamplerCreateFlag... elements)
    Adds elements to `flags` set.
    Parameters:
      `elements` - An array of flags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setFlags

    public final VulkanSamplerCreateInfo.Builder setFlags(Iterable<VulkanSamplerCreateFlag> elements)
    Sets or replaces all elements for `flags` set.
    Parameters:
      `elements` - An iterable of flags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllFlags

    public final VulkanSamplerCreateInfo.Builder addAllFlags(Iterable<VulkanSamplerCreateFlag> elements)
    Adds elements to `flags` set.
    Parameters:
      `elements` - An iterable of flags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setMagFilter

    public final VulkanSamplerCreateInfo.Builder setMagFilter(VulkanFilter magFilter)
    Initializes the value for the `magFilter` attribute.

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

    Parameters:
      `magFilter` - The value for magFilter
    Returns:
      `this` builder for use in a chained invocation

  - ### setMinFilter

    public final VulkanSamplerCreateInfo.Builder setMinFilter(VulkanFilter minFilter)
    Initializes the value for the `minFilter` attribute.

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

    Parameters:
      `minFilter` - The value for minFilter
    Returns:
      `this` builder for use in a chained invocation

  - ### setMipmapMode

    public final VulkanSamplerCreateInfo.Builder setMipmapMode(VulkanSamplerMipmapMode mipmapMode)
    Initializes the value for the `mipmapMode` attribute.

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

    Parameters:
      `mipmapMode` - The value for mipmapMode
    Returns:
      `this` builder for use in a chained invocation

  - ### setAddressModeU

    public final VulkanSamplerCreateInfo.Builder setAddressModeU(VulkanSamplerAddressMode addressModeU)
    Initializes the value for the `addressModeU` attribute.

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

    Parameters:
      `addressModeU` - The value for addressModeU
    Returns:
      `this` builder for use in a chained invocation

  - ### setAddressModeV

    public final VulkanSamplerCreateInfo.Builder setAddressModeV(VulkanSamplerAddressMode addressModeV)
    Initializes the value for the `addressModeV` attribute.

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

    Parameters:
      `addressModeV` - The value for addressModeV
    Returns:
      `this` builder for use in a chained invocation

  - ### setAddressModeW

    public final VulkanSamplerCreateInfo.Builder setAddressModeW(VulkanSamplerAddressMode addressModeW)
    Initializes the value for the `addressModeW` attribute.

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

    Parameters:
      `addressModeW` - The value for addressModeW
    Returns:
      `this` builder for use in a chained invocation

  - ### setMipLodBias

    public final VulkanSamplerCreateInfo.Builder setMipLodBias(float mipLodBias)
    Initializes the value for the `mipLodBias` attribute.

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

    Parameters:
      `mipLodBias` - The value for mipLodBias
    Returns:
      `this` builder for use in a chained invocation

  - ### setMaxAnisotropy

    public final VulkanSamplerCreateInfo.Builder setMaxAnisotropy(double maxAnisotropy)
    Initializes the optional value `maxAnisotropy` to maxAnisotropy.
    Parameters:
      `maxAnisotropy` - The value for maxAnisotropy
    Returns:
      `this` builder for chained invocation

  - ### setMaxAnisotropy

    public final VulkanSamplerCreateInfo.Builder setMaxAnisotropy(OptionalDouble maxAnisotropy)
    Initializes the optional value `maxAnisotropy` to maxAnisotropy.
    Parameters:
      `maxAnisotropy` - The value for maxAnisotropy
    Returns:
      `this` builder for use in a chained invocation

  - ### setCompareOp

    public final VulkanSamplerCreateInfo.Builder setCompareOp(VulkanCompareOp compareOp)
    Initializes the optional value `compareOp` to compareOp.
    Parameters:
      `compareOp` - The value for compareOp
    Returns:
      `this` builder for chained invocation

  - ### setCompareOp

    public final VulkanSamplerCreateInfo.Builder setCompareOp(Optional<? extends VulkanCompareOp> compareOp)
    Initializes the optional value `compareOp` to compareOp.
    Parameters:
      `compareOp` - The value for compareOp
    Returns:
      `this` builder for use in a chained invocation

  - ### setMinLod

    public final VulkanSamplerCreateInfo.Builder setMinLod(float minLod)
    Initializes the value for the `minLod` attribute.

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

    Parameters:
      `minLod` - The value for minLod
    Returns:
      `this` builder for use in a chained invocation

  - ### setMaxLod

    public final VulkanSamplerCreateInfo.Builder setMaxLod(float maxLod)
    Initializes the value for the `maxLod` attribute.

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

    Parameters:
      `maxLod` - The value for maxLod
    Returns:
      `this` builder for use in a chained invocation

  - ### setBorderColor

    public final VulkanSamplerCreateInfo.Builder setBorderColor(VulkanBorderColor borderColor)
    Initializes the value for the `borderColor` attribute.

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

    Parameters:
      `borderColor` - The value for borderColor
    Returns:
      `this` builder for use in a chained invocation

  - ### setUnnormalizedCoordinates

    public final VulkanSamplerCreateInfo.Builder setUnnormalizedCoordinates(boolean unnormalizedCoordinates)
    Initializes the value for the `unnormalizedCoordinates` attribute.

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

    Parameters:
      `unnormalizedCoordinates` - The value for unnormalizedCoordinates
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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