public static HelixToolkit.Wpf.PointsVisual3D newPolygonToPoints(HciLab.Utilities.Mathematics.Geometry2D.Polygon pPolygon, double pZ) { HelixToolkit.Wpf.PointsVisual3D points = new HelixToolkit.Wpf.PointsVisual3D(); points.Size = 20; points.Color = Colors.Aqua; points.Points = pPolygon.ToHelixToolkit3D(pZ).Points; return(points); }
public static GeometryModel3D newPolygon3D(HciLab.Utilities.Mathematics.Geometry2D.Polygon pPolygon, Color pColor, double pOffesetZ = 0) { GeometryModel3D model = new GeometryModel3D(); if (pPolygon != null) { model.Geometry = FillPolygon(pPolygon.ToHelixToolkit(), pOffesetZ); } model.Material = new DiffuseMaterial(new SolidColorBrush(pColor)); return(model); }
public static GeometryModel3D newPolygon3DOWN(HciLab.Utilities.Mathematics.Geometry2D.Polygon pPolygon, Color pColor, double pOffesetZ = 0) { GeometryModel3D model = new GeometryModel3D(); if (pPolygon != null) { HelixToolkit.Wpf.MeshBuilder meshBuilder = new HelixToolkit.Wpf.MeshBuilder(false, false); Int32Collection triangleIndexes = CuttingEarsTriangulatorNEW.Triangulate(pPolygon.Points); meshBuilder.Append(pPolygon.ToHelixToolkit3D(pOffesetZ).Points, triangleIndexes); model.Geometry = meshBuilder.ToMesh(); } model.Material = new DiffuseMaterial(new SolidColorBrush(pColor)); return(model); }
public static HelixToolkit.Wpf.LinesVisual3D newPolygonToWireFrame(HciLab.Utilities.Mathematics.Geometry2D.Polygon pPolygon, double pZ) { HelixToolkit.Wpf.LinesVisual3D line = new HelixToolkit.Wpf.LinesVisual3D(); line.Color = Colors.Gray; line.Thickness = 10; var points = pPolygon.ToHelixToolkit3D(pZ).Points; for (int i = 0; i < points.Count; i++) { line.Points.Add(points[i]); if (i == points.Count - 1) { line.Points.Add(points[0]); } else { line.Points.Add(points[i + 1]); } } return(line); }