RenderStack 11.06.1
Public Member Functions
RenderStack.Geometry.TriangulateGeometryOperation Class Reference
Inheritance diagram for RenderStack.Geometry.TriangulateGeometryOperation:
RenderStack.Geometry.GeometryOperation

List of all members.

Public Member Functions

 TriangulateGeometryOperation (Geometry src)

Detailed Description

Definition at line 31 of file TriangulateGeometryOperation.cs.


Constructor & Destructor Documentation

RenderStack.Geometry.TriangulateGeometryOperation.TriangulateGeometryOperation ( Geometry  src)

Definition at line 33 of file TriangulateGeometryOperation.cs.

References RenderStack.Geometry.Polygon.Corners.

        {
            Source = src;

            foreach(Point oldPoint in Source.Points)
            {
                MakeNewPointFromPoint(oldPoint);
            }

            foreach(Polygon oldPolygon in Source.Polygons)
            {
                MakeNewPointFromPolygonCentroid(oldPolygon);
            }

            for(uint polygonIndex = 0; polygonIndex < Source.Polygons.Count; ++polygonIndex)
            {
                Polygon oldPolygon = Source.Polygons[(int)polygonIndex];

                if(oldPolygon.Corners.Count == 3)
                {
                    Polygon newPolygon = MakeNewPolygonFromPolygon(oldPolygon);
                    AddPolygonCorners(newPolygon, oldPolygon);
                    continue;
                }

                for(int i = 0; i < oldPolygon.Corners.Count; ++i)
                {
                    Corner  oldCorner   = oldPolygon.Corners[i];
                    Corner  nextCorner  = oldPolygon.Corners[(i + 1) % oldPolygon.Corners.Count];
                    Polygon newPolygon  = Destination.MakePolygon();

                    MakeNewCornerFromPolygonCentroid(newPolygon, oldPolygon);
                    MakeNewCornerFromCorner         (newPolygon, oldCorner);
                    MakeNewCornerFromCorner         (newPolygon, nextCorner);
                }
            }

            BuildDestinationEdgesWithSourcing();
            InterpolateAllAttributeMaps();
        }

The documentation for this class was generated from the following file: