Exemplo n.º 1
0
		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;
		}
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
 /// <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);
 }
Exemplo n.º 4
0
		public TransformedGrid3D(IGrid3D child, Transform3D transform)
		{
			this.child = child;
			this.transform = transform;
		}
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
 public TransformedGrid3D(IGrid3D child, Transform3D transform)
 {
     this.child     = child;
     this.transform = transform;
 }