<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_77) on Fri Apr 22 13:46:46 UTC 2016 --> <title>Interpolator (JavaFX 8)</title> <meta name="date" content="2016-04-22"> <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="Interpolator (JavaFX 8)"; } } catch(err) { } //--> var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":9,"i8":9}; var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/Interpolator.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../deprecated-list.html">Deprecated</a></li> <li><a href="../../index-all.html">Index</a></li> <li><a href="../../help-doc.html">Help</a></li> </ul> <div class="aboutLanguage">JavaFX 8</div> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../javafx/animation/Interpolatable.html" title="interface in javafx.animation"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../javafx/animation/KeyFrame.html" title="class in javafx.animation"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../index.html?javafx/animation/Interpolator.html" target="_top">Frames</a></li> <li><a href="Interpolator.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">javafx.animation</div> <h2 title="Class Interpolator" class="title">Class Interpolator</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> <li> <ul class="inheritance"> <li>javafx.animation.Interpolator</li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <br> <pre>public abstract class <span class="typeNameLabel">Interpolator</span> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> <div class="block">The abstract class defines several <code>interpolate</code> methods, which are used to calculate interpolated values. Various built-in implementations of this class are offered. Applications may choose to implement their own <code>Interpolator</code> to get custom interpolation behavior. <p> A custom <code>Interpolator</code> has to be defined in terms of a " <a href="../../javafx/animation/Interpolator.html#curve-double-"><code>curve()</code></a>".</div> <dl> <dt><span class="simpleTagLabel">Since:</span></dt> <dd>JavaFX 2.0</dd> </dl> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field.summary"> <!-- --> </a> <h3>Field Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> <caption><span>Fields</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Field and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#DISCRETE">DISCRETE</a></span></code> <div class="block">Built-in interpolator that provides discrete time interpolation.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#EASE_BOTH">EASE_BOTH</a></span></code> <div class="block">Built-in interpolator instance that provides ease in/out behavior.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#EASE_IN">EASE_IN</a></span></code> <div class="block">Built-in interpolator instance that provides ease in behavior.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#EASE_OUT">EASE_OUT</a></span></code> <div class="block">Built-in interpolator instance that provides ease out behavior.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#LINEAR">LINEAR</a></span></code> <div class="block">Built-in interpolator that provides linear time interpolation.</div> </td> </tr> </table> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier</th> <th class="colLast" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>protected </code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#Interpolator--">Interpolator</a></span>()</code> <div class="block">The constructor of <code>Interpolator</code>.</div> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code>protected abstract double</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#curve-double-">curve</a></span>(double t)</code> <div class="block">Mapping from [0.0..1.0] to itself.</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#interpolate-boolean-boolean-double-">interpolate</a></span>(boolean startValue, boolean endValue, double fraction)</code> <div class="block">This method takes two <code>boolean</code> values along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value.</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>double</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#interpolate-double-double-double-">interpolate</a></span>(double startValue, double endValue, double fraction)</code> <div class="block">This method takes two <code>double</code> values along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value.</div> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>int</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#interpolate-int-int-double-">interpolate</a></span>(int startValue, int endValue, double fraction)</code> <div class="block">This method takes two <code>int</code> values along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value.</div> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>long</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#interpolate-long-long-double-">interpolate</a></span>(long startValue, long endValue, double fraction)</code> <div class="block">This method takes two <code>int</code> values along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value.</div> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#interpolate-java.lang.Object-java.lang.Object-double-">interpolate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> startValue, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> endValue, double fraction)</code> <div class="block">This method takes two <code>Objects</code> along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value.</div> </td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#SPLINE-double-double-double-double-">SPLINE</a></span>(double x1, double y1, double x2, double y2)</code> <div class="block">Creates an <code>Interpolator</code>, which <a href="../../javafx/animation/Interpolator.html#curve-double-"><code>curve()</code></a> is shaped using the spline control points defined by (<code>x1</code>, <code>y1</code> ) and (<code>x2</code>, <code>y2</code>).</div> </td> </tr> <tr id="i7" class="rowColor"> <td class="colFirst"><code>static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#TANGENT-javafx.util.Duration-double-">TANGENT</a></span>(<a href="../../javafx/util/Duration.html" title="class in javafx.util">Duration</a> t, double v)</code> <div class="block">Creates a tangent interpolator, for which in-tangent and out-tangent are identical.</div> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/animation/Interpolator.html#TANGENT-javafx.util.Duration-double-javafx.util.Duration-double-">TANGENT</a></span>(<a href="../../javafx/util/Duration.html" title="class in javafx.util">Duration</a> t1, double v1, <a href="../../javafx/util/Duration.html" title="class in javafx.util">Duration</a> t2, double v2)</code> <div class="block">Create a tangent interpolator.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ============ FIELD DETAIL =========== --> <ul class="blockList"> <li class="blockList"><a name="field.detail"> <!-- --> </a> <h3>Field Detail</h3> <a name="DISCRETE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>DISCRETE</h4> <pre>public static final <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a> DISCRETE</pre> <div class="block">Built-in interpolator that provides discrete time interpolation. The return value of <code>interpolate()</code> is <code>endValue</code> only when the input <code>fraction</code> is 1.0, and <code>startValue</code> otherwise.</div> </li> </ul> <a name="LINEAR"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>LINEAR</h4> <pre>public static final <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a> LINEAR</pre> <div class="block">Built-in interpolator that provides linear time interpolation. The return value of <code>interpolate()</code> is <code>startValue</code> + (<code>endValue</code> - <code>startValue</code>) * <code>fraction</code>.</div> </li> </ul> <a name="EASE_BOTH"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EASE_BOTH</h4> <pre>public static final <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a> EASE_BOTH</pre> <div class="block">Built-in interpolator instance that provides ease in/out behavior. <p> An ease-both interpolator will make an animation start slow, then accelerate and slow down again towards the end, all in a smooth manner. <p> The implementation uses the algorithm for easing defined in SMIL 3.0 with an acceleration and deceleration factor of 0.2, respectively.</div> </li> </ul> <a name="EASE_IN"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EASE_IN</h4> <pre>public static final <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a> EASE_IN</pre> <div class="block">Built-in interpolator instance that provides ease in behavior. <p> An ease-in interpolator will make an animation start slow and then accelerate smoothly. <p> The implementation uses the algorithm for easing defined in SMIL 3.0 with an acceleration factor of 0.2.</div> </li> </ul> <a name="EASE_OUT"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>EASE_OUT</h4> <pre>public static final <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a> EASE_OUT</pre> <div class="block">Built-in interpolator instance that provides ease out behavior. <p> An ease-out interpolator will make an animation slow down toward the end smoothly. <p> The implementation uses the algorithm for easing defined in SMIL 3.0 with an deceleration factor of 0.2.</div> </li> </ul> </li> </ul> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="Interpolator--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>Interpolator</h4> <pre>protected Interpolator()</pre> <div class="block">The constructor of <code>Interpolator</code>.</div> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="SPLINE-double-double-double-double-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>SPLINE</h4> <pre>public static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a> SPLINE(double x1, double y1, double x2, double y2)</pre> <div class="block">Creates an <code>Interpolator</code>, which <a href="../../javafx/animation/Interpolator.html#curve-double-"><code>curve()</code></a> is shaped using the spline control points defined by (<code>x1</code>, <code>y1</code> ) and (<code>x2</code>, <code>y2</code>). The anchor points of the spline are implicitly defined as (<code>0.0</code>, <code>0.0</code>) and (<code>1.0</code>, <code>1.0</code>).</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>x1</code> - x coordinate of the first control point</dd> <dd><code>y1</code> - y coordinate of the first control point</dd> <dd><code>x2</code> - x coordinate of the second control point</dd> <dd><code>y2</code> - y coordinate of the second control point</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>A spline interpolator</dd> </dl> </li> </ul> <a name="TANGENT-javafx.util.Duration-double-javafx.util.Duration-double-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>TANGENT</h4> <pre>public static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a> TANGENT(<a href="../../javafx/util/Duration.html" title="class in javafx.util">Duration</a> t1, double v1, <a href="../../javafx/util/Duration.html" title="class in javafx.util">Duration</a> t2, double v2)</pre> <div class="block">Create a tangent interpolator. A tangent interpolator allows to define the behavior of an animation curve very precisely by defining the tangents close to a key frame. A tangent interpolator defines the behavior to the left and to the right of a key frame, therefore it is only useful within a <a href="../../javafx/animation/Timeline.html" title="class in javafx.animation"><code>Timeline</code></a>. If used in a <a href="../../javafx/animation/KeyFrame.html" title="class in javafx.animation"><code>KeyFrame</code></a> after a KeyFrame that has different interpolator, it's treated as if the out-tangent of that KeyFrame was equal to the value in the KeyFrame. <p> <img src="doc-files/tangent_interpolator.png"/> <p> The parameters define the tangent of the animation curve for the in tangent (before a key frame) and out tangent (after a key frame). Each tangent is specified with a pair, the distance to the key frame and the value of the tangent at this moment. <p> The interpolation then follows a bezier curve, with 2 control points defined by the specified tangent and positioned at 1/3 of the duration before the second KeyFrame or after the first KeyFrame. See the picture above.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>t1</code> - The delta time of the in-tangent, relative to the KeyFrame</dd> <dd><code>v1</code> - The value of the in-tangent</dd> <dd><code>t2</code> - The delta time of the out-tangent, relative to the KeyFrame</dd> <dd><code>v2</code> - The value of the out-tangent</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the new tangent interpolator</dd> </dl> </li> </ul> <a name="TANGENT-javafx.util.Duration-double-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>TANGENT</h4> <pre>public static <a href="../../javafx/animation/Interpolator.html" title="class in javafx.animation">Interpolator</a> TANGENT(<a href="../../javafx/util/Duration.html" title="class in javafx.util">Duration</a> t, double v)</pre> <div class="block">Creates a tangent interpolator, for which in-tangent and out-tangent are identical. This is especially useful for the first and the last key frame of a <a href="../../javafx/animation/Timeline.html" title="class in javafx.animation"><code>Timeline</code></a>, because for these key frames only one tangent is used.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>t</code> - The delta time of the tangent</dd> <dd><code>v</code> - The value of the tangent</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the new Tangent interpolator</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../javafx/animation/Interpolator.html#TANGENT-javafx.util.Duration-double-javafx.util.Duration-double-"><code>TANGENT(Duration, double, Duration, double)</code></a></dd> </dl> </li> </ul> <a name="interpolate-java.lang.Object-java.lang.Object-double-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>interpolate</h4> <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> interpolate(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> startValue, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> endValue, double fraction)</pre> <div class="block">This method takes two <code>Objects</code> along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value. <p> If both <code>Objects</code> implement <code>Number</code>, their values are interpolated. If <code>startValue</code> implements <a href="../../javafx/animation/Interpolatable.html" title="interface in javafx.animation"><code>Interpolatable</code></a> the calculation defined in <a href="../../javafx/animation/Interpolatable.html#interpolate-T-double-"><code>interpolate()</code></a> is used. If neither of these conditions are met, a discrete interpolation is used, i.e. <code>endValue</code> is returned if and only if <code>fraction</code> is <code>1.0</code>, otherwise <code>startValue</code> is returned. <p> Before calculating the interpolated value, the fraction is altered according to the function defined in <a href="../../javafx/animation/Interpolator.html#curve-double-"><code>curve()</code></a>.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>startValue</code> - start value</dd> <dd><code>endValue</code> - end value</dd> <dd><code>fraction</code> - a value between 0.0 and 1.0</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>interpolated value</dd> </dl> </li> </ul> <a name="interpolate-boolean-boolean-double-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>interpolate</h4> <pre>public boolean interpolate(boolean startValue, boolean endValue, double fraction)</pre> <div class="block">This method takes two <code>boolean</code> values along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value. <p> Before calculating the interpolated value, the fraction is altered according to the function defined in <a href="../../javafx/animation/Interpolator.html#curve-double-"><code>curve()</code></a>.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>startValue</code> - the first data point</dd> <dd><code>endValue</code> - the second data point</dd> <dd><code>fraction</code> - the fraction in <code>[0.0...1.0]</code></dd> </dl> </li> </ul> <a name="interpolate-double-double-double-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>interpolate</h4> <pre>public double interpolate(double startValue, double endValue, double fraction)</pre> <div class="block">This method takes two <code>double</code> values along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value. <p> Before calculating the interpolated value, the fraction is altered according to the function defined in <a href="../../javafx/animation/Interpolator.html#curve-double-"><code>curve()</code></a>.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>startValue</code> - the first data point</dd> <dd><code>endValue</code> - the second data point</dd> <dd><code>fraction</code> - the fraction in <code>[0.0...1.0]</code></dd> </dl> </li> </ul> <a name="interpolate-int-int-double-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>interpolate</h4> <pre>public int interpolate(int startValue, int endValue, double fraction)</pre> <div class="block">This method takes two <code>int</code> values along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value. <p> Before calculating the interpolated value, the fraction is altered according to the function defined in <a href="../../javafx/animation/Interpolator.html#curve-double-"><code>curve()</code></a>.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>startValue</code> - the first data point</dd> <dd><code>endValue</code> - the second data point</dd> <dd><code>fraction</code> - the fraction in <code>[0.0...1.0]</code></dd> </dl> </li> </ul> <a name="interpolate-long-long-double-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>interpolate</h4> <pre>public long interpolate(long startValue, long endValue, double fraction)</pre> <div class="block">This method takes two <code>int</code> values along with a <code>fraction</code> between <code>0.0</code> and <code>1.0</code> and returns the interpolated value. <p> Before calculating the interpolated value, the fraction is altered according to the function defined in <a href="../../javafx/animation/Interpolator.html#curve-double-"><code>curve()</code></a>.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>startValue</code> - the first data point</dd> <dd><code>endValue</code> - the second data point</dd> <dd><code>fraction</code> - the fraction in <code>[0.0...1.0]</code></dd> </dl> </li> </ul> <a name="curve-double-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>curve</h4> <pre>protected abstract double curve(double t)</pre> <div class="block">Mapping from [0.0..1.0] to itself.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>t</code> - time, but normalized to the range [0.0..1.0], where 0.0 is the start of the current interval, while 1.0 is the end of the current interval. Usually a function that increases monotonically.</dd> </dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/Interpolator.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../deprecated-list.html">Deprecated</a></li> <li><a href="../../index-all.html">Index</a></li> <li><a href="../../help-doc.html">Help</a></li> </ul> <div class="aboutLanguage">JavaFX 8</div> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../javafx/animation/Interpolatable.html" title="interface in javafx.animation"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../javafx/animation/KeyFrame.html" title="class in javafx.animation"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../index.html?javafx/animation/Interpolator.html" target="_top">Frames</a></li> <li><a href="Interpolator.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small><small><a href="https://docs.oracle.com/javase/8/docs/legal/cpyr.html">Copyright</a> (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.</small></small></p> </body> </html>