public void BuildScreenSpaceLines(SafeScreenSpaceLines3D lines) { Clean(); foreach (Edge e in Convexes.SelectMany(a => a.Edges)) { lines.AddLine(e.Vertices[0].Pos, e.Vertices[1].Pos); } }
public void BuildScreenSpaceLines(SafeScreenSpaceLines3D lines) { Clean(); foreach (Edge e in Convexes.SelectMany(a => a.Edges)) { lines.AddLine(e.Vertices[0].Pos, e.Vertices[1].Pos); } }
public void BuildCrossesAtVertices(SafeScreenSpaceLines3D lines) { Clean(); foreach (Edge e in Convexes.SelectMany(a => a.Edges)) { lines.AddCross(e.Vertices[0].Pos, 0.5); lines.AddCross(e.Vertices[1].Pos, 0.5); } }
public void BuildCrossesAtVertices(SafeScreenSpaceLines3D lines) { Clean(); foreach (Edge e in Convexes.SelectMany(a => a.Edges)) { lines.AddCross(e.Vertices[0].Pos, 0.5); lines.AddCross(e.Vertices[1].Pos, 0.5); } }
public void GetWireFrame(SafeScreenSpaceLines3D line) { foreach (Convex c in Convexes) { foreach (Face f in c.Faces) { int vcnt = f.VertIndices.Length; for (int i = 1; i < vcnt; i++) { line.Points.Add(c.Vertices[f.VertIndices[i - 1]].Pos); line.Points.Add(c.Vertices[f.VertIndices[i]].Pos); } line.Points.Add(c.Vertices[f.VertIndices[0]].Pos); line.Points.Add(c.Vertices[f.VertIndices[vcnt - 1]].Pos); } } }