Esempio n. 1
0
            /// <summary>
            /// Overriden to perform dragging
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public override void OnDoDrag(object sender, Nevron.Chart.Windows.NMouseEventArgs e)
            {
                NChart chart = this.GetDocument().Charts[0];

                Trace.WriteLine("X:" + e.X.ToString() + ", Y:" + e.Y.ToString());
                NViewToScale3DTransformation viewToScale;

                switch (m_DragPlaneSurface)
                {
                case DragPlaneSurface.XY:
                    viewToScale = new NViewToScale3DTransformation(chart, (int)StandardAxis.PrimaryX, (int)StandardAxis.PrimaryY, (int)StandardAxis.Depth, m_OriginalPosition.Z);
                    break;

                case DragPlaneSurface.XZ:
                    viewToScale = new NViewToScale3DTransformation(chart, (int)StandardAxis.PrimaryX, (int)StandardAxis.Depth, (int)StandardAxis.PrimaryY, m_OriginalPosition.Y);
                    break;

                case DragPlaneSurface.ZY:
                    viewToScale = new NViewToScale3DTransformation(chart, (int)StandardAxis.Depth, (int)StandardAxis.PrimaryY, (int)StandardAxis.PrimaryX, m_OriginalPosition.X);
                    break;

                default:
                    Debug.Assert(false);                             // new drag plane
                    return;
                }

                NVector3DD vecNewPosition = new NVector3DD();

                viewToScale.Transform(new NPointF(e.X, e.Y), ref vecNewPosition);

                m_DragPlane.MovePoint(m_DragPlaneSurface, vecNewPosition, m_DataPointIndex);
                m_DragPlane.PointSeries.Document.Refresh();
            }
Esempio n. 2
0
        private void OnChartMouseDown(object sender, MouseEventArgs e)
        {
            if (MouseModeComboBox.SelectedIndex != 0)
            {
                return;
            }

            NPointF    ptViewPoint   = new NPointF((float)e.X, (float)e.Y);
            NVector3DD vecScalePoint = new NVector3DD();
            NViewToScale3DTransformation viewToScale;

            NAxis xAxis = m_Chart.Axis(StandardAxis.PrimaryX);
            NAxis yAxis = m_Chart.Axis(StandardAxis.PrimaryY);
            NAxis zAxis = m_Chart.Axis(StandardAxis.Depth);

            if (CreatePointAtPlaneComboBox.SelectedIndex == 0)
            {
                viewToScale = new NViewToScale3DTransformation(m_Chart, (int)StandardAxis.PrimaryX, (int)StandardAxis.Depth, (int)StandardAxis.PrimaryY, (double)XZPlaneValueNumericUpDown.Value);

                if (viewToScale.Transform(ptViewPoint, ref vecScalePoint))
                {
                    if (ClampValuesToRulerCheckBox.Checked)
                    {
                        vecScalePoint.X = xAxis.Scale.ViewRange.GetValueInRange(vecScalePoint.X);
                        vecScalePoint.Z = yAxis.Scale.ViewRange.GetValueInRange(vecScalePoint.Z);
                        vecScalePoint.Y = zAxis.Scale.ViewRange.GetValueInRange(vecScalePoint.Y);
                    }

                    m_Point.AddDataPoint(new NDataPoint(vecScalePoint.X, vecScalePoint.Z, vecScalePoint.Y, "Point" + m_Point.Values.Count.ToString()));
                    nChartControl1.Refresh();
                }
            }
            else
            {
                viewToScale = new NViewToScale3DTransformation(m_Chart, (int)StandardAxis.PrimaryX, (int)StandardAxis.PrimaryY, (int)StandardAxis.Depth, (double)XYPlaneValueNumericUpDown.Value);

                if (viewToScale.Transform(ptViewPoint, ref vecScalePoint))
                {
                    if (ClampValuesToRulerCheckBox.Checked)
                    {
                        vecScalePoint.X = xAxis.Scale.ViewRange.GetValueInRange(vecScalePoint.X);
                        vecScalePoint.Y = yAxis.Scale.ViewRange.GetValueInRange(vecScalePoint.Y);
                        vecScalePoint.Z = zAxis.Scale.ViewRange.GetValueInRange(vecScalePoint.Z);
                    }

                    m_Point.AddDataPoint(new NDataPoint(vecScalePoint.X, vecScalePoint.Y, vecScalePoint.Z, "Point" + m_Point.Values.Count.ToString()));
                    nChartControl1.Refresh();
                }
            }
        }