public static EdgeBridge CreateExtrustion(ref int baseID, EdgeLoop loopA, EdgeLoop loopB) { EdgeBridge bridge = new EdgeBridge() { LoopA = loopA, LoopB = loopB, TriangleBaseID = baseID }; baseID += bridge.GetTriangleIndexCount(); return(bridge); }
void GenerateMesh() { int baseID = 0; backLoop = ModelUtils.CreateEdgeLoop(ref baseID, closeLoop, edgeLoopVertCount); frontLoop = ModelUtils.CreateEdgeLoop(ref baseID, closeLoop, edgeLoopVertCount); vertices = new Vector3[backLoop.VertCount + frontLoop.VertCount]; SetVertices(); int triangleBaseID = 0; backFrontBridge = ModelUtils.CreateExtrustion(ref triangleBaseID, frontLoop, backLoop); triangles = new int[backFrontBridge.GetTriangleIndexCount()]; backFrontBridge.TriangulateBridge(ref triangles, false); }