Example #1
0
 public void SetStop(FbxTime pStop)
 {
     Stop = pStop;
 }
Example #2
0
 public /*FbxPropertyValue*/ object EvaluateValue(FbxTime pTime, bool pForceEval = false)
 {
     throw new NotImplementedException();
 }
Example #3
0
 public Vector4 EvaluateUpDirection(Vector4 pCameraPosition, Vector4 pLookAtPosition, FbxTime pTime)
 {
     throw new NotImplementedException();
 }
Example #4
0
 public abstract void KeySetTime(int pKeyIndex, FbxTime pTime);
Example #5
0
 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));
 }
Example #6
0
 public override void SetTime(FbxTime pTime)
 {
     Time = pTime;
 }
Example #7
0
 public void SetTCB(FbxTime pTime, float pValue, float pData0 = 0.0f, float pData1 = 0.0f, float pData2 = 0.0f)
 {
     throw new NotImplementedException();
 }
Example #8
0
 public FbxTime ValidateTime(FbxTime pTime)
 {
     throw new NotImplementedException();
 }
Example #9
0
 public FbxVector4 EvaluateLocalTranslation(FbxTime pTime, FbxNode.EPivotSet pPivotSet = FbxNode.EPivotSet.eSourcePivot, bool pApplyTarget = false, bool pForceEval = false)
 {
     throw new NotImplementedException();
 }
Example #10
0
 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));
 }
Example #11
0
 public T GetPropertyValue <T>(FbxProperty pProperty, FbxTime pTime, bool pForceEval = false)
 {
     return(pProperty.EvaluateValue <T>(pTime, pForceEval));
 }
Example #12
0
 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();
 }
Example #13
0
 public FbxTimeSpan(FbxTime pStart, FbxTime pStop)
 {
     Start = pStart;
     Stop  = pStop;
 }
Example #14
0
 public bool IsInside(FbxTime pTime)
 {
     throw new NotImplementedException();
 }
Example #15
0
 public virtual int KeyInsert(FbxTime pTime /*, int *pLast=NULL*/)
 {
     throw new NotImplementedException();
 }
Example #16
0
 public bool BakeLayers(FbxAnimEvaluator pEvaluator, FbxTime pStart, FbxTime pStop, FbxTime pPeriod)
 {
     throw new NotImplementedException();
 }
Example #17
0
 public virtual double KeyFind(FbxTime pTime /*, int *pLast=NULL*/)
 {
     throw new NotImplementedException();
 }
Example #18
0
 public virtual void SetTime(FbxTime pTime)
 {
     mTime = pTime;
 }
Example #19
0
 public void Set(FbxTime pTime, float pValue)
 {
     Time  = pTime;
     Value = pValue;
 }
Example #20
0
 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();
 }
Example #21
0
 public abstract int KeyAdd(FbxTime pTime, AnimCurveKeyBase pKey /*, int *pLast=NULL*/);
Example #22
0
 public override void KeySetTime(int pKeyIndex, FbxTime pTime)
 {
     throw new NotImplementedException();
 }
Example #23
0
 public abstract float Evaluate(FbxTime pTime /*, int *pLast=NULL*/);
Example #24
0
        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);
        }
Example #25
0
 public Vector4 EvaluateLocalScaling(FbxTime pTime, Node.EPivotSet pPivotSet = Node.EPivotSet.eSourcePivot, bool pApplyTarget = false, bool pForceEval = false)
 {
     throw new NotImplementedException();
 }
Example #26
0
 public virtual float EvaluateRightDerivative(FbxTime pTime /*, int *pLast=NULL*/)
 {
     throw new NotImplementedException();
 }
Example #27
0
 public Vector4 EvaluateLookAtPosition(FbxTime pTime)
 {
     throw new NotImplementedException();
 }
Example #28
0
 public virtual int KeyAdd(FbxTime pTime /*, int *pLast=NULL*/)
 {
     return(KeyAdd(pTime, new FbxAnimCurveKey(pTime)));
 }
Example #29
0
 public Vector4 ComputeScreenToWorld(float pX, float pY, float pWidth, float pHeight, FbxTime pTime)
 {
     throw new NotImplementedException();
 }
Example #30
0
 public void SetStart(FbxTime pStart)
 {
     Start = pStart;
 }