private void _CreateItems(Animations.CurveBuilder <T> curve) { Animations._CurveNode <T>?prev = null; foreach (var kvp in curve._DebugKeys) { if (prev.HasValue) { var d = prev.Value.Degree; switch (d) { case 0: break; case 1: _Items.Add(new _OutTangent { Tangent = GetTangent(prev.Value.Point, kvp.Value.Point) }); break; case 3: _Items.Add(new _OutTangent { Tangent = prev.Value.OutgoingTangent }); _Items.Add(new _InTangent { Tangent = kvp.Value.IncomingTangent }); break; default: _Items.Add("ERROR: {d}"); break; } } _Items.Add(new _Point { Key = kvp.Key, Point = kvp.Value.Point }); prev = kvp.Value; } }
public _CurveBuilderDebugProxyVector3(Animations.CurveBuilder <Vector3> curve) : base(curve) { }
public _CurveBuilderDebugProxySparse(Animations.CurveBuilder <Transforms.SparseWeight8> curve) : base(curve) { }
public _CurveBuilderDebugProxy(Animations.CurveBuilder <T> curve) { _Curve = curve; _CreateItems(curve); }
public _CurveBuilderDebugProxyQuaternion(Animations.CurveBuilder <Quaternion> curve) : base(curve) { }