SurfaceGridSeries3D display error

A forum dedicated to WinForms version of LightningChart Ultimate.

Moderator: Queue Moderators

Post Reply
Felix
Posts: 72
Joined: Tue Oct 29, 2013 8:10 am

SurfaceGridSeries3D display error

Post by Felix » Mon Jun 16, 2014 6:24 am

Hello,

I have the following display error and wanted to know how I can fix this?
Display Error
Display Error
Error.PNG (111.02 KiB) Viewed 11763 times

User avatar
ArctionPasi
Posts: 1367
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland
Contact:

Re: SurfaceGridSeries3D display error

Post by ArctionPasi » Mon Jun 16, 2014 12:45 pm

It's very hard to figure out the problem with this picture.

Area this clipping parts nearest to the camera? What kind of values are you inputting there? Try setting View3D.Camera.MinimumViewDistance smaller.

Also disable View3D.ClipContents.
LightningChart Support Team, PT

Felix
Posts: 72
Joined: Tue Oct 29, 2013 8:10 am

Re: SurfaceGridSeries3D display error

Post by Felix » Mon Jun 16, 2014 12:58 pm

Thanks Pasi,

This has solved the problem. :D

Felix
Posts: 72
Joined: Tue Oct 29, 2013 8:10 am

Re: SurfaceGridSeries3D display error

Post by Felix » Thu Aug 07, 2014 11:22 am

Hello Pasi,

this solves not the problem.
Since nothing is cut off when I change the scaling.
To reduce View3D.Camera.MinimumViewDistance also does nothing.

Code: Select all

_chart.BeginUpdate();

_chart.ThrowChartExceptions = false;
_chart.ColorTheme = ColorTheme.LightGray;
_chart.Title.Visible = false;
_chart.Location = new Point(0, 0);
_chart.Dock = DockStyle.Fill;

_chart.RenderOptions.MultiCoreProcessing = MultiCoreProcessing.AllAvailableCores;
_chart.RenderOptions.AntiAliasLevel = 4;
_chart.RenderOptions.UseThreadPool = true;
_chart.RenderOptions.EffectCaching = true;

_chart.ViewXY.LegendBox.Layout = LegendBoxLayout.Vertical;
_chart.ViewXY.LegendBox.Fill.Style = RectFillStyle.None;
_chart.ViewXY.LegendBox.Shadow.Visible = false;
_chart.ViewXY.LegendBox.ShowCheckboxes = false;
_chart.ViewXY.LegendBox.BorderWidth = 0;
_chart.ViewXY.LegendBox.MoveByMouse = false;
_chart.ViewXY.LegendBox.Offset.SetValues(-29, -18);

_chart.ViewXY.Margins = new Padding(80, 30, 130, 60);
_chart.ViewXY.AxisLayout.AutoAdjustMargins = false;

_chart.ViewXY.ZoomPanOptions.AspectRatioOptions.AspectRatio = ViewAspectRatio.Manual;
_chart.ViewXY.ZoomPanOptions.AspectRatioOptions.ManualAspectRatioWH = 1;

_chart.ViewXY.XAxes[0].Title.Shadow.Style = TextShadowStyle.Off;
_chart.ViewXY.XAxes[0].Title.Font = new Font(new FontFamily("Microsoft Sans Serif"), 14, FontStyle.Bold, GraphicsUnit.Point);
_chart.ViewXY.XAxes[0].Title.Color = Color.Black;
_chart.ViewXY.XAxes[0].Title.MouseInteraction = false;
_chart.ViewXY.XAxes[0].Title.DistanceToAxis = 30;
_chart.ViewXY.XAxes[0].MouseScaling = false;
_chart.ViewXY.XAxes[0].ValueType = AxisValueType.Number;

_chart.ViewXY.YAxes[0].Title.Shadow.Style = TextShadowStyle.Off;
_chart.ViewXY.YAxes[0].Title.Font = new Font(new FontFamily("Microsoft Sans Serif"), 14, FontStyle.Bold, GraphicsUnit.Point);
_chart.ViewXY.YAxes[0].Title.Color = Color.Black;
_chart.ViewXY.YAxes[0].Title.MouseInteraction = false;
_chart.ViewXY.YAxes[0].Title.DistanceToAxis = 30;
_chart.ViewXY.YAxes[0].MouseScaling = false;
_chart.ViewXY.YAxes[0].ValueType = AxisValueType.Number;

_chart.ViewXY.ZoomPanOptions.LeftMouseButtonAction = MouseButtonAction.None;
_chart.ViewXY.ZoomPanOptions.RightMouseButtonAction = MouseButtonAction.None;

_chart.ViewXY.DropOldEventMarkers = false;

