Beispiel #1
0
 //Vector2
 public static Vector2 Convert(BEPUutilities.Vector2 bepuVector)
 {
     Vector2 toReturn;
     toReturn.X = bepuVector.X;
     toReturn.Y = bepuVector.Y;
     return toReturn;
 }
Beispiel #2
0
 //Vector3
 public static Vector3 Convert(BEPUutilities.Vector3 bepuVector)
 {
     Vector3 toReturn;
     toReturn.X = bepuVector.X;
     toReturn.Y = bepuVector.Y;
     toReturn.Z = bepuVector.Z;
     return toReturn;
 }
Beispiel #3
0
 public static Vector3[] Convert(BEPUutilities.Vector3[] bepuVectors)
 {
     Vector3[] xnaVectors = new Vector3[bepuVectors.Length];
     for (int i = 0; i < bepuVectors.Length; i++)
     {
         Convert(ref bepuVectors[i], out xnaVectors[i]);
     }
     return xnaVectors;
 }
        /// <summary>
        /// Creates a new EntityModel.
        /// </summary>
        /// <param name="entity">Entity to attach the graphical representation to.</param>
        /// <param name="model">Graphical representation to use for the entity.</param>
        /// <param name="transform">Base transformation to apply to the model before moving to the entity.</param>
        /// <param name="game">Game to which this component will belong.</param>
        public EntityModel(Entity entity, Model model, BEPUutilities.Matrix transform, Game game, GameManager manager)
            : base(game)
        {
            this.entity = entity;
            this.model = model;
            this.Transform = transform;
            this._manager = manager;

            //Collect any bone transformations in the model itself.
            //The default cube model doesn't have any, but this allows the EntityModel to work with more complicated shapes.
            boneTransforms = new Matrix[model.Bones.Count];
            foreach (ModelMesh mesh in model.Meshes)
            {
                foreach (BasicEffect effect in mesh.Effects)
                {
                    effect.EnableDefaultLighting();
                }
            }
        }
Beispiel #5
0
 public static Quaternion Convert(BEPUutilities.Quaternion q)
 {
     return new Quaternion(q.X, q.Y, q.Z, q.W);
 }
Beispiel #6
0
 public bool RayCast(BEPUutilities.Ray ray, out RayCastResult result)
 {
     return space.RayCast(ray, out result);
 }
Beispiel #7
0
 public override void SetOrientation(BEPUutilities.Quaternion quat)
 {
     Angles = quat;
 }
Beispiel #8
0
 public static void Convert(ref Vector3 xnaVector, out BEPUutilities.Vector3 bepuVector)
 {
     bepuVector.X = xnaVector.X;
     bepuVector.Y = xnaVector.Y;
     bepuVector.Z = xnaVector.Z;
 }
Beispiel #9
0
 public static void Convert(ref Ray ray, out BEPUutilities.Ray bepuRay)
 {
     Convert(ref ray.Position, out bepuRay.Position);
     Convert(ref ray.Direction, out bepuRay.Direction);
 }
Beispiel #10
0
 public static void Convert(ref Quaternion quaternion, out BEPUutilities.Quaternion bepuQuaternion)
 {
     bepuQuaternion.X = quaternion.X;
     bepuQuaternion.Y = quaternion.Y;
     bepuQuaternion.Z = quaternion.Z;
     bepuQuaternion.W = quaternion.W;
 }
Beispiel #11
0
 public static void Convert(ref BEPUutilities.Quaternion bepuQuaternion, out Quaternion quaternion)
 {
     quaternion.X = bepuQuaternion.X;
     quaternion.Y = bepuQuaternion.Y;
     quaternion.Z = bepuQuaternion.Z;
     quaternion.W = bepuQuaternion.W;
 }
Beispiel #12
0
 //Quaternion
 public static Quaternion Convert(BEPUutilities.Quaternion quaternion)
 {
     Quaternion toReturn;
     toReturn.X = quaternion.X;
     toReturn.Y = quaternion.Y;
     toReturn.Z = quaternion.Z;
     toReturn.W = quaternion.W;
     return toReturn;
 }
Beispiel #13
0
        public static void Convert(ref Matrix matrix, out BEPUutilities.Matrix3x3 bepuMatrix)
        {
            bepuMatrix.M11 = matrix.M11;
            bepuMatrix.M12 = matrix.M12;
            bepuMatrix.M13 = matrix.M13;

            bepuMatrix.M21 = matrix.M21;
            bepuMatrix.M22 = matrix.M22;
            bepuMatrix.M23 = matrix.M23;

            bepuMatrix.M31 = matrix.M31;
            bepuMatrix.M32 = matrix.M32;
            bepuMatrix.M33 = matrix.M33;
        }
Beispiel #14
0
        public static void Convert(ref BEPUutilities.Matrix3x3 matrix, out Matrix xnaMatrix)
        {
            xnaMatrix.M11 = matrix.M11;
            xnaMatrix.M12 = matrix.M12;
            xnaMatrix.M13 = matrix.M13;
            xnaMatrix.M14 = 0;

            xnaMatrix.M21 = matrix.M21;
            xnaMatrix.M22 = matrix.M22;
            xnaMatrix.M23 = matrix.M23;
            xnaMatrix.M24 = 0;

            xnaMatrix.M31 = matrix.M31;
            xnaMatrix.M32 = matrix.M32;
            xnaMatrix.M33 = matrix.M33;
            xnaMatrix.M34 = 0;

            xnaMatrix.M41 = 0;
            xnaMatrix.M42 = 0;
            xnaMatrix.M43 = 0;
            xnaMatrix.M44 = 1;
        }
