Esempio n. 1
0
        /// <summary>
        /// Constructor for use when editing a connection path
        /// </summary>
        /// <param name="leg">The leg that's being edited</param>
        internal CulDeSacForm(CircularLeg leg)
        {
            InitializeComponent();

            CircularLegMetrics metrics = leg.Metrics;

            m_Radians     = metrics.CentralAngle;
            m_Radius      = new Distance(metrics.ObservedRadius);
            m_IsClockwise = metrics.IsClockwise;
            m_IsDefined   = true;
        }
Esempio n. 2
0
        /// <summary>
        /// Constructor for use when editing a connection path
        /// </summary>
        /// <param name="leg">The leg that's being edited</param>
        internal ArcForm(CircularLeg leg)
        {
            InitializeComponent();

            CircularLegMetrics metrics = leg.Metrics;

            m_Angle1      = metrics.EntryAngle;
            m_Angle2      = metrics.ExitAngle;
            m_Radius      = new Distance(metrics.ObservedRadius);
            m_IsClockwise = metrics.IsClockwise;
            m_IsDefined   = true;
        }
Esempio n. 3
0
        private void curveButton_Click(object sender, EventArgs e)
        {
            CircularLeg leg = (CurrentFace.Leg as CircularLeg);

            if (leg == null)
            {
                return;
            }

            CircularLegMetrics metrics = leg.Metrics;

            if (metrics.IsCulDeSac)
            {
                using (CulDeSacForm dial = new CulDeSacForm(leg))
                {
                    if (dial.ShowDialog() == DialogResult.OK)
                    {
                        metrics.SetCentralAngle(dial.CentralAngle);
                        metrics.SetRadius(dial.Radius);
                        metrics.IsClockwise = dial.IsClockwise;
                        var newMetrics = new CircularLegMetrics(dial.Radius, dial.IsClockwise, dial.CentralAngle);
                        m_Edits.SetArcMetrics(m_CurFaceIndex, newMetrics);
                        Rework();
                    }
                }
            }
            else
            {
                using (ArcForm dial = new ArcForm(leg))
                {
                    if (dial.ShowDialog() == DialogResult.OK)
                    {
                        metrics.SetEntryAngle(dial.EntryAngle);
                        metrics.SetExitAngle(dial.ExitAngle);
                        metrics.SetRadius(dial.Radius);
                        metrics.IsClockwise = dial.IsClockwise;
                        var newMetrics = new CircularLegMetrics(dial.Radius, dial.IsClockwise, dial.EntryAngle, dial.ExitAngle);
                        m_Edits.SetArcMetrics(m_CurFaceIndex, newMetrics);
                        Rework();
                    }
                }
            }
        }
Esempio n. 4
0
        private void curveButton_Click(object sender, EventArgs e)
        {
            CircularLeg leg = (CurrentFace.Leg as CircularLeg);
            if (leg == null)
                return;

            CircularLegMetrics metrics = leg.Metrics;

            if (metrics.IsCulDeSac)
            {
                using (CulDeSacForm dial = new CulDeSacForm(leg))
                {
                    if (dial.ShowDialog() == DialogResult.OK)
                    {
                        metrics.SetCentralAngle(dial.CentralAngle);
                        metrics.SetRadius(dial.Radius);
                        metrics.IsClockwise = dial.IsClockwise;
                        var newMetrics = new CircularLegMetrics(dial.Radius, dial.IsClockwise, dial.CentralAngle);
                        m_Edits.SetArcMetrics(m_CurFaceIndex, newMetrics);
                        Rework();
                    }
                }
            }
            else
            {
                using (ArcForm dial = new ArcForm(leg))
                {
                    if (dial.ShowDialog() == DialogResult.OK)
                    {
                        metrics.SetEntryAngle(dial.EntryAngle);
                        metrics.SetExitAngle(dial.ExitAngle);
                        metrics.SetRadius(dial.Radius);
                        metrics.IsClockwise = dial.IsClockwise;
                        var newMetrics = new CircularLegMetrics(dial.Radius, dial.IsClockwise, dial.EntryAngle, dial.ExitAngle);
                        m_Edits.SetArcMetrics(m_CurFaceIndex, newMetrics);
                        Rework();
                    }
                }
            }
        }