BooleanKeyframeTrack.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { InterpolateDiscrete } from '../../constants.js';
  2. import { KeyframeTrack } from '../KeyframeTrack.js';
  3. /**
  4. * A track for boolean keyframe values.
  5. *
  6. * @augments KeyframeTrack
  7. */
  8. class BooleanKeyframeTrack extends KeyframeTrack {
  9. /**
  10. * Constructs a new boolean keyframe track.
  11. *
  12. * This keyframe track type has no `interpolation` parameter because the
  13. * interpolation is always discrete.
  14. *
  15. * @param {string} name - The keyframe track's name.
  16. * @param {Array<number>} times - A list of keyframe times.
  17. * @param {Array<boolean>} values - A list of keyframe values.
  18. */
  19. constructor( name, times, values ) {
  20. super( name, times, values );
  21. }
  22. }
  23. /**
  24. * The value type name.
  25. *
  26. * @type {string}
  27. * @default 'bool'
  28. */
  29. BooleanKeyframeTrack.prototype.ValueTypeName = 'bool';
  30. /**
  31. * The value buffer type of this keyframe track.
  32. *
  33. * @type {TypedArray|Array}
  34. * @default Array.constructor
  35. */
  36. BooleanKeyframeTrack.prototype.ValueBufferType = Array;
  37. /**
  38. * The default interpolation type of this keyframe track.
  39. *
  40. * @type {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth)}
  41. * @default InterpolateDiscrete
  42. */
  43. BooleanKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete;
  44. BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear = undefined;
  45. BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined;
  46. export { BooleanKeyframeTrack };