_chart.View3D.Camera.MinimumViewDistance = 50;

_chart.View3D.ClipContents = true;

_chart.View3D.LegendBox.Layout = LegendBoxLayout.Vertical;
_chart.View3D.LegendBox.Fill.Style = RectFillStyle.None;
_chart.View3D.LegendBox.Shadow.Visible = false;
_chart.View3D.LegendBox.ShowCheckboxes = false;
_chart.View3D.LegendBox.BorderWidth = 0;

_chart.View3D.WallOnBack.Visible = false;
_chart.View3D.WallOnBottom.Visible = false;
_chart.View3D.WallOnFront.Visible = false;
_chart.View3D.WallOnLeft.Visible = false;
_chart.View3D.WallOnRight.Visible = false;
_chart.View3D.WallOnTop.Visible = false;

_chart.View3D.XAxisPrimary3D.Title.Shadow.Style = TextShadowStyle.Off;
_chart.View3D.XAxisPrimary3D.Title.Font = new Font(new FontFamily("Microsoft Sans Serif"), 14, FontStyle.Bold, GraphicsUnit.Point);
_chart.View3D.XAxisPrimary3D.Title.Color = Color.Black;
_chart.View3D.XAxisPrimary3D.Title.DistanceToAxis = 15;
_chart.View3D.XAxisPrimary3D.MouseScaling = false;

_chart.View3D.YAxisPrimary3D.Title.Shadow.Style = TextShadowStyle.Off;
_chart.View3D.YAxisPrimary3D.Title.Font = new Font(new FontFamily("Microsoft Sans Serif"), 14, FontStyle.Bold, GraphicsUnit.Point);
_chart.View3D.YAxisPrimary3D.Title.Color = Color.Black;
_chart.View3D.YAxisPrimary3D.Title.DistanceToAxis = 15;
_chart.View3D.YAxisPrimary3D.MouseScaling = false;

_chart.View3D.ZAxisPrimary3D.Title.Shadow.Style = TextShadowStyle.Off;
_chart.View3D.ZAxisPrimary3D.Title.Font = new Font(new FontFamily("Microsoft Sans Serif"), 14, FontStyle.Bold, GraphicsUnit.Point);
_chart.View3D.ZAxisPrimary3D.Title.Color = Color.Black;
_chart.View3D.ZAxisPrimary3D.Title.DistanceToAxis = 15;
_chart.View3D.ZAxisPrimary3D.MouseScaling = false;

_chart.EndUpdate();

Code: Select all

private static ValueRangePalette GetColorPaletteForChart3D(ValueRangePalette palette, float minValue, float maxValue)
{
	if (minValue < 0)
		minValue = 0;

	if (maxValue < 1)
		maxValue = 1;

	var averageValue = (maxValue - minValue) / 2.0 + minValue;
	var stepValue = (maxValue - minValue) / 6.0;

	palette.Steps.Clear();
	palette.MinValue = minValue;
	palette.Type = PaletteType.Gradient;
	palette.Steps.Add(new PaletteStep(palette, Color.Transparent, -1));
	palette.Steps.Add(new PaletteStep(palette, Color.Black, 0));
	palette.Steps.Add(new PaletteStep(palette, Color.DarkBlue, minValue));
	palette.Steps.Add(new PaletteStep(palette, Color.Blue, minValue + stepValue));
	palette.Steps.Add(new PaletteStep(palette, Color.Teal, minValue + (stepValue * 2)));
	palette.Steps.Add(new PaletteStep(palette, Color.LimeGreen, averageValue));
	palette.Steps.Add(new PaletteStep(palette, Color.Yellow, minValue + (stepValue * 4)));
	palette.Steps.Add(new PaletteStep(palette, Color.Red, minValue + (stepValue * 5)));
	palette.Steps.Add(new PaletteStep(palette, Color.DarkRed, maxValue));

	return palette;
}
:?:

User avatar
ArctionPasi
Posts: 1367
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland
Contact:

Re: SurfaceGridSeries3D display error

Post by ArctionPasi » Thu Aug 07, 2014 4:59 pm

Hi Felix,

could you post VS project which also has your data on it?
LightningChart Support Team, PT

Felix
Posts: 72
Joined: Tue Oct 29, 2013 8:10 am

Re: SurfaceGridSeries3D display error

Post by Felix » Tue Aug 12, 2014 11:20 am

Hi Pasi,

I think I found the problem. :!: :D
The display errors only occur at the 0 values ​​when Clip Contents are true.
The ValueRangePalette is 0 - 750 and the transparent values ​​are -1.

If I set the Y-axis to -0.1 instead of 0, the display error no longer occurs.

Post Reply