アニメーション関数値の不変性情報

Curve のサブクラスの実装者が、アニメーション関数値が一定となる時刻区間を表明するために利用するクラスである。

See

[[Curve.getInvariance]]

Constructors

Properties

_imap: OrderedMap<Time, Interval>

Methods

  • item から interval 部分を削り取る

    item の時刻区間から interval 部分を消去する。

    ただし item が null のときは何もしない。

    最後に item は無効になる。

    Parameters

    Returns void

  • 時刻区間を挿入

    条件: this._imap に interval と交差する区間が存在しない

    計算量: 時刻区間数 n に対して最悪 O(log n)

    Parameters

    Returns void

  • Invariance を統合

    計算量: this の時刻区間数 k source の時刻区間数 n this の各時刻区間範囲内の source の時刻区間数 m (平均値) merged_imap の時刻区間数 p

    findSuccessor() を O(1) と考えたとき O(k * (m * log p + log n))

    Parameters

    Returns void

  • 選択範囲に絞った不変性情報を取得

    interval で指定した選択範囲と交差する一定値時刻区間を選択して、新しい不変性情報のインスタンスを返す。

    Parameters

    Returns Invariance

    範囲を狭めた不変性情報

  • 同一値の時刻区間を上書き

    this が持っているすべての同一値時刻区間に interval の時刻区間部分を上書きする。

    イメージ的には interval 部分に毎回新しい色を重ねていく。最終的にできた各色の区間を同一値の時刻区間と見なす。

    Parameters

    • interval: Interval

      同一値を持つ時刻区間

    Returns Invariance

    this