# TimeCycleSplineSet

Artifact: [androidx.constraintlayout:constraintlayout-core](https://developer.android.com/jetpack/androidx/releases/constraintlayout) [View Source](https://cs.android.com/search?q=file:androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.java+class:androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet) Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

*** ** * ** ***

<br />

```
abstract class TimeCycleSplineSet
```

<br />

Known direct subclasses [TimeCycleSplineSet.CustomSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomSet), [TimeCycleSplineSet.CustomVarSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomVarSet), [ViewTimeCycle](https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewTimeCycle)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomSet` |   |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomVarSet` |   |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewTimeCycle` | This engine allows manipulation of attributes by wave shapes oscillating in time |

Known indirect subclasses [ViewTimeCycle.CustomSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewTimeCycle.CustomSet), [ViewTimeCycle.PathRotate](https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewTimeCycle.PathRotate)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewTimeCycle.CustomSet` |   |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewTimeCycle.PathRotate` |   |

*** ** * ** ***

This engine allows manipulation of attributes by wave shapes oscillating in time

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomSet : https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet` |
| `class https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomVarSet : https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet` |
| `protected class https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.Sort` |

| ### Constants |
|---|---|
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#CURVE_OFFSET() = 2` |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#CURVE_PERIOD() = 1` |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#CURVE_VALUE() = 0` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#TimeCycleSplineSet()()` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/CurveFit!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#getCurveFit()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#setPoint(int,float,float,int,float)(position: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, period: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, shape: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, offset: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#setType(java.lang.String)(type: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#setup(int)(curveType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#toString()()` |

| ### Protected functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#calcWave(float)(period: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#setStartTime(long)(currentTime: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` |

| ### Protected properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mCache()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mContinue()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mCount()` |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/CurveFit!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mCurveFit()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mLastCycle()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mLastTime()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html>!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mTimePoints()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mType()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>!>!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mValues()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mWaveShape()` |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#sVal2PI()` |

## Constants

### CURVE_OFFSET

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected const val CURVE_OFFSET = 2: Int
```

### CURVE_PERIOD

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected const val CURVE_PERIOD = 1: Int
```

### CURVE_VALUE

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected const val CURVE_VALUE = 0: Int
```

## Public constructors

### TimeCycleSplineSet

Added in 1.1.2

```
TimeCycleSplineSet()
```

## Public functions

### getCurveFit

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun getCurveFit(): CurveFit!
```

### setPoint

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun setPoint(position: Int, value: Float, period: Float, shape: Int, offset: Float): Unit
```

### setType

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun setType(type: String!): Unit
```

### setup

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun setup(curveType: Int): Unit
```

### toString

```
fun toString(): String!
```

## Protected functions

### calcWave

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected fun calcWave(period: Float): Float
```

| Parameters |
|---|---|
| `period: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | cycles per second |

### setStartTime

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected fun setStartTime(currentTime: Long): Unit
```

## Protected properties

### mCache

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mCache: Array<Float>!
```

### mContinue

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mContinue: Boolean
```

### mCount

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mCount: Int
```

### mCurveFit

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mCurveFit: CurveFit!
```

### mLastCycle

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mLastCycle: Float
```

### mLastTime

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mLastTime: Long
```

### mTimePoints

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mTimePoints: Array<Int>!
```

### mType

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mType: String!
```

### mValues

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mValues: Array<Array<Float>!>!
```

### mWaveShape

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected val mWaveShape: Int
```

### sVal2PI

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected java-static val sVal2PI: Float
```