internal TurnCircleArcSegment(IArcSegment arcSegment,
                                      Constants.TurnDirection direction,
                                      Constants.CircleOrigin circleOrigin)
        {
            ArcSegment     = arcSegment;
            m_Direction    = direction;
            m_CircleOrigin = circleOrigin;

            AngleToXAxisAtEndPoint   = arcSegment.AngleToXAxisAtEndPoint;
            AngleToXAxisAtStartPoint = arcSegment.AngleToXAxisAtStartPoint;
        }
Esempio n. 2
0
 public TurnCircle([NotNull] ICircle circle,
                   Constants.CircleSide side,
                   Constants.CircleOrigin origin,
                   Constants.TurnDirection turnDirection)
 {
     m_Circle        = circle;
     m_Side          = side;
     m_Origin        = origin;
     m_TurnDirection = turnDirection;
     m_Radius        = new Distance(Circle.Radius);
 }
        public IPolylineSegment Reverse()
        {
            var arcSegment = ArcSegment.Reverse() as IArcSegment;

            Constants.CircleOrigin origin = m_CircleOrigin == Constants.CircleOrigin.Start
                                                ? Constants.CircleOrigin.Finish
                                                : Constants.CircleOrigin.Start;

            var reverse = new TurnCircleArcSegment(arcSegment,
                                                   m_Direction,
                                                   origin);


            return(reverse);
        }
        public TurnCircleArcSegment([NotNull] ICircle circle,
                                    Constants.TurnDirection direction,
                                    Constants.CircleOrigin circleOrigin,
                                    [NotNull] Point startPoint,
                                    [NotNull] Point endPoint)
        {
            ArcSegment = new ArcSegment(circle,
                                        startPoint,
                                        endPoint,
                                        direction);

            m_Direction    = direction;
            m_CircleOrigin = circleOrigin;

            AngleToXAxisAtEndPoint   = ArcSegment.AngleToXAxisAtEndPoint;
            AngleToXAxisAtStartPoint = ArcSegment.AngleToXAxisAtStartPoint;
        }