• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MeltyPlayer / MeltyTool / 17993985084

25 Sep 2025 01:17AM UTC coverage: 39.931%. Remained the same
17993985084

push

github

MeltyPlayer
Used concrete types throughout solution.

5826 of 16491 branches covered (35.33%)

Branch coverage included in aggregate %.

44 of 85 new or added lines in 38 files covered. (51.76%)

1 existing line in 1 file now uncovered.

24549 of 59577 relevant lines covered (41.21%)

71883.78 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/FinModelUtility/Fin/Fin/src/animation/types/vector2/SeparateVector2Keyframes.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Numerics;
4

5
using fin.animation.interpolation;
6
using fin.animation.keyframes;
7

8
namespace fin.animation.types.vector2;
9

10
public class SeparateVector2Keyframes<TKeyframe>(
×
11
    ISharedInterpolationConfig sharedConfig,
×
12
    IKeyframeInterpolator<TKeyframe, float> interpolator,
×
13
    IndividualInterpolationConfig<float> individualConfigX,
×
14
    IndividualInterpolationConfig<float> individualConfigY)
×
15
    : ISeparateVector2Keyframes<TKeyframe>
16
    where TKeyframe : IKeyframe<float> {
17
  public SeparateVector2Keyframes(
18
      ISharedInterpolationConfig sharedConfig,
19
      IKeyframeInterpolator<TKeyframe, float> interpolator,
20
      IndividualInterpolationConfig<float> individualConfig = null)
21
      : this(sharedConfig,
×
22
             interpolator,
×
23
             individualConfig,
×
24
             individualConfig) { }
×
25

26
  public IReadOnlyList<IInterpolatableKeyframes<TKeyframe, float>> Axes { get; }
×
27
    = [
×
28
        new InterpolatedKeyframes<TKeyframe, float>(
×
29
            sharedConfig,
×
30
            interpolator,
×
31
            individualConfigX),
×
32
        new InterpolatedKeyframes<TKeyframe, float>(
×
33
            sharedConfig,
×
34
            interpolator,
×
35
            individualConfigY),
×
36
    ];
×
37

38
  public bool TryGetAtFrame(float frame, out Vector2 value) {
×
39
    value = default;
×
40

41
    if (!this.Axes[0].TryGetAtFrameOrDefault(frame, individualConfigX, out var x)) {
×
42
      return false;
×
43
    }
44

45
    if (!this.Axes[1].TryGetAtFrameOrDefault(frame, individualConfigY, out var y)) {
×
46
      return false;
×
47
    }
48

49
    value = new Vector2(x, y);
×
50
    return true;
×
51
  }
×
52

53
  public void GetAllFrames(Span<Vector2> dst) {
×
54
    Span<float> x = stackalloc float[dst.Length];
×
55
    Span<float> y = stackalloc float[dst.Length];
×
56

57
    this.Axes[0].GetAllFrames(x);
×
58
    this.Axes[1].GetAllFrames(y);
×
59

60
    for (var i = 0; i < dst.Length; ++i) {
×
61
      dst[i] = new Vector2(x[i], y[i]);
×
62
    }
×
63
  }
×
64

65
  // TODO: Implement this
66
  public bool TryGetSimpleKeyframes(
67
      out IReadOnlyList<(float frame, Vector2 value)> keyframes,
68
      out IReadOnlyList<(Vector2 tangentIn, Vector2 tangentOut)>? tangentKeyframes) {
×
NEW
69
    keyframes = null;
×
70
    tangentKeyframes = null;
×
71
    return false;
×
72
  }
×
73
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc