# Class VulkanPipelineRasterizationStateCreateInfo.Builder

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

Enclosing class:
  `VulkanPipelineRasterizationStateCreateInfo`

public static final class VulkanPipelineRasterizationStateCreateInfo.Builder extends Object
Builds instances of type `VulkanPipelineRasterizationStateCreateInfo`. 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 VulkanPipelineRasterizationStateCreateInfo.Builder`
  `addAllCullMode(Iterable<VulkanCullModeFlag> elements)`
  Adds elements to `cullMode` set.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `addAllFlags(Iterable<VulkanPipelineRasterizationStateCreateFlag> elements)`
  Adds elements to `flags` set.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `addCullMode(VulkanCullModeFlag element)`
  Adds one element to `cullMode` set.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `addCullMode(VulkanCullModeFlag... elements)`
  Adds elements to `cullMode` set.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `addFlags(VulkanPipelineRasterizationStateCreateFlag element)`
  Adds one element to `flags` set.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `addFlags(VulkanPipelineRasterizationStateCreateFlag... elements)`
  Adds elements to `flags` set.
  `VulkanPipelineRasterizationStateCreateInfo`
  `build()`
  Builds a new `VulkanPipelineRasterizationStateCreateInfo`.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `from(VulkanPipelineRasterizationStateCreateInfoType instance)`
  Fill a builder with attribute values from the provided `VulkanPipelineRasterizationStateCreateInfoType` instance.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setCullMode(Iterable<VulkanCullModeFlag> elements)`
  Sets or replaces all elements for `cullMode` set.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setDepthBiasClamp(float depthBiasClamp)`
  Initializes the value for the `depthBiasClamp` attribute.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setDepthBiasConstantFactor(float depthBiasConstantFactor)`
  Initializes the value for the `depthBiasConstantFactor` attribute.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setDepthBiasEnable(boolean depthBiasEnable)`
  Initializes the value for the `depthBiasEnable` attribute.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setDepthBiasSlopeFactor(float depthBiasSlopeFactor)`
  Initializes the value for the `depthBiasSlopeFactor` attribute.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setDepthClampEnable(boolean depthClampEnable)`
  Initializes the value for the `depthClampEnable` attribute.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setFlags(Iterable<VulkanPipelineRasterizationStateCreateFlag> elements)`
  Sets or replaces all elements for `flags` set.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setFrontFace(VulkanFrontFace frontFace)`
  Initializes the value for the `frontFace` attribute.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setLineWidth(float lineWidth)`
  Initializes the value for the `lineWidth` attribute.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setPolygonMode(VulkanPolygonMode polygonMode)`
  Initializes the value for the `polygonMode` attribute.
  `final VulkanPipelineRasterizationStateCreateInfo.Builder`
  `setRasterizerDiscardEnable(boolean rasterizerDiscardEnable)`
  Initializes the value for the `rasterizerDiscardEnable` attribute.

  ### Methods inherited from class java.lang.Object

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

- ## Method Details

  - ### from

    public final VulkanPipelineRasterizationStateCreateInfo.Builder from(VulkanPipelineRasterizationStateCreateInfoType instance)
    Fill a builder with attribute values from the provided `VulkanPipelineRasterizationStateCreateInfoType` 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 VulkanPipelineRasterizationStateCreateInfo.Builder addFlags(VulkanPipelineRasterizationStateCreateFlag element)
    Adds one element to `flags` set.
    Parameters:
      `element` - A flags element
    Returns:
      `this` builder for use in a chained invocation

  - ### addFlags

    public final VulkanPipelineRasterizationStateCreateInfo.Builder addFlags(VulkanPipelineRasterizationStateCreateFlag... 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 VulkanPipelineRasterizationStateCreateInfo.Builder setFlags(Iterable<VulkanPipelineRasterizationStateCreateFlag> 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 VulkanPipelineRasterizationStateCreateInfo.Builder addAllFlags(Iterable<VulkanPipelineRasterizationStateCreateFlag> elements)
    Adds elements to `flags` set.
    Parameters:
      `elements` - An iterable of flags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setDepthClampEnable

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setDepthClampEnable(boolean depthClampEnable)
    Initializes the value for the `depthClampEnable` attribute.
    Parameters:
      `depthClampEnable` - The value for depthClampEnable
    Returns:
      `this` builder for use in a chained invocation

  - ### setRasterizerDiscardEnable

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setRasterizerDiscardEnable(boolean rasterizerDiscardEnable)
    Initializes the value for the `rasterizerDiscardEnable` attribute.
    Parameters:
      `rasterizerDiscardEnable` - The value for rasterizerDiscardEnable
    Returns:
      `this` builder for use in a chained invocation

  - ### setPolygonMode

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setPolygonMode(VulkanPolygonMode polygonMode)
    Initializes the value for the `polygonMode` attribute.

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

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

  - ### addCullMode

    public final VulkanPipelineRasterizationStateCreateInfo.Builder addCullMode(VulkanCullModeFlag element)
    Adds one element to `cullMode` set.
    Parameters:
      `element` - A cullMode element
    Returns:
      `this` builder for use in a chained invocation

  - ### addCullMode

    public final VulkanPipelineRasterizationStateCreateInfo.Builder addCullMode(VulkanCullModeFlag... elements)
    Adds elements to `cullMode` set.
    Parameters:
      `elements` - An array of cullMode elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setCullMode

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setCullMode(Iterable<VulkanCullModeFlag> elements)
    Sets or replaces all elements for `cullMode` set.
    Parameters:
      `elements` - An iterable of cullMode elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllCullMode

    public final VulkanPipelineRasterizationStateCreateInfo.Builder addAllCullMode(Iterable<VulkanCullModeFlag> elements)
    Adds elements to `cullMode` set.
    Parameters:
      `elements` - An iterable of cullMode elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setFrontFace

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setFrontFace(VulkanFrontFace frontFace)
    Initializes the value for the `frontFace` attribute.

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

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

  - ### setDepthBiasEnable

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setDepthBiasEnable(boolean depthBiasEnable)
    Initializes the value for the `depthBiasEnable` attribute.
    Parameters:
      `depthBiasEnable` - The value for depthBiasEnable
    Returns:
      `this` builder for use in a chained invocation

  - ### setDepthBiasConstantFactor

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setDepthBiasConstantFactor(float depthBiasConstantFactor)
    Initializes the value for the `depthBiasConstantFactor` attribute.

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

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

  - ### setDepthBiasClamp

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setDepthBiasClamp(float depthBiasClamp)
    Initializes the value for the `depthBiasClamp` attribute.

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

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

  - ### setDepthBiasSlopeFactor

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setDepthBiasSlopeFactor(float depthBiasSlopeFactor)
    Initializes the value for the `depthBiasSlopeFactor` attribute.

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

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

  - ### setLineWidth

    public final VulkanPipelineRasterizationStateCreateInfo.Builder setLineWidth(float lineWidth)
    Initializes the value for the `lineWidth` attribute.

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

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

  - ### build

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