Page 1 of 1

chart 3D freezed after setting CustomTicksEnabled = true for Z axis

Posted: Mon Mar 18, 2024 11:28 am
by nph_1981
Dear Support center.

i am developing spectrum trend, using lightning chart 7.2 trial and C# vs2017.
the plot can be switched between xy and 3dview.
The problem occurs when i call:

v3d.ZAxisPrimary3D.CustomTicksEnabled = true
//where v3d = lightningChartUltimate1.View3D;

after that, 3D view is freezed and i have to set it to viewxy mode.

Could you please check and let me know what s the problem is.

this is the function Plot 3D.

private void Plot3D()
{
View3D v3d = lightningChartUltimate1.View3D;
int selected_spectrum = listBox1.SelectedIndices.Count;

if (selected_spectrum == 0) return;

lightningChartUltimate1.BeginUpdate();

lightningChartUltimate1.ActiveView = ActiveView.View3D;

v3d.YAxisPrimary3D.Title.Text = StringUtils.AmpUnit2String(Unit_allspectrum) + " " + StringUtils.Det2String(Det_allspectrum);

//why?
v3d.ZAxisPrimary3D.CustomTicksEnabled = true;
v3d.ZAxisPrimary3D.AutoDivSpacing = false;

v3d.WaterfallSeries3D.Clear();

v3d.ZAxisPrimary3D.CustomTicks.Clear();

WaterfallSeries3D _waterfall = new WaterfallSeries3D(v3d, Axis3DBinding.Primary, Axis3DBinding.Primary, Axis3DBinding.Primary);

_waterfall.BaseLevel = 0;
_waterfall.WireframeType = WaterfallWireframeType.None;
_waterfall.MouseInteraction = false;
_waterfall.MouseHighlight = MouseOverHighlight.None;


//
int maxlines = 0;
double max_X = 0;
double minz = double.MaxValue, maxz = double.MinValue;
double zpos = 0;

for (int i = 0; i < selected_spectrum; i++)
{
int spectrum_id = listBox1.SelectedIndices;

if (spectrums[spectrum_id].Lines >= maxlines) maxlines = spectrums[spectrum_id].Lines;
if (spectrums[spectrum_id].fmax >= max_X) max_X = spectrums[spectrum_id].fmax;
}

//create
SurfacePoint[,] data = new SurfacePoint[maxlines + 1, listBox1.SelectedIndices.Count];

_waterfall.SetSize(maxlines + 1, selected_spectrum);

//
for (int j = 0; j < selected_spectrum; j++)
{
int spectrum_j = listBox1.SelectedIndices[j];
double delta_f = spectrums[spectrum_j].fmax / spectrums[spectrum_j].Lines;
zpos = ConvertDateTimeToSeconds(spectrums[spectrum_j].recorded_time);

if (zpos >= maxz) maxz = zpos;
if (zpos <= minz) minz = zpos;

for (int k = 0; k <= maxlines; k++)
{
data[k, j].X = k * delta_f;
data[k, j].Y = spectrums[spectrum_j].spectrum_data[k];
data[k, j].Z = zpos;
}

v3d.ZAxisPrimary3D.CustomTicks.Add(
new Arction.WinForms.Charting.Axes.CustomAxisTick(v3d.ZAxisPrimary3D, zpos, spectrums[spectrum_j].recorded_time.ToString("yyyy-MM-dd HH:mm:ss")));
}

v3d.ZAxisPrimary3D.InvalidateCustomTicks();

_waterfall.Data = data;

_waterfall.InvalidateData();

v3d.WaterfallSeries3D.Add(_waterfall);

v3d.XAxisPrimary3D.Minimum = 0;
v3d.XAxisPrimary3D.Maximum = max_X;

v3d.ZAxisPrimary3D.SetRange(minz, maxz);

lightningChartUltimate1.EndUpdate();
}

Re: chart 3D freezed after setting CustomTicksEnabled = true for Z axis

Posted: Mon Mar 18, 2024 1:47 pm
by ArctionKestutis
You can not have trial for v7.2 as it was released 7.5 years ago and we not supporting it any more.
For code analysis and other technical support you should have active subscription.
Please write email to [email protected] and mention your license ID.

Re: chart 3D freezed after setting CustomTicksEnabled = true for Z axis

Posted: Tue Mar 19, 2024 7:54 am
by nph_1981
Dear Support Center

Many thanks for the answer!
so i describe the problem in the short way:
when i switch the active view from ViewXY to View3D with option CustomTicksEnabled = true
the chart becomes freeze.

if someone faced it, please guide me how to solve.

Best Regards!
Hung NP

Re: chart 3D freezed after setting CustomTicksEnabled = true for Z axis

Posted: Tue Mar 19, 2024 10:39 am
by ArctionKestutis
I don't think there is such problem in latest release.

Re: chart 3D freezed after setting CustomTicksEnabled = true for Z axis

Posted: Mon Mar 25, 2024 3:15 am
by nph_1981
Dear Support center

i uninstalled and reinstalled the product and the problem gone.

Thank you!