## Overview

EaseInEaseOut enables gradual animation transitions by modifying TimeSensor fraction outputs. Output values are modified fractions. Authors can ROUTE value_changed output events to an interpolator, a sequencer, or another SFFloat attribute.

The EaseInEaseOut node belongs to the **Interpolation** component and requires at least level **4,** its default container field is *children.* It is available from X3D version 3.2 or higher.

## Hierarchy

1
2

+ X3DNode
+ EaseInEaseOut

## Fields

### SFNode [in, out] **metadata** NULL [X3DMetadataObject]

Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.

#### Hint

### SFFloat [in] **set_fraction** (-∞,∞)

*set_fraction* selects input *fraction* for computation of corresponding easeInEaseOut output value, modifiedFraction_changed.

#### Hint

*set_fraction*values are typically in same range interval as values in the key array. Response to an input*set_fraction*value less than minimum is equivalent to minimum key, and response to an input*set_fraction*value greater than maximum is equivalent to maximum key.

#### Warning

- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.

### MFFloat [in, out] **key** [ ] (-∞,∞)

Definition values for linear-interpolation function input intervals, listed in non-decreasing order and corresponding to easeInEaseOut array.

#### Hints

- Number of keys must be one more than the number of easeInEaseOut values!
- Typical interval for values in
*key*array is within range of 0 to 1, but larger intervals can be defined with arbitrary bounds.

#### Warning

- Values in
*key*array shall be monotonically non-decreasing, meaning that each value is greater than or equal to the preceding value.

### MFVec2f [in, out] **easeInEaseOut** [ ] (-∞,∞)

Array of paired values for easeOut fraction and easeIn fraction within each key interval.

#### Hint

- Number of
*easeInEaseOut*values must be one less than the number of keys.

### SFFloat [out] **modifiedFraction_changed**

Interpolated output value determined by current key time, corresponding easeInEaseOut smoothing intervals, and corresponding key pair.

#### Warning

- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.

## Advice

### Hints

- Typical input connection is ROUTE someTimeSensorDEF.fraction_changed TO thisEaseInEaseOutDEF.set_fraction
- Typical output connection is ROUTE thisEaseInEaseOutDEF.modifiedFraction_changed TO someDestinationNodeDEF.set_fraction.

### Warning

- Requires X3D
`profile='Full'`

or else include`<component name='Interpolation' level='3'/>`