private static float GetT( float tValue, SequentialPair <Vector2> segment, float alpha) { return(( (segment.Value2.X - segment.Value1.X).Power(2f) + (segment.Value2.Y - segment.Value1.Y).Power(2f)) .Power(.5f) .Power(alpha) + tValue); }
/// <inheritdoc /> public void AddInterest(TKey key, TInterest interest) { IInterestMapContracts.AddInterest(this, key); TInterest previous = this[key]; TInterest next = this.merger.GetInterestByAdding(previous, interest); if (!this.merger.Comparer.Equals(previous, next)) { this.map[key] = next; this.interestsChanged.OnNext(KeyValuePair.New(key, SequentialPair.New(previous, next))); } }
/// <inheritdoc /> public void RemoveInterest(TKey key, TInterest interest) { IInterestMapContracts.RemoveInterest(this, key); TInterest previous = this[key]; TInterest next = this.merger.GetInterestByRemoving(previous, interest); if (!this.merger.Comparer.Equals(previous, next)) { if (this.merger.Comparer.Equals(next, this.merger.None)) { this.map.Remove(key); } else { this.map[key] = next; } this.interestsChanged.OnNext(KeyValuePair.New(key, SequentialPair.New(previous, next))); } }
public void Pair() { var s = new SequentialPair <int>(3, 5); var t = new SequentialTriple <int>(2, 6, 9); var o = new SequentialQuad <int>(6, 9, 10, 14); }