private void AddEdge(Vector3Int p0, Vector3Int p1, Vector3Int p2, Voxel v1, Voxel v2, EdgeSet edges) { Edge edge = edges.GetEdge(p1, p2); if (edge != null) { edge.blocks.Add(p0); } else { edge = new Edge(); edge.blocks = new List <Vector3Int>(); edge.blocks.Add(p0); edge.edgePos1 = p1; edge.edgePos2 = p2; edge.voxel1 = v1; edge.voxel2 = v2; edges.AddEdge(edge); } }