TerrainDisplay.MPQ.WMO.Components.BSPNode.GetIndices C# (CSharp) Method

GetIndices() private method

private GetIndices ( List indices ) : void
indices List
return void
        internal void GetIndices(List<int> indices)
        {
            if (TriIndices != null)
            {
                foreach (var triangle in TriIndices)
                {
                    indices.Add(triangle.Index0);
                    indices.Add(triangle.Index1);
                    indices.Add(triangle.Index2);
                }
            }

            if (Positive != null) Positive.GetIndices(indices);
            if (Negative != null) Negative.GetIndices(indices);
        }

Usage Example

Esempio n. 1
0
        //public void Dump(StreamWriter file)
        //{
        //    file.WriteLine("Flags: " + flags);
        //    file.WriteLine("negChild: " + negChild);
        //    file.WriteLine("posChild: " + posChild);
        //    file.WriteLine("nFaces: " + nFaces);
        //    file.WriteLine("faceStart: " + faceStart);
        //    file.WriteLine("planeDist: " + planeDist);

        //    if (PolygonSet != null)
        //    {
        //        file.WriteLine("PolygonSet");
        //        for (var i = 0; i < PolygonSet.Length; i++)
        //        {
        //            file.WriteLine("\tVertex[{0}]:", i);
        //            file.WriteLine("\t\tPoint1: {0}", PolygonSet[i].Point1);
        //            file.WriteLine("\t\tPoint2: {0}", PolygonSet[i].Point2);
        //            file.WriteLine("\t\tPoint3: {0}", PolygonSet[i].Point3);
        //        }
        //    }

        //    file.WriteLine();
        //}

        //internal void HookUpChildren(IList<BSPNode> nodes)
        //{
        //    if ((flags & BSPNodeFlags.Flag_Leaf) != 0 ||
        //        (flags & BSPNodeFlags.Flag_NoChild) != 0) return;

        //    var positiveChild = nodes[posChild];
        //    var negativeChild = nodes[negChild];
        //    if (positiveChild == null || negativeChild == null) return;

        //    Positive = positiveChild;
        //    Negative = negativeChild;

        //    Positive.HookUpChildren(nodes);
        //    Negative.HookUpChildren(nodes);
        //}

        //internal void GetVertices(List<Vector3> vertices)
        //{
        //    if (TriIndices != null)
        //    {
        //        foreach (var index in TriIndices)
        //        {
        //            vertices.Add(triangle.Point1);
        //            vertices.Add(triangle.Point2);
        //            vertices.Add(triangle.Point3);
        //        }
        //    }

        //    if (Positive != null) Positive.GetVertices(vertices);
        //    if (Negative != null) Negative.GetVertices(vertices);
        //}

        internal void GetIndices(List <int> indices)
        {
            if (TriIndices != null)
            {
                foreach (var triangle in TriIndices)
                {
                    indices.Add(triangle.Index0);
                    indices.Add(triangle.Index1);
                    indices.Add(triangle.Index2);
                }
            }

            if (Positive != null)
            {
                Positive.GetIndices(indices);
            }
            if (Negative != null)
            {
                Negative.GetIndices(indices);
            }
        }
BSPNode