I nodi interpolatori possiedono una sequenza di valori, keyValue, da passare durante un’animazione.
Se un interpolatore è interrogato in un istante diverso da quelli specificati, key, allora passa un valore interpolato in modo lineare.
...
{
eventIn SFFloat set_fraction
exposedField MFFloat key [...]
exposedField MF... keyValue [...]
eventOut ... value_changed
}
Con l’evento set_fraction l’interpolatore riceve il segnale di intervenire a un certo istante ed esso reagisce con l’evento value_changed segnalando il valore corrispondente al nodo animato.
Dal tipo di interpolatore dipende il tipo dei valori contenuti (multiplo) e del valore in uscita (singolo).
ColorInterpolator
ColorInterpolator
{
eventIn SFFloat set_fraction # (-..., +...)
exposedField MFFloat key [] # (-..., +...)
exposedField MFColor keyValue [] # [0, 1]
eventOut SFColor value_changed
}
…
CoordinateInterpolator
CoordinateInterpolator
{
eventIn SFFloat set_fraction # (-..., +...)
exposedField MFFloat key [] # (-..., +...)
exposedField MFVec3f keyValue [] # (-..., +...)
eventOut MFVec3f value_changed
}
…
NormalInterpolator
NormalInterpolator
{
eventIn SFFloat set_fraction # (-..., +...)
exposedField MFFloat key [] # (-..., +...)
exposedField MFVec3f keyValue [] # (-..., +...)
eventOut MFVec3f value_changed
}
…
OrientationInterpolator
OrientationInterpolator
{
eventIn SFFloat set_fraction # (-..., +...)
exposedField MFFloat key [] # (-..., +...)
exposedField MFRotation keyValue [] # [-1, 1], (-..., +...)
eventOut SFRotation value_changed
}
…
PositionInterpolator
PositionInterpolator
{
eventIn SFFloat set_fraction # (-..., +...)
exposedField MFFloat key [] # (-..., +...)
exposedField MFVec3f keyValue [] # (-..., +...)
eventOut SFVec3f value_changed
}
…
ScalarInterpolator
ScalarInterpolator
{
eventIn SFFloat set_fraction # (-..., +...)
exposedField MFFloat key [] # (-..., +...)
exposedField MFFloat keyValue [] # (-..., +...)
eventOut SFFloat value_changed
}
…
ROUTE
…