Beispiel #15
0
        public static void Convert(ref Matrix matrix, out BEPUutilities.Matrix bepuMatrix)
        {
            bepuMatrix.M11 = matrix.M11;
            bepuMatrix.M12 = matrix.M12;
            bepuMatrix.M13 = matrix.M13;
            bepuMatrix.M14 = matrix.M14;

            bepuMatrix.M21 = matrix.M21;
            bepuMatrix.M22 = matrix.M22;
            bepuMatrix.M23 = matrix.M23;
            bepuMatrix.M24 = matrix.M24;

            bepuMatrix.M31 = matrix.M31;
            bepuMatrix.M32 = matrix.M32;
            bepuMatrix.M33 = matrix.M33;
            bepuMatrix.M34 = matrix.M34;

            bepuMatrix.M41 = matrix.M41;
            bepuMatrix.M42 = matrix.M42;
            bepuMatrix.M43 = matrix.M43;
            bepuMatrix.M44 = matrix.M44;
        }
Beispiel #16
0
 public static void Convert(ref BEPUutilities.Plane plane, out Plane xnaPlane)
 {
     Convert(ref plane.Normal, out xnaPlane.Normal);
     xnaPlane.D = plane.D;
 }
Beispiel #17
0
 public static void Convert(ref Plane plane, out BEPUutilities.Plane bepuPlane)
 {
     Convert(ref plane.Normal, out bepuPlane.Normal);
     bepuPlane.D = plane.D;
 }
Beispiel #18
0
 public static Ray Convert(BEPUutilities.Ray ray)
 {
     Ray toReturn;
     Convert(ref ray.Position, out toReturn.Position);
     Convert(ref ray.Direction, out toReturn.Direction);
     return toReturn;
 }
Beispiel #19
0
 public static void Convert(ref BEPUutilities.Vector3 bepuVector, out Vector3 xnaVector)
 {
     xnaVector.X = bepuVector.X;
     xnaVector.Y = bepuVector.Y;
     xnaVector.Z = bepuVector.Z;
 }
Beispiel #20
0
 public static void Convert(ref BEPUutilities.Ray ray, out Ray xnaRay)
 {
     Convert(ref ray.Position, out xnaRay.Position);
     Convert(ref ray.Direction, out xnaRay.Direction);
 }
Beispiel #21
0
 //BoundingBox
 public static BoundingBox Convert(BEPUutilities.BoundingBox boundingBox)
 {
     BoundingBox toReturn;
     Convert(ref boundingBox.Min, out toReturn.Min);
     Convert(ref boundingBox.Max, out toReturn.Max);
     return toReturn;
 }
Beispiel #22
0
 public static void Convert(ref BoundingBox boundingBox, out BEPUutilities.BoundingBox bepuBoundingBox)
 {
     Convert(ref boundingBox.Min, out bepuBoundingBox.Min);
     Convert(ref boundingBox.Max, out bepuBoundingBox.Max);
 }
Beispiel #23
0
 //Matrix
 public static Matrix Convert(BEPUutilities.Matrix matrix)
 {
     Matrix toReturn;
     Convert(ref matrix, out toReturn);
     return toReturn;
 }
Beispiel #24
0
 //BoundingSphere
 public static BoundingSphere Convert(BEPUutilities.BoundingSphere boundingSphere)
 {
     BoundingSphere toReturn;
     Convert(ref boundingSphere.Center, out toReturn.Center);
     toReturn.Radius = boundingSphere.Radius;
     return toReturn;
 }
Beispiel #25
0
 private void HitSparks(BEPUutilities.Vector3 position)
 {
     Actor sparks = GameResources.ActorManager.SpawnTemplate("Sparks");
     TransformComponent sparksXForm = sparks.GetComponent<TransformComponent>(ActorComponent.ComponentType.Transform);
     sparksXForm.Translation = BepuConverter.Convert(position);
     Sparks sparksBehavior = sparks.GetBehavior<Sparks>();
     sparksBehavior.Emit();
 }
Beispiel #26
0
 public static void Convert(ref BoundingSphere boundingSphere, out BEPUutilities.BoundingSphere bepuBoundingSphere)
 {
     Convert(ref boundingSphere.Center, out bepuBoundingSphere.Center);
     bepuBoundingSphere.Radius = boundingSphere.Radius;
 }
 //TODO: This section could use some improvements.  It's not very robust, especially on WP7.  Remember the VertexBuffer.GetData bug on WP7.
 /// <summary>
 /// Gets an array of vertices and indices from the provided model.
 /// </summary>
 /// <param name="collisionModel">Model to use for the collision shape.</param>
 /// <param name="vertices">Compiled set of vertices from the model.</param>
 /// <param name="indices">Compiled set of indices from the model.</param>
 public static void GetVerticesAndIndicesFromModel(Model collisionModel, out BEPUutilities.Vector3[] vertices, out int[] indices)
 {
     Vector3[] tempVertices;
     GetVerticesAndIndicesFromModel(collisionModel, out tempVertices, out indices);
     vertices = MathConverter.Convert(tempVertices);
 }
Beispiel #28
0
 //Plane
 public static Plane Convert(BEPUutilities.Plane plane)
 {
     Plane toReturn;
     Convert(ref plane.Normal, out toReturn.Normal);
     toReturn.D = plane.D;
     return toReturn;
 }
Beispiel #29
0
 public abstract void SetOrientation(BEPUutilities.Quaternion quat);
Beispiel #30
0
 public static BoundingBox Convert(BEPUutilities.BoundingBox b)
 {
     return new BoundingBox(Convert(b.Min), Convert(b.Max));
 }