Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
 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);
         }
     }
 }