TerrainDisplay.MPQ.MpqTerrainManager.GetRecastTriangleMesh C# (CSharp) Method

GetRecastTriangleMesh() public method

public GetRecastTriangleMesh ( System.Vector3 &vertices, int &indices ) : void
vertices System.Vector3
indices int
return void
        public void GetRecastTriangleMesh(out Vector3[] vertices, out int[] indices)
        {
            int vecCount;
            int idxCount;
            CalcArraySizes(out vecCount, out idxCount);

            vertices = new Vector3[vecCount];
            indices = new int[idxCount];

            var vecOffset = 0;
            var idxOffset = 0;

            // Get the ADT triangles
            foreach (var tile in _adtManager.MapTiles)
            {
                if (tile == null) continue;

                // The heightmap information
                idxOffset = CopyIndicesToRecastArray(tile.Indices, indices, idxOffset, vecOffset);
                vecOffset = CopyVectorsToRecastArray(tile.TerrainVertices, vertices, vecOffset);

                // The liquid information
                //idxOffset = CopyIndicesToRecastArray(tile.LiquidIndices, indices, idxOffset, vecOffset);
                //vecOffset = CopyVectorsToRecastArray(tile.LiquidVertices, vertices, vecOffset);
            }

            // Get the WMO triangles
            idxOffset = CopyIndicesToRecastArray(_wmoManager.WmoIndices, indices, idxOffset, vecOffset);
            vecOffset = CopyVectorsToRecastArray(_wmoManager.WmoVertices, vertices, vecOffset);

            // Get the M2 triangles
            idxOffset = CopyIndicesToRecastArray(_m2Manager.RenderIndices, indices, idxOffset, vecOffset);
            vecOffset = CopyVectorsToRecastArray(_m2Manager.RenderVertices, vertices, vecOffset);
        }