createMissingKeyframes method

void createMissingKeyframes(
  1. List<ColladaKeyFrame> keyframes,
  2. dynamic property
)

Implementation

void createMissingKeyframes(List<ColladaKeyFrame> keyframes, property ) {
  ColladaKeyFrame? prev, next;

  for (int i = 0, l = keyframes.length; i < l; i ++ ) {
    final keyframe = keyframes[ i ];

    if ( keyframe.value[ property ] == null ) {
      prev = getPrev( keyframes, i, property );
      next = getNext( keyframes, i, property );

      if ( prev == null ) {
        keyframe.value[ property ] = next?.value[ property ];
        continue;
      }

      if ( next == null ) {
        keyframe.value[ property ] = prev.value[ property ];
        continue;
      }

      interpolate( keyframe, prev, next, property );
    }
  }
}