public void SetStop(FbxTime pStop) { Stop = pStop; }
public /*FbxPropertyValue*/ object EvaluateValue(FbxTime pTime, bool pForceEval = false) { throw new NotImplementedException(); }
public Vector4 EvaluateUpDirection(Vector4 pCameraPosition, Vector4 pLookAtPosition, FbxTime pTime) { throw new NotImplementedException(); }
public abstract void KeySetTime(int pKeyIndex, FbxTime pTime);
public Matrix EvaluateLocalTransform(FbxTime pTime, Node.EPivotSet pPivotSet = Node.EPivotSet.eSourcePivot, bool pApplyTarget = false, bool pForceEval = false) { return(GetAnimationEvaluator().GetNodeLocalTransform(this, pTime, pPivotSet, pApplyTarget, pForceEval)); }
public override void SetTime(FbxTime pTime) { Time = pTime; }
public void SetTCB(FbxTime pTime, float pValue, float pData0 = 0.0f, float pData1 = 0.0f, float pData2 = 0.0f) { throw new NotImplementedException(); }
public FbxTime ValidateTime(FbxTime pTime) { throw new NotImplementedException(); }
public FbxVector4 EvaluateLocalTranslation(FbxTime pTime, FbxNode.EPivotSet pPivotSet = FbxNode.EPivotSet.eSourcePivot, bool pApplyTarget = false, bool pForceEval = false) { throw new NotImplementedException(); }
public FbxVector4 GetNodeLocalScaling(FbxNode pNode, FbxTime pTime, FbxNode.EPivotSet pPivotSet = FbxNode.EPivotSet.eSourcePivot, bool pApplyTarget = false, bool pForceEval = false) { return(GetPropertyValue <FbxVector4>(pNode.LclScaling, pTime, pForceEval)); }
public T GetPropertyValue <T>(FbxProperty pProperty, FbxTime pTime, bool pForceEval = false) { return(pProperty.EvaluateValue <T>(pTime, pForceEval)); }
public void ComputeLocalTRSFromGlobal(out FbxVector4 pRetLT, out FbxVector4 pRetLR, out FbxVector4 pRetLS, FbxNode pNode, FbxMatrix pGX, FbxTime pTime, FbxNode.EPivotSet pPivotSet = FbxNode.EPivotSet.eSourcePivot, bool pApplyTarget = false, bool pForceEval = false) { throw new NotImplementedException(); }
public FbxTimeSpan(FbxTime pStart, FbxTime pStop) { Start = pStart; Stop = pStop; }
public bool IsInside(FbxTime pTime) { throw new NotImplementedException(); }
public virtual int KeyInsert(FbxTime pTime /*, int *pLast=NULL*/) { throw new NotImplementedException(); }
public bool BakeLayers(FbxAnimEvaluator pEvaluator, FbxTime pStart, FbxTime pStop, FbxTime pPeriod) { throw new NotImplementedException(); }
public virtual double KeyFind(FbxTime pTime /*, int *pLast=NULL*/) { throw new NotImplementedException(); }
public virtual void SetTime(FbxTime pTime) { mTime = pTime; }
public void Set(FbxTime pTime, float pValue) { Time = pTime; Value = pValue; }
public virtual void KeySetTCB(int pKeyIndex, FbxTime pTime, float pValue, float pData0 = 0.0f, float pData1 = 0.0f, float pData2 = 0.0f) { throw new NotImplementedException(); }
public abstract int KeyAdd(FbxTime pTime, AnimCurveKeyBase pKey /*, int *pLast=NULL*/);
public override void KeySetTime(int pKeyIndex, FbxTime pTime) { throw new NotImplementedException(); }
public abstract float Evaluate(FbxTime pTime /*, int *pLast=NULL*/);
public override float Evaluate(FbxTime pTime /*, int *pLast=NULL*/) { if (keys.Count == 0) { return(0); } var index = keys.IndexOfOrBeforeKey(pTime.Value); if (index < 0) { return((keys[keys.Keys[0]] as FbxAnimCurveKey).GetValue()); } var pre = (keys[keys.Keys[index]] as FbxAnimCurveKey); if (index >= keys.Count - 1) { return(pre.GetValue()); } if (pre.GetTime().Get() == pTime.Get()) { return(pre.GetValue()); } var post = (keys[keys.Keys[index + 1]] as FbxAnimCurveKey); double p0, p1, p2, p3; double s0, s1, s2, s3; double t0, t1, t2, t3; p1 = pre.GetValue(); t1 = pre.GetTime().Get(); p2 = post.GetValue(); t2 = post.GetTime().Get(); if (index > 0) { var prepre = (keys[keys.Keys[index - 1]] as FbxAnimCurveKey); p0 = prepre.GetValue(); t0 = prepre.GetTime().Get(); } else { p0 = p1 - (p2 - p1); t0 = t1 - (t2 - t1); } if (index < keys.Count - 2) { var postpost = (keys[keys.Keys[index + 2]] as FbxAnimCurveKey); p3 = postpost.GetValue(); t3 = postpost.GetTime().Get(); } else { p3 = p2 + (p2 - p1); t3 = t2 + (t2 - t1); } s0 = (t0 - t1) / (t2 - t1); s1 = (t1 - t1) / (t2 - t1); s2 = (t2 - t1) / (t2 - t1); s3 = (t3 - t1) / (t2 - t1); double t = pTime.Get(); double s = (t - t1) / (t2 - t1); double ss = s * s; double sss = ss * s; double m1 = (p2 - p0) / (s2 - s0); double m2 = (p3 - p1) / (s3 - s1); double x = (2 * sss - 3 * ss + 1) * p1 + (sss - 2 * ss + s) * m1 + (-2 * sss + 3 * ss) * p2 + (sss - ss) * m2; return((float)x); }
public Vector4 EvaluateLocalScaling(FbxTime pTime, Node.EPivotSet pPivotSet = Node.EPivotSet.eSourcePivot, bool pApplyTarget = false, bool pForceEval = false) { throw new NotImplementedException(); }
public virtual float EvaluateRightDerivative(FbxTime pTime /*, int *pLast=NULL*/) { throw new NotImplementedException(); }
public Vector4 EvaluateLookAtPosition(FbxTime pTime) { throw new NotImplementedException(); }
public virtual int KeyAdd(FbxTime pTime /*, int *pLast=NULL*/) { return(KeyAdd(pTime, new FbxAnimCurveKey(pTime))); }
public Vector4 ComputeScreenToWorld(float pX, float pY, float pWidth, float pHeight, FbxTime pTime) { throw new NotImplementedException(); }
public void SetStart(FbxTime pStart) { Start = pStart; }