# IntegralNode

Artifact: [androidx.ink:ink-brush](https://developer.android.com/jetpack/androidx/releases/ink) [View Source](https://cs.android.com/search?q=file:androidx/ink/brush/behavior/IntegralNode.kt+class:androidx.ink.brush.behavior.IntegralNode) Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

*** ** * ** ***

Common/All
- Cmn

  ```
  class IntegralNode : ValueNode
  ```

|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) ||||
| ↳ | [androidx.ink.brush.behavior.Node](https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/Node) |||
|   | ↳ | [androidx.ink.brush.behavior.ValueNode](https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ValueNode) ||
|   |   | ↳ | [androidx.ink.brush.behavior.IntegralNode](https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode) |

*** ** * ** ***

A `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ValueNode` that integrates an input value over time or distance.

## Summary

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#IntegralNode(androidx.ink.brush.behavior.ProgressDomain,kotlin.Float,kotlin.Float,androidx.ink.brush.behavior.OutOfRange,androidx.ink.brush.behavior.ValueNode)( integrateOver: https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ProgressDomain, integralValueRangeStart: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, integralValueRangeEnd: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, integralOutOfRangeBehavior: https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/OutOfRange, input: https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ValueNode )` Creates an `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode` that integrates over an input value. | Cmn |

| ### Public functions |
|---|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#hashCode()()` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#toString()()` | Cmn |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ValueNode` | `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#input()` The input node that produces the value to be integrated. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/OutOfRange` | `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#integralOutOfRangeBehavior()` The behavior to use if the integral produces a value outside the specified range. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#integralValueRangeEnd()` The end of the range of values that the integral can produce. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#integralValueRangeStart()` The start of the range of values that the integral can produce. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ProgressDomain` | `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#integrateOver()` The metric to integrate the input over. | Cmn |

### Inherited functions

From [androidx.ink.brush.behavior.Node](https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/Node) `https://developer.android.com/reference/kotlin/androidx/ink/brush/Version` `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/Node#calculateMinimumRequiredVersion()()`

Returns the minimum required `https://developer.android.com/reference/kotlin/androidx/ink/brush/Version` for this `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/Node`.
Cmn

### Inherited properties

From [androidx.ink.brush.behavior.Node](https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/Node) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ValueNode>` `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/Node#inputs()`

The ordered list of inputs that this node directly depends on.
Cmn

## Public constructors

### IntegralNode

Cmn Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

```
IntegralNode(
    integrateOver: ProgressDomain,
    integralValueRangeStart: Float,
    integralValueRangeEnd: Float,
    integralOutOfRangeBehavior: OutOfRange,
    input: ValueNode
)
```

Creates an `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode` that integrates over an input value.

If `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#(androidx.ink.brush.behavior.ProgressDomain,kotlin.Float,kotlin.Float,androidx.ink.brush.behavior.OutOfRange,androidx.ink.brush.behavior.ValueNode)` is `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ProgressDomain#DISTANCE_IN_CENTIMETERS()` and the stroke input data does not indicate the relationship between stroke units and physical units (e.g. as may be the case for programmatically-generated inputs), then the output value will be null regardless of the input.

| Parameters |
|---|---|
| `integrateOver: https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ProgressDomain` | the metric to integrate the input over |
| `integralValueRangeStart: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | the start of the range of values that the integral can produce. Must be finite and distinct from `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#(androidx.ink.brush.behavior.ProgressDomain,kotlin.Float,kotlin.Float,androidx.ink.brush.behavior.OutOfRange,androidx.ink.brush.behavior.ValueNode)` |
| `integralValueRangeEnd: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | the end of the range of values that the integral can produce. Must be finite and distinct from `https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/IntegralNode#(androidx.ink.brush.behavior.ProgressDomain,kotlin.Float,kotlin.Float,androidx.ink.brush.behavior.OutOfRange,androidx.ink.brush.behavior.ValueNode)` |
| `integralOutOfRangeBehavior: https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/OutOfRange` | the behavior to use if the integral produces a value outside the specified range |
| `input: https://developer.android.com/reference/kotlin/androidx/ink/brush/behavior/ValueNode` | input node that produces the value to be integrated |

## Public functions

### equals

Cmn

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

Cmn

```
open fun hashCode(): Int
```

### toString

Cmn

```
open fun toString(): String
```

## Public properties

### input

Cmn Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

```
val input: ValueNode
```

The input node that produces the value to be integrated.

### integralOutOfRangeBehavior

Cmn Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

```
val integralOutOfRangeBehavior: OutOfRange
```

The behavior to use if the integral produces a value outside the specified range.

### integralValueRangeEnd

Cmn Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

```
val integralValueRangeEnd: Float
```

The end of the range of values that the integral can produce.

### integralValueRangeStart

Cmn Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

```
val integralValueRangeStart: Float
```

The start of the range of values that the integral can produce.

### integrateOver

Cmn Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

```
val integrateOver: ProgressDomain
```

The metric to integrate the input over.