public FilteringGrid(IGrid3D grid, int xStep, int yStep, int zStep) { if (grid == null) throw new ArgumentNullException("grid"); if (xStep <= 1) throw new ArgumentOutOfRangeException("xStep", "Should be greater than 1."); if (yStep <= 1) throw new ArgumentOutOfRangeException("yStep", "Should be greater than 1."); if (yStep <= 1) throw new ArgumentOutOfRangeException("zStep", "Should be greater than 1."); this.child = grid; this.xStep = xStep; this.yStep = yStep; this.zStep = zStep; }
public FilteringGrid(IGrid3D grid, int xStep, int yStep, int zStep) { if (grid == null) { throw new ArgumentNullException("grid"); } if (xStep <= 1) { throw new ArgumentOutOfRangeException("xStep", "Should be greater than 1."); } if (yStep <= 1) { throw new ArgumentOutOfRangeException("yStep", "Should be greater than 1."); } if (yStep <= 1) { throw new ArgumentOutOfRangeException("zStep", "Should be greater than 1."); } this.child = grid; this.xStep = xStep; this.yStep = yStep; this.zStep = zStep; }
/// <summary> /// Render the box grid /// </summary> /// <param name="renderGrid">The render grid.</param> private void GenerateBoxGrid(IGrid3D renderGrid) { RenderHelper.GenerateGridPreviewLines(renderGrid, out var dottedLines, out var lines); RenderDottedLines.AddRange(dottedLines); RenderLines.AddRange(lines); }
public TransformedGrid3D(IGrid3D child, Transform3D transform) { this.child = child; this.transform = transform; }
public static void GenerateGridPreviewLines(IGrid3D renderGrid, out List <Line> renderDottedLines, out List <Line> renderLines) { renderDottedLines = new List <Line> (); renderLines = new List <Line> (); for (var k = 0; k <= renderGrid.SizeUVW.X; k++) { var pt1 = renderGrid.EvaluatePoint(new Point3d(k - 0.5, -0.5, -0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(k - 0.5, renderGrid.SizeUVW.Y - 0.5, -0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } for (var m = 0; m <= renderGrid.SizeUVW.Y; m++) { var pt1 = renderGrid.EvaluatePoint(new Point3d(-0.5, m - 0.5, -0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, m - 0.5, -0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } // x = 0, y =0, z = 1 { var pt1 = renderGrid.EvaluatePoint(new Point3d(-0.5, -0.5, -0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(-0.5, -0.5, renderGrid.SizeUVW.Z - 0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } // x = 1, y =0, z = 1 { var pt1 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, -0.5, -0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, -0.5, renderGrid.SizeUVW.Z - 0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } // x = 0, y =0, z = 1 { var pt1 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, renderGrid.SizeUVW.Y - 0.5, 0 - 0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, renderGrid.SizeUVW.Y - 0.5, renderGrid.SizeUVW.Z - 0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } // x = 0, y =1, z = 1 { var pt1 = renderGrid.EvaluatePoint(new Point3d(-0.5, renderGrid.SizeUVW.Y - 0.5, -0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(-0.5, renderGrid.SizeUVW.Y - 0.5, renderGrid.SizeUVW.Z - 0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } // top curves // x = 0, y =1, z = 1 { var pt1 = renderGrid.EvaluatePoint(new Point3d(-0.5, renderGrid.SizeUVW.Y - 0.5, renderGrid.SizeUVW.Z - 0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, renderGrid.SizeUVW.Y - 0.5, renderGrid.SizeUVW.Z - 0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } // top curves // x = 0, y =1, z = 1 { var pt1 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, -0.5, renderGrid.SizeUVW.Z - 0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, renderGrid.SizeUVW.Y - 0.5, renderGrid.SizeUVW.Z - 0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } // top curves // x = 0, y =1, z = 1 { var pt1 = renderGrid.EvaluatePoint(new Point3d(-0.5, -0.5, renderGrid.SizeUVW.Z - 0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(-0.5, renderGrid.SizeUVW.Y - 0.5, renderGrid.SizeUVW.Z - 0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } // top curves // x = 0, y =1, z = 1 { var pt1 = renderGrid.EvaluatePoint(new Point3d(-0.5, -0.5, renderGrid.SizeUVW.Z - 0.5)); var pt2 = renderGrid.EvaluatePoint(new Point3d(renderGrid.SizeUVW.X - 0.5, -0.5 , renderGrid.SizeUVW.Z - 0.5)); var l = new Line(pt1, pt2); renderLines.Add(l); } }