HaloMap.RawData.BSPModel.BSPCollision.ExtractCollisonMesh C# (CSharp) Method

ExtractCollisonMesh() public method

The extract collison mesh.
public ExtractCollisonMesh ( string FilePath ) : void
FilePath string The file path.
return void
            public void ExtractCollisonMesh(string FilePath)
            {
                FileStream FS = new FileStream(FilePath, FileMode.Create);
                StreamWriter SW = new StreamWriter(FS);
                SW.WriteLine("# ------------------------------------");
                SW.WriteLine("# Halo 2 BSP Collision Mesh - Extracted with Entity");
                SW.WriteLine("# ------------------------------------");
                for (int x = 0; x < Vertices.Length; x++)
                {
                    string temps = "v " + this.Vertices[x].X + " " + this.Vertices[x].Y + " " + this.Vertices[x].Z;
                    SW.WriteLine(temps);
                }

                for (int x = 0; x < Faces.Length; x += 3)
                {
                    string temps = "f " + (Faces[x] + 1) + " " + (Faces[x + 1] + 1) + " " + (Faces[x + 2] + 1);
                    SW.WriteLine(temps);
                }

                SW.Close();
                FS.Close();
            }

Usage Example

Beispiel #1
0
        /// <summary>
        /// The export collison to obj tool strip menu item_ click.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The e.</param>
        /// <remarks></remarks>
        private void exportCollisonToOBJToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (saveMetaDialog.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }

            BSPModel.BSPCollision pm = new BSPModel.BSPCollision(map.SelectedMeta);

            // string[] temps = info.SelectedMeta.name.Split('\\');
            // pm.Name = temps[temps.Length - 1];
            pm.ExtractCollisonMesh(saveMetaDialog.FileName);

            MessageBox.Show("Done");
        }