示例#1
0
        public override void Rotate(double angle)
        {
            double oldX;
            double oldY;

            oldX = X0;
            oldY = Y0;

            X0 = (oldX * Math.Cos(CGlobals.DTR(angle))) - (oldY * Math.Sin(CGlobals.DTR(angle)));
            Y0 = (oldX * Math.Sin(CGlobals.DTR(angle))) + (oldY * Math.Cos(CGlobals.DTR(angle)));

            oldX = X1;
            oldY = Y1;

            X1 = (oldX * Math.Cos(CGlobals.DTR(angle))) - (oldY * Math.Sin(CGlobals.DTR(angle)));
            Y1 = (oldX * Math.Sin(CGlobals.DTR(angle))) + (oldY * Math.Cos(CGlobals.DTR(angle)));

            oldX = X2;
            oldY = Y2;

            X2 = (oldX * Math.Cos(CGlobals.DTR(angle))) - (oldY * Math.Sin(CGlobals.DTR(angle)));
            Y2 = (oldX * Math.Sin(CGlobals.DTR(angle))) + (oldY * Math.Cos(CGlobals.DTR(angle)));

            oldX = X3;
            oldY = Y3;

            X3 = (oldX * Math.Cos(CGlobals.DTR(angle))) - (oldY * Math.Sin(CGlobals.DTR(angle)));
            Y3 = (oldX * Math.Sin(CGlobals.DTR(angle))) + (oldY * Math.Cos(CGlobals.DTR(angle)));
        }
示例#2
0
        public override void Rotate(double angle)
        {
            double oldX;
            double oldY;

            oldX = X0;
            oldY = Y0;

            X0 = (oldX * Math.Cos(CGlobals.DTR(angle))) - (oldY * Math.Sin(CGlobals.DTR(angle)));
            Y0 = (oldX * Math.Sin(CGlobals.DTR(angle))) + (oldY * Math.Cos(CGlobals.DTR(angle)));
        }
示例#3
0
        public override void Rotate(double angle)
        {
            double oldX;
            double oldY;

            oldX = X0;
            oldY = Y0;

            X0 = (oldX * Math.Cos(CGlobals.DTR(angle))) - (oldY * Math.Sin(CGlobals.DTR(angle)));
            Y0 = (oldX * Math.Sin(CGlobals.DTR(angle))) + (oldY * Math.Cos(CGlobals.DTR(angle)));

            StartAngle += angle;
            EndAngle   += angle;

            StartAngle = Math.Round(StartAngle, 2);
            EndAngle   = Math.Round(EndAngle, 2);
        }
示例#4
0
        public override void Rotate(double angle)
        {
            double oldX;
            double oldY;

            oldX = X0;
            oldY = Y0;

            X0 = Math.Round((oldX * Math.Cos(CGlobals.DTR(angle))) - (oldY * Math.Sin(CGlobals.DTR(angle))), PRECISION);
            Y0 = Math.Round((oldX * Math.Sin(CGlobals.DTR(angle))) + (oldY * Math.Cos(CGlobals.DTR(angle))), PRECISION);

            oldX = X1;
            oldY = Y1;

            X1 = Math.Round((oldX * Math.Cos(CGlobals.DTR(angle))) - (oldY * Math.Sin(CGlobals.DTR(angle))), PRECISION);
            Y1 = Math.Round((oldX * Math.Sin(CGlobals.DTR(angle))) + (oldY * Math.Cos(CGlobals.DTR(angle))), PRECISION);
        }
示例#5
0
        public override void ReadGroupCodes()
        {
            foreach (CGroupCode gc in GroupCodeList)
            {
                if (gc.Code == 10)
                {
                    X0 = CGlobals.ConvertToDouble(gc.Value);
                }
                else if (gc.Code == 20)
                {
                    Y0 = CGlobals.ConvertToDouble(gc.Value);
                }
                else if (gc.Code == 30)
                {
                    Z0 = CGlobals.ConvertToDouble(gc.Value);
                }
                else if (gc.Code == 40)
                {
                    Radius = CGlobals.ConvertToDouble(gc.Value);
                }
                else if (gc.Code == 50)
                {
                    // In Degrees?

                    StartAngle = CGlobals.ConvertToDouble(gc.Value);
                }
                else if (gc.Code == 51)
                {
                    // In Degrees?

                    EndAngle = CGlobals.ConvertToDouble(gc.Value);
                }
            }

            m_ArcStartPointX = X0 + (Radius * Math.Sin(CGlobals.DTR(StartAngle)));
            m_ArcStartPointY = Y0 + (Radius * Math.Cos(CGlobals.DTR(StartAngle)));

            m_ArcEndPointX = X0 + (Radius * Math.Sin(CGlobals.DTR(EndAngle)));
            m_ArcEndPointY = Y0 + (Radius * Math.Cos(CGlobals.DTR(EndAngle)));
        }