Ejemplo n.º 1
0
 public MeshVertexData(Scene scene, SkeletonPerVertexBoneInfluenceStrategy strategy)
 {
     m_strategy = strategy;
     m_scene    = scene;
     m_meshes   = scene.Meshes;
     GetMeshVertexData();
 }
        private SkeletonPerVertexBoneInfluenceStrategy GetBoneInfluenceStrategy(Scene scene)
        {
            SkeletonPerVertexBoneInfluenceStrategy strategy = null;

            if (scene.HasAnimations)
            {
                switch (m_skeletonType)
                {
                case SkeletonPerVertexBoneInfluenceType.ThreeBones: { strategy = new SkeletonThreeBonesInfluenceStrategy(); break; }

                case SkeletonPerVertexBoneInfluenceType.FourBones: { strategy = new SkeletonFourBonesInfluenceStrategy(); break; }

                case SkeletonPerVertexBoneInfluenceType.FiveBones: { strategy = new SkeletonFiveBonesInfluenceStrategy(); break; }

                case SkeletonPerVertexBoneInfluenceType.SixBones: { strategy = new SkeletonSixBonesInfluenceStrategy(); break; }
                }
            }

            return(strategy);
        }