我得IDictionary<Key,Mesh>
分,Mesh
等于IEnumerable<Vertex>
分.
Vertex
是一个 struct ,包含表示世界位置的VectorInt3
.
我想编写一个函数/查询,根据世界位置对所有网格的所有顶点索引进行分组.也就是说,我想要所有的顶点索引,按共享相同世界位置的网格分组
我try 了以下方法:
var vertexMeshGroups = meshes.Values.GroupBy(mesh => mesh.Vertices.Select((RoomVertex vertex,int idx) => (vertex,idx))
.GroupBy(ele => ele.vertex.WorldPosition));
but that results in a IGrouping<IEnumerable<IGrouping<VectorInt3,(Vertex, int)>>,Mesh>
,
when I would want something more like a IGrouping<VectorInt3,IGrouping<Mesh,int>>
我该如何做到这一点呢? struct 和类如下所示:
public class Mesh
{
public List<Vertex> Vertices = new List<Vertex>();
public Mesh()
{
}
}
public struct Vertex
{
public VectorInt3 WorldPosition;
}