public static void GenerateTorus(Mesh mesh, float majorRadius, int numMajorSegments, float minorRadius, int numMinorSegments, float minorStartAngle = 0f, float maxMinorArcAngle = 360f, bool shadeFlat = false) { Vecs verts; Ints indices; Vecs normals; Vec2s uvs; borrowGeneratorResources(out verts, out indices, out normals, out uvs); TorusSupport.AddIndices(indices, verts.Count, numMajorSegments, numMinorSegments, maxMinorArcAngle); TorusSupport.AddVerts(verts, normals, uvs, majorRadius, numMajorSegments, minorRadius, numMinorSegments, minorStartAngle: minorStartAngle, maxMinorArcAngle: maxMinorArcAngle); apply(mesh, verts, indices, normals, uvs: uvs); returnGeneratorResources(verts, indices, normals, uvs); if (shadeFlat) { Meshing.PolyMesh.RoundTrip(mesh); } }
public static void GenerateTorus(Mesh mesh, float majorRadius, int numMajorSegments, float minorRadius, int numMinorSegments) { Vecs verts; Ints indices; Vecs normals; borrowGeneratorResources(out verts, out indices, out normals); TorusSupport.AddIndices(indices, verts.Count, numMajorSegments, numMinorSegments); TorusSupport.AddVerts(verts, normals, majorRadius, numMajorSegments, minorRadius, numMinorSegments); apply(mesh, verts, indices, normals); returnGeneratorResources(verts, indices, normals); }
public static void GenerateTorus(float majorRadius, int numMajorSegments, float minorRadius, int numMinorSegments, List <Vector3> outVerts, List <int> outIndices, List <Vector3> outNormals) { TorusSupport.AddIndices(outIndices, outVerts.Count, numMajorSegments, numMinorSegments); TorusSupport.AddVerts(outVerts, outNormals, majorRadius, numMajorSegments, minorRadius, numMinorSegments); }