public override void Serialize(JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName("input"); writer.WriteValue(Input.Id); // the spec defines "LINEAR" as default, but we need to explicitly export this since there are issues with Google SceneViewer when no interpolation is specified writer.WritePropertyName("interpolation"); writer.WriteValue(Interpolation.ToString()); writer.WritePropertyName("output"); writer.WriteValue(Output.Id); base.Serialize(writer); writer.WriteEndObject(); }
public override void Serialize(JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName("input"); writer.WriteValue(Input.Id); if (Interpolation != InterpolationType.LINEAR) { writer.WritePropertyName("interpolation"); writer.WriteValue(Interpolation.ToString()); } writer.WritePropertyName("output"); writer.WriteValue(Output.Id); base.Serialize(writer); writer.WriteEndObject(); }
public static Interpolation Get(InterpolationType type) { switch (type) { case InterpolationType.Linear: return(Linear); case InterpolationType.Pow2: return(Pow2); case InterpolationType.Pow3: return(Pow3); case InterpolationType.Pow4: return(Pow4); case InterpolationType.Pow5: return(Pow5); case InterpolationType.PowIn2: return(PowIn2); case InterpolationType.PowIn3: return(PowIn3); case InterpolationType.PowIn4: return(PowIn4); case InterpolationType.PowIn5: return(PowIn5); case InterpolationType.PowOut2: return(PowOut2); case InterpolationType.PowOut3: return(PowOut3); case InterpolationType.PowOut4: return(PowOut4); case InterpolationType.PowOut5: return(PowOut5); case InterpolationType.Exp5: return(Exp5); case InterpolationType.Exp10: return(Exp10); case InterpolationType.Elastic: return(Elastic); case InterpolationType.Cubic: return(Cubic); } throw new ArgumentException(type.ToString()); }
private void UpdateTexts() { _laneLabel.text = "Lane " + (_laneIndex + 1); _interpolationPanel.gameObject.SetActive(_methodType == MethodType.FixedUpdate && _physicsSyncType == PhysicsSyncType.Default); _bodyPanel.gameObject.SetActive(_movementType != MovementType.CharacterController_Move); if (_physicsSyncType == PhysicsSyncType.Default) { _methodText.text = _methodType.ToString(); _methodButton.interactable = true; } else { _methodText.text = MethodType.Update.ToString(); _methodButton.interactable = false; } _bodyText.text = _bodyType.ToString(); _movementText.text = _movementType.ToString().Replace("_", "."); _interpolationText.text = _interpolationType.ToString().Replace("_", " "); }
public override string ToString() { return(string.Format("{0}{1}[{2}]", interp == InterpolationType.NONE ? "" : interp.ToString().ToLower() + " ", type.ToString().ToLower(), size())); }
private bool isValidParameter(string name, ParameterType type, InterpolationType interp, int requestedSize, Parameter p) { if (p == null) { return(false); } if (p.type != type) { UI.printWarning(UI.Module.API, "Parameter {0} requested as a {1} - declared as {2}", name, type.ToString().ToLower(), p.type.ToString().ToLower()); return(false); } if (p.interp != interp) { UI.printWarning(UI.Module.API, "Parameter {0} requested as a {1} - declared as {2}", name, interp.ToString().ToLower(), p.interp.ToString().ToLower()); return(false); } if (requestedSize > 0 && p.size() != requestedSize) { UI.printWarning(UI.Module.API, "Parameter {0} requires {1} {2} - declared with {3}", name, requestedSize, requestedSize == 1 ? "value" : "values", p.size()); return(false); } p.Checked = true; return(true); }
public List <FOBJKey> GetKeys(float FrameCount = -1) { List <FOBJKey> Keys = new List <FOBJKey>(); int clock = 0; Reader.Seek(0); while (Reader.Position() < FOBJ.Data.Length) { int type = Reader.ExtendedByte(); InterpolationType interpolation = (InterpolationType)((type) & 0x0F); int numOfKey = ((type >> 4)) + 1; if (interpolation == 0) { break; } for (int i = 0; i < numOfKey; i++) { double value = 0; double tan = 0; int time = 0; switch (interpolation) { case InterpolationType.Step: value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale); time = Reader.ExtendedByte(); break; case InterpolationType.Linear: value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale); time = Reader.ExtendedByte(); break; case InterpolationType.HermiteValue: value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale); time = Reader.ExtendedByte(); break; case InterpolationType.Hermite: value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale); tan = ReadVal(Reader, FOBJ.TanFormat, FOBJ.TanScale); time = Reader.ExtendedByte(); break; case InterpolationType.HermiteCurve: tan = ReadVal(Reader, FOBJ.TanFormat, FOBJ.TanScale); break; case InterpolationType.Constant: value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale); break; default: throw new Exception("Unknown Interpolation Type " + interpolation.ToString("X")); } //Console.WriteLine(clock + " " + value + " " + FOBJ.ValueFormat ); FOBJKey kf = new FOBJKey(); kf.InterpolationType = interpolation; kf.Value = (float)value; kf.Frame = clock; kf.Tan = (float)tan; Keys.Add(kf); clock += time; } } return(Keys); }
private bool isValidParameter(string name, ParameterType type, InterpolationType interp, int requestedSize, Parameter p) { if (p == null) return false; if (p.type != type) { UI.printWarning(UI.Module.API, "Parameter {0} requested as a {1} - declared as {2}", name, type.ToString().ToLower(), p.type.ToString().ToLower()); return false; } if (p.interp != interp) { UI.printWarning(UI.Module.API, "Parameter {0} requested as a {1} - declared as {2}", name, interp.ToString().ToLower(), p.interp.ToString().ToLower()); return false; } if (requestedSize > 0 && p.size() != requestedSize) { UI.printWarning(UI.Module.API, "Parameter {0} requires {1} {2} - declared with {3}", name, requestedSize, requestedSize == 1 ? "value" : "values", p.size()); return false; } p.Checked = true; return true; }