public override void Draw2D(IMarkGeometryVisualizer2D view, bool shouldShowVertex) { view.Draw2D( GeometricArithmeticModule.ToLines(Points), shouldShowVertex ); }
public void Add(MarkGeometryPath path) { AddRange(GeometricArithmeticModule.ToLines(path.Points)); // doesn't call Update(); because it is already called by the above method AddGeometry // change if this is no longer the case }
public ContourQuadTree(IEnumerable <MVertex> vertices) { Create( GeometricArithmeticModule.ToLines( vertices.Select(v => new MarkGeometryPoint(v.X, v.Y)).ToArray() ) ); }
public bool SaveAsDXF(string filename) { if (filename == null || filename.Length <= 0) { return(false); } string layerName; DxfDocument dxfDocument = new DxfDocument(new netDxf.Header.HeaderVariables()); layerName = "points"; foreach (MarkGeometryPoint point in Points) { dxfDocument.AddEntity(point.GetAsDXFEntity(layerName)); } layerName = "arcs"; foreach (MarkGeometryArc arc in Arcs) { dxfDocument.AddEntity(arc.GetAsDXFEntity(layerName)); } layerName = "arcs"; foreach (MarkGeometryCircle circle in Circles) { dxfDocument.AddEntity(circle.GetAsDXFEntity(layerName)); } layerName = "lines"; foreach (MarkGeometryLine line in Lines) { dxfDocument.AddEntity(line.GetAsDXFEntity(layerName)); } layerName = "paths"; foreach (MarkGeometryPath path in Paths) { foreach (MarkGeometryLine line in GeometricArithmeticModule.ToLines(path.Points)) { dxfDocument.AddEntity(line.GetAsDXFEntity(layerName)); } } // TODO : add support for other geometric objects and shapes e.g. splines, ellipses, etc // Also could optimise the object heirarchy (i.e. saving entities in an efficient order) dxfDocument.Save(filename); return(File.Exists(filename)); }
private static List <MarkGeometryLine> ToLines(IEnumerable <MVertex> vertices) { return(GeometricArithmeticModule.ToLines(vertices.Select(v => new MarkGeometryPoint(v.X, v.Y)).ToArray())); }