public static void AppendLine(DMesh3 mesh, Segment3d seg, float size) { Frame3f f = new Frame3f(seg.Center); f.AlignAxis(2, (Vector3f)seg.Direction); MeshEditor editor = new MeshEditor(mesh); editor.AppendBox(f, new Vector3f(size, size, seg.Extent)); }
protected DMesh3 MakeDebugGraphMesh() { DMesh3 graphMesh = new DMesh3(); graphMesh.EnableVertexColors(Vector3f.One); foreach (int vid in Graph.VertexIndices()) { if (TipVertices.Contains(vid)) { MeshEditor.AppendBox(graphMesh, Graph.GetVertex(vid), 0.3f, Colorf.Green); } else if (TipBaseVertices.Contains(vid)) { MeshEditor.AppendBox(graphMesh, Graph.GetVertex(vid), 0.225f, Colorf.Magenta); } else if (GroundVertices.Contains(vid)) { MeshEditor.AppendBox(graphMesh, Graph.GetVertex(vid), 0.35f, Colorf.Blue); } else { MeshEditor.AppendBox(graphMesh, Graph.GetVertex(vid), 0.15f, Colorf.White); } } foreach (int eid in Graph.EdgeIndices()) { Segment3d seg = Graph.GetEdgeSegment(eid); MeshEditor.AppendLine(graphMesh, seg, 0.1f); } return graphMesh; }
public static void AppendBox(DMesh3 mesh, Vector3d pos, Vector3d normal, float size) { MeshEditor editor = new MeshEditor(mesh); editor.AppendBox(new Frame3f(pos, normal), size); }
public static void AppendBox(DMesh3 mesh, Frame3f frame, Vector3f size, Colorf color) { var editor = new MeshEditor(mesh); editor.AppendBox(frame, size, color); }
public static void AppendBox(DMesh3 mesh, Vector3d pos, Vector3d normal, float size, Colorf color) { var editor = new MeshEditor(mesh); editor.AppendBox(new Frame3f(pos, normal), size * Vector3f.One, color); }