public FbxPropertyTFbxDouble3 assign(FbxDouble3 pValue)
        {
            FbxPropertyTFbxDouble3 ret = new FbxPropertyTFbxDouble3(FbxWrapperNativePINVOKE.FbxPropertyTFbxDouble3_assign(swigCPtr, FbxDouble3.getCPtr(pValue)), false);

            if (FbxWrapperNativePINVOKE.SWIGPendingException.Pending)
            {
                throw FbxWrapperNativePINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Exemple #2
0
        //ToDo : ??? Только для одного Layer грузить? Хотя у Layers должны быть одинаковые отсчеты времени, если они должны смешиваться?
        static void LoadKeyFrames(AnimationTrackInfo animationTrack,
                                  FbxPropertyTFbxDouble3 transformProperty,
                                  HashSet <double> keyFrames, string xChannelName,
                                  string yChannelName, string zChannelName)
        {
            for (int i = 0; i < animationTrack.GetLayerCount(); i++)
            {
                FbxAnimLayer pAnimLayer = animationTrack.GetLayer(i);
                FbxAnimCurve pAnimCurve = null;

                pAnimCurve = transformProperty.GetCurve(pAnimLayer, xChannelName);
                if (pAnimCurve != null)
                {
                    for (int j = 0; j < pAnimCurve.KeyGetCount(); j++)
                    {
                        FbxAnimCurveKey key = pAnimCurve.KeyGet(j);
                        //ToDo :? Учитывать key.GetInterpolation();
                        double time = key.GetTime().GetSecondDouble();
                        keyFrames.Add(time);
                    }
                }

                pAnimCurve = transformProperty.GetCurve(pAnimLayer, yChannelName);
                if (pAnimCurve != null)
                {
                    for (int j = 0; j < pAnimCurve.KeyGetCount(); j++)
                    {
                        FbxAnimCurveKey key  = pAnimCurve.KeyGet(j);
                        double          time = key.GetTime().GetSecondDouble();
                        keyFrames.Add(time);
                    }
                }

                pAnimCurve = transformProperty.GetCurve(pAnimLayer, zChannelName);
                if (pAnimCurve != null)
                {
                    for (int j = 0; j < pAnimCurve.KeyGetCount(); j++)
                    {
                        FbxAnimCurveKey key  = pAnimCurve.KeyGet(j);
                        double          time = key.GetTime().GetSecondDouble();
                        keyFrames.Add(time);
                    }
                }
            }
        }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FbxPropertyTFbxDouble3 obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }