コード例 #1
0
        public override void Initialize()
        {
            base.Initialize();

            // Enable GPU acceleration
            nChartControl1.Settings.RenderSurface = RenderSurface.Window;

            // set a chart title
            NLabel title = new NLabel("Grid Surface Isolines");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.TextStyle.FillStyle = new NColorFillStyle(GreyBlue);

            // setup chart
            NChart chart = nChartControl1.Charts[0];

            chart.Enable3D = true;
            chart.Width    = 60.0f;
            chart.Depth    = 60.0f;
            chart.Height   = 25.0f;
            chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
            chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.ShinyTopLeft);

            // setup Y axis
            NLinearScaleConfigurator scaleY = new NLinearScaleConfigurator();

            scaleY.RoundToTickMax                               = false;
            scaleY.RoundToTickMin                               = false;
            scaleY.MinTickDistance                              = new NLength(10, NGraphicsUnit.Point);
            scaleY.MajorGridStyle.ShowAtWalls                   = new ChartWallType[] { ChartWallType.Left, ChartWallType.Back };
            scaleY.MajorGridStyle.LineStyle.Pattern             = LinePattern.Dot;
            chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = scaleY;

            // setup X axis
            NLinearScaleConfigurator scaleX = new NLinearScaleConfigurator();

            scaleX.RoundToTickMax                               = false;
            scaleX.RoundToTickMin                               = false;
            scaleX.MajorGridStyle.ShowAtWalls                   = new ChartWallType[] { ChartWallType.Floor, ChartWallType.Back };
            scaleX.MajorGridStyle.LineStyle.Pattern             = LinePattern.Dot;
            chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = scaleX;

            // setup Z axis
            NLinearScaleConfigurator scaleZ = new NLinearScaleConfigurator();

            scaleZ.RoundToTickMax                            = false;
            scaleZ.RoundToTickMin                            = false;
            scaleZ.MajorGridStyle.ShowAtWalls                = new ChartWallType[] { ChartWallType.Floor, ChartWallType.Left };
            scaleZ.MajorGridStyle.LineStyle.Pattern          = LinePattern.Dot;
            chart.Axis(StandardAxis.Depth).ScaleConfigurator = scaleZ;

            // add a surface series
            NGridSurfaceSeries surface = (NGridSurfaceSeries)chart.Series.Add(SeriesType.GridSurface);

            surface.Name                  = "Contour";
            surface.Legend.Mode           = SeriesLegendMode.None;
            surface.ValueFormatter        = new NNumericValueFormatter("0.0");
            surface.FillMode              = SurfaceFillMode.ZoneTexture;
            surface.FrameMode             = SurfaceFrameMode.None;
            surface.ShadingMode           = ShadingMode.Smooth;
            surface.Palette.SmoothPalette = true;
            surface.Data.SetGridSize(31, 31);

            // fill the surface with data
            FillData(surface);

            // apply layout
            ConfigureStandardLayout(chart, title, nChartControl1.Legends[0]);

            nChartControl1.Controller.Tools.Add(new NPanelSelectorTool());
            nChartControl1.Controller.Tools.Add(new NTrackballTool());

            m_RedIsoline             = new NSurfaceIsoline();
            m_RedIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Red);
            surface.Isolines.Add(m_RedIsoline);

            m_BlueIsoline             = new NSurfaceIsoline();
            m_BlueIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Blue);
            surface.Isolines.Add(m_BlueIsoline);

            RedIsolineValueNumericUpDown.Value  = 100;
            BlueIsolineValueNumericUpDown.Value = 50;
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            nChartControl1.BackgroundStyle.FrameStyle.Visible = false;
            nChartControl1.Settings.JitterMode = JitterMode.Enabled;

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Triangulated Surface Isolines");

            title.TextStyle.FontStyle        = new NFontStyle("Times New Roman", 14, FontStyle.Italic);
            title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur;

            // setup chart
            NChart chart = nChartControl1.Charts[0];

            chart.Enable3D   = true;
            chart.BoundsMode = BoundsMode.Fit;
            chart.Width      = 60.0f;
            chart.Depth      = 60.0f;
            chart.Height     = 10.0f;
            chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
            chart.Projection.Elevation = 45;
            chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.ShinyTopLeft);

            // setup Y axis
            NLinearScaleConfigurator scaleY = new NLinearScaleConfigurator();

            scaleY.RoundToTickMax                               = false;
            scaleY.RoundToTickMin                               = false;
            scaleY.MinTickDistance                              = new NLength(10, NGraphicsUnit.Point);
            scaleY.MajorGridStyle.ShowAtWalls                   = new ChartWallType[] { ChartWallType.Left, ChartWallType.Back };
            scaleY.MajorGridStyle.LineStyle.Pattern             = LinePattern.Dot;
            chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = scaleY;

            // setup X axis
            NLinearScaleConfigurator scaleX = new NLinearScaleConfigurator();

            scaleX.RoundToTickMax                               = false;
            scaleX.RoundToTickMin                               = false;
            scaleX.MajorGridStyle.ShowAtWalls                   = new ChartWallType[] { ChartWallType.Floor, ChartWallType.Back };
            scaleX.MajorGridStyle.LineStyle.Pattern             = LinePattern.Dot;
            chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = scaleX;

            // setup Z axis
            NLinearScaleConfigurator scaleZ = new NLinearScaleConfigurator();

            scaleZ.RoundToTickMax                            = false;
            scaleZ.RoundToTickMin                            = false;
            scaleZ.MajorGridStyle.ShowAtWalls                = new ChartWallType[] { ChartWallType.Floor, ChartWallType.Left };
            scaleZ.MajorGridStyle.LineStyle.Pattern          = LinePattern.Dot;
            chart.Axis(StandardAxis.Depth).ScaleConfigurator = scaleZ;

            // add the surface series
            NTriangulatedSurfaceSeries surface = (NTriangulatedSurfaceSeries)chart.Series.Add(SeriesType.TriangulatedSurface);

            surface.Name        = "Surface";
            surface.Legend.Mode = SeriesLegendMode.None;
            surface.SyncPaletteWithAxisScale       = false;
            surface.ValueFormatter.FormatSpecifier = "0.00";
            surface.FrameMode             = SurfaceFrameMode.None;
            surface.Palette.SmoothPalette = true;
            surface.FillStyle             = new NColorFillStyle(Color.YellowGreen);

            FillData();

            // add the isolines
            NSurfaceIsoline redIsoline = new NSurfaceIsoline();

            redIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Red);
            redIsoline.Value       = 100;
            surface.Isolines.Add(redIsoline);

            NSurfaceIsoline blueIsoline = new NSurfaceIsoline();

            blueIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Blue);
            blueIsoline.Value       = 50;
            surface.Isolines.Add(blueIsoline);

            // apply layout
            ApplyLayoutTemplate(0, nChartControl1, chart, title, null);
        }
コード例 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            nChartControl1.BackgroundStyle.FrameStyle.Visible = false;
            nChartControl1.Settings.JitterMode = JitterMode.Enabled;

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Mesh Surface Isolines");

            title.TextStyle.FontStyle        = new NFontStyle("Times New Roman", 14, FontStyle.Italic);
            title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur;

            // setup chart
            NChart chart = nChartControl1.Charts[0];

            chart.Enable3D = true;
            chart.Width    = 60.0f;
            chart.Depth    = 60.0f;
            chart.Height   = 25.0f;
            chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
            chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.ShinyTopLeft);

            // setup axes
            NLinearScaleConfigurator linearScale = new NLinearScaleConfigurator();

            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Floor, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);
            linearScale.RoundToTickMax = false;
            linearScale.RoundToTickMin = false;
            chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = linearScale;

            linearScale = new NLinearScaleConfigurator();
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Floor, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Left, true);
            linearScale.RoundToTickMax = false;
            linearScale.RoundToTickMin = false;
            chart.Axis(StandardAxis.Depth).ScaleConfigurator = linearScale;

            // setup surface series
            NMeshSurfaceSeries surface = new NMeshSurfaceSeries();

            chart.Series.Add(surface);
            surface.ShadingMode = ShadingMode.Smooth;
            surface.FillMode    = SurfaceFillMode.ZoneTexture;
            surface.FrameMode   = SurfaceFrameMode.None;
            surface.Data.SetGridSize(100, 100);
            surface.Palette.SmoothPalette = true;
            surface.Legend.Mode           = SeriesLegendMode.None;

            // generate data
            GenerateSurfaceData(surface);

            // add the isolines
            NSurfaceIsoline redIsoline = new NSurfaceIsoline();

            redIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Red);
            redIsoline.Value       = 100;
            surface.Isolines.Add(redIsoline);

            NSurfaceIsoline blueIsoline = new NSurfaceIsoline();

            blueIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Blue);
            blueIsoline.Value       = 50;
            surface.Isolines.Add(blueIsoline);

            // apply layout
            ApplyLayoutTemplate(0, nChartControl1, chart, title, null);
        }
コード例 #4
0
        public override void Initialize()
        {
            base.Initialize();

            nChartControl1.Settings.RenderSurface      = RenderSurface.Window;
            nChartControl1.Settings.ShapeRenderingMode = ShapeRenderingMode.None;
            nChartControl1.Controller.Tools.Clear();
            nChartControl1.Controller.Tools.Add(new NPanelSelectorTool());
            nChartControl1.Controller.Tools.Add(new NTrackballTool());

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Mesh Surface Isolines");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.TextStyle.FillStyle = new NColorFillStyle(GreyBlue);

            // setup chart
            NChart chart = nChartControl1.Charts[0];

            chart.Enable3D = true;
            chart.Width    = 60.0f;
            chart.Depth    = 60.0f;
            chart.Height   = 25.0f;
            chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
            chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.ShinyTopLeft);

            // setup axes
            NLinearScaleConfigurator linearScale = new NLinearScaleConfigurator();

            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Floor, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);
            linearScale.RoundToTickMax = false;
            linearScale.RoundToTickMin = false;
            chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = linearScale;

            linearScale = new NLinearScaleConfigurator();
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Floor, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Left, true);
            linearScale.RoundToTickMax = false;
            linearScale.RoundToTickMin = false;
            chart.Axis(StandardAxis.Depth).ScaleConfigurator = linearScale;

            // setup surface series
            NMeshSurfaceSeries surface = new NMeshSurfaceSeries();

            chart.Series.Add(surface);
            surface.ShadingMode = ShadingMode.Smooth;
            surface.FillMode    = SurfaceFillMode.ZoneTexture;
            surface.FrameMode   = SurfaceFrameMode.None;
            surface.Data.SetGridSize(100, 100);
            surface.Palette.SmoothPalette = true;

            // generate data
            GenerateSurfaceData(surface);

            // apply layout
            ConfigureStandardLayout(chart, title, null);

            nChartControl1.Controller.Tools.Add(new NPanelSelectorTool());
            nChartControl1.Controller.Tools.Add(new NTrackballTool());

            m_RedIsoline             = new NSurfaceIsoline();
            m_RedIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Red);
            surface.Isolines.Add(m_RedIsoline);

            m_BlueIsoline             = new NSurfaceIsoline();
            m_BlueIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Blue);
            surface.Isolines.Add(m_BlueIsoline);

            RedIsolineValueNumericUpDown.Value  = 100;
            BlueIsolineValueNumericUpDown.Value = 50;
        }
コード例 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            nChartControl1.BackgroundStyle.FrameStyle.Visible = false;
            nChartControl1.Settings.JitterMode = JitterMode.Enabled;

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Grid Surface Isolines");

            title.TextStyle.FontStyle        = new NFontStyle("Times New Roman", 14, FontStyle.Italic);
            title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur;

            // setup legend
            NLegend legend = nChartControl1.Legends[0];

            legend.VerticalBorderStyle.Width    = new NLength(0, NGraphicsUnit.Pixel);
            legend.HorizontalBorderStyle.Width  = new NLength(0, NGraphicsUnit.Pixel);
            legend.OuterBottomBorderStyle.Width = new NLength(0, NGraphicsUnit.Pixel);
            legend.OuterLeftBorderStyle.Width   = new NLength(0, NGraphicsUnit.Pixel);
            legend.OuterRightBorderStyle.Width  = new NLength(0, NGraphicsUnit.Pixel);
            legend.OuterTopBorderStyle.Width    = new NLength(0, NGraphicsUnit.Pixel);
            legend.FillStyle     = new NColorFillStyle(Color.Transparent);
            legend.Data.MarkSize = new NSizeL(new NLength(7), new NLength(7));

            // setup chart
            // setup chart
            NChart chart = nChartControl1.Charts[0];

            chart.Enable3D = true;
            chart.Width    = 60.0f;
            chart.Depth    = 60.0f;
            chart.Height   = 25.0f;
            chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
            chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.ShinyTopLeft);

            // setup Y axis
            NLinearScaleConfigurator scaleY = new NLinearScaleConfigurator();

            scaleY.RoundToTickMax                               = false;
            scaleY.RoundToTickMin                               = false;
            scaleY.MinTickDistance                              = new NLength(10, NGraphicsUnit.Point);
            scaleY.MajorGridStyle.ShowAtWalls                   = new ChartWallType[] { ChartWallType.Left, ChartWallType.Back };
            scaleY.MajorGridStyle.LineStyle.Pattern             = LinePattern.Dot;
            chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = scaleY;

            // setup X axis
            NLinearScaleConfigurator scaleX = new NLinearScaleConfigurator();

            scaleX.RoundToTickMax                               = false;
            scaleX.RoundToTickMin                               = false;
            scaleX.MajorGridStyle.ShowAtWalls                   = new ChartWallType[] { ChartWallType.Floor, ChartWallType.Back };
            scaleX.MajorGridStyle.LineStyle.Pattern             = LinePattern.Dot;
            chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = scaleX;

            // setup Z axis
            NLinearScaleConfigurator scaleZ = new NLinearScaleConfigurator();

            scaleZ.RoundToTickMax                            = false;
            scaleZ.RoundToTickMin                            = false;
            scaleZ.MajorGridStyle.ShowAtWalls                = new ChartWallType[] { ChartWallType.Floor, ChartWallType.Left };
            scaleZ.MajorGridStyle.LineStyle.Pattern          = LinePattern.Dot;
            chart.Axis(StandardAxis.Depth).ScaleConfigurator = scaleZ;

            // add a surface series
            NGridSurfaceSeries surface = (NGridSurfaceSeries)chart.Series.Add(SeriesType.GridSurface);

            surface.Name                  = "Contour";
            surface.Legend.Mode           = SeriesLegendMode.None;
            surface.ValueFormatter        = new NNumericValueFormatter("0.0");
            surface.FillMode              = SurfaceFillMode.ZoneTexture;
            surface.FrameMode             = SurfaceFrameMode.None;
            surface.ShadingMode           = ShadingMode.Smooth;
            surface.Palette.SmoothPalette = true;
            surface.Data.SetGridSize(31, 31);

            // fill the surface with data
            FillData(surface);

            NSurfaceIsoline redIsoline = new NSurfaceIsoline();

            redIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Red);
            redIsoline.Value       = 100;
            surface.Isolines.Add(redIsoline);

            NSurfaceIsoline blueIsoline = new NSurfaceIsoline();

            blueIsoline.StrokeStyle = new NStrokeStyle(2.0f, Color.Blue);
            blueIsoline.Value       = 50;
            surface.Isolines.Add(blueIsoline);

            // apply layout
            ApplyLayoutTemplate(0, nChartControl1, chart, title, legend);
        }