Esempio n. 1
0
            public BlockState(MySlimBlock block)
            {
                Block = block;

                IsFixed = MyCubeGrid.IsInVoxels(Block);

                Vector3D basePosition;
                Vector3  extents;

                block.ComputeScaledCenter(out basePosition);
                block.ComputeScaledHalfExtents(out extents);
                extents  *= 2;
                Transform = new MyTransform(basePosition);
                var massInTensor = (1f / 12f) * block.BlockDefinition.Mass;

                LocalInertiaInv = 1f / new Vector3(
                    massInTensor * (extents.Y * extents.Y + extents.Z * extents.Z),
                    massInTensor * (extents.X * extents.X + extents.Z * extents.Z),
                    massInTensor * (extents.X * extents.X + extents.Y * extents.Y));
            }