Pre loader

ColumnRenderableSeries3D bindingData change view question

Welcome to the SciChart Forums!

  • Please read our Question Asking Guidelines for how to format a good question
  • Some reputation is required to post answers. Get up-voted to avoid the spam filter!
  • We welcome community answers and upvotes. Every Q&A improves SciChart for everyone

WPF Forums | JavaScript Forums | Android Forums | iOS Forums

0
0

Dear all
When the binding data is changed in real time to the ColumnRenderableSeries, the pointer size of the corresponding series is changed to an arbitrary size.
ColumnRenderableSeries wants to know if it can fix the size when the x and z axes are changed in real time.
Or, I want to know if there is a function that can calculate the position of xyz in 3D chart and adjust the height of the corresponding pointer.

Thank you for your reply.

Version
v5.0
Images
  • You must to post comments
0
0

View

<s3D:SciChart3DSurface x:Name="sciChart" Grid.Column="1" BorderThickness="0" RenderableSeries="{Binding RenderableSeries}" WorldDimensions="400,200,400" IsXyzGizmoVisible="False" IsFpsCounterVisible="False" >

.......

</s3D:SciChart3DSurface>

ViewModel

public ObservableCollection<IRenderableSeries3D> RenderableSeries
    {
        get
        {
            if (_renderableSeries == null)
            {
                _renderableSeries = new ObservableCollection<IRenderableSeries3D>();

                ColumnRenderableSeries3D trackSeries = new ColumnRenderableSeries3D();
                trackSeries.SetBinding(ColumnRenderableSeries3D.DataSeriesProperty, "Model.DataSeriesFrontTrack");
                trackSeries.ColumnShape = typeof(CubePointMarker3D);
                trackSeries.DataPointWidthX = 0.5;
                _renderableSeries.Add(trackSeries);                    


            }
            return _renderableSeries;
        }
    }

DataAppend

Model.DataSeriesFrontTrack.Append(Convert.ToSingle(data.DisX), (float)1, Convert.ToSingle(data.DisY), new PointMetadata3D(Colors.Green, 10, false, data));

DataUpdate

var trackIdList = dataSeries.WValues.Select(x => ((CANViewTrackModel)((PointMetadata3D)x).Tag).MessageName).ToList();

        if (trackIdList.Contains(data.MessageName))
        {
            dataSeries.XValues[trackIdList.IndexOf(data.MessageName)] = Convert.ToSingle(data.DisX);                
            dataSeries.ZValues[trackIdList.IndexOf(data.MessageName)] = Convert.ToSingle(data.DisY);
            dataSeries.InvalidateParentSurface(RangeMode.None);
            return true;
        }

        return false;

I want to control the size of the pointer to a fixed value when I repeat the Update operation.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.

Try SciChart Today

Start a trial and discover why we are the choice
of demanding developers worldwide

Start TrialCase Studies