# 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)

*** ** * ** ***


```
public abstract class TimeCycleSplineSet
```

<br />

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

|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomSet` |   |
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomVarSet` |   |
| `https://developer.android.com/reference/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/androidx/constraintlayout/motion/utils/ViewTimeCycle.CustomSet), [ViewTimeCycle.PathRotate](https://developer.android.com/reference/androidx/constraintlayout/motion/utils/ViewTimeCycle.PathRotate)

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

*** ** * ** ***

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

## Summary

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

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#CURVE_OFFSET() = 2` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#CURVE_PERIOD() = 1` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#CURVE_VALUE() = 0` |

| ### Protected fields |
|---|---|
| `float[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mCache()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mContinue()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mCount()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/CurveFit` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mCurveFit()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mLastCycle()` |
| `long` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mLastTime()` |
| `int[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mTimePoints()` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mType()` |
| `float[][]` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mValues()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#mWaveShape()` |
| `static float` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#sVal2PI()` |

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

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/CurveFit` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#getCurveFit()()` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#setPoint(int,float,float,int,float)(int position, float value, float period, int shape, float offset)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#setType(java.lang.String)(https://developer.android.com/reference/java/lang/String.html type)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#setup(int)(int curveType)` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#toString()()` |

| ### Protected methods |
|---|---|
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#calcWave(float)(float period)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet#setStartTime(long)(long currentTime)` |

## Constants

### CURVE_OFFSET

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

```
protected static final int CURVE_OFFSET = 2
```

### CURVE_PERIOD

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

```
protected static final int CURVE_PERIOD = 1
```

### CURVE_VALUE

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

```
protected static final int CURVE_VALUE = 0
```

## Protected fields

### mCache

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

```
protected float[] mCache
```

### mContinue

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

```
protected boolean mContinue
```

### mCount

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

```
protected int mCount
```

### mCurveFit

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

```
protected CurveFit mCurveFit
```

### mLastCycle

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

```
protected float mLastCycle
```

### mLastTime

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

```
protected long mLastTime
```

### mTimePoints

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

```
protected int[] mTimePoints
```

### mType

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

```
protected String mType
```

### mValues

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

```
protected float[][] mValues
```

### mWaveShape

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

```
protected int mWaveShape
```

### sVal2PI

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

```
protected static float sVal2PI
```

## Public constructors

### TimeCycleSplineSet

Added in 1.1.2

```
public TimeCycleSplineSet()
```

## Public methods

### getCurveFit

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

```
public CurveFit getCurveFit()
```

### setPoint

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

```
public void setPoint(int position, float value, float period, int shape, float offset)
```

### setType

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

```
public void setType(String type)
```

### setup

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

```
public void setup(int curveType)
```

### toString

```
public String toString()
```

## Protected methods

### calcWave

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

```
protected float calcWave(float period)
```

| Parameters |
|---|---|
| `float period` | cycles per second |

### setStartTime

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

```
protected void setStartTime(long currentTime)
```