public static VoxelMeshData Struct2Data(VoxelStruct vs) { VoxelProduct product = new VoxelProduct(); VoxelData[] datas = vs.toArray(); Build.Run(new VoxelData2Point(datas), product); Build.Run(new VoxelSplitSmall(new Vector3Int(8, 8, 8)), product); Build.Run(new VoxelMeshBuild(), product); Build.Run(new VoxelRemoveSameVertices(), product); Build.Run(new VoxelRemoveFace(), product); Build.Run(new VoxelRemoveSameVertices(), product); var data = product.getMeshData(); return(data); }
public static Task Struct2Data(VoxelStruct vs, Struct2DataReturn ret) { TaskList tl = new TaskList(); VoxelProduct product = new VoxelProduct(); VoxelData[] datas = vs.toArray(); tl.push(Build.Task(new VoxelData2Point(datas), product)); tl.push(Build.Task(new VoxelSplitSmall(new Vector3Int(8, 8, 8)), product)); tl.push(Build.Task(new VoxelMeshBuild(), product)); tl.push(Build.Task(new VoxelRemoveSameVertices(), product)); tl.push(Build.Task(new VoxelRemoveFace(), product)); tl.push(Build.Task(new VoxelRemoveSameVertices(), product)); TaskManager.PushBack(tl, delegate { ret(product.getMeshData()); }); return(tl); }