示例#1
0
        public override void Prepare()
        {
            TArrowLine Line, Lnb;
            Point P1 = new Point(), P2 = new Point(), VP = new Point();
            int tmp_x;
            TTfeRectShape Rct;
            TTfeRhombShape Rhomb;

            Rct = (TTfeRectShape)(GetWorkShape(0));
            Rhomb = (TTfeRhombShape)(GetWorkShape(1));
            Rct.GetTailPoint(0, ref P1);
            Rhomb.GetTailPoint(0, ref P2);
            VP.X = P1.X - 4 * F_Step;
            VP.Y = P2.Y;

            //1
            Line = (TArrowLine)(GetWorkLine(0));
            Line.xStart = StartPoint.X;
            Line.yStart = StartPoint.Y;
            Line.xEnd = VP.X;
            Line.yEnd = VP.Y;
            Line.Bend = CalcBend(Line.xStart, Line.xEnd);
            Lnb = Line;

            //2
            Line = (TArrowLine)(GetWorkLine(1));
            Line.xStart = Lnb.xEnd;
            Line.yStart = Lnb.yEnd;
            Line.xEnd = P1.X;
            Line.yEnd = P1.Y;
            Line.Bend = 2;

            Rct.GetTailPoint(1, ref P1);
            Rhomb.GetTailPoint(1, ref P2);
            //3
            Line = (TArrowLine)(GetWorkLine(2));
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd = P2.X;
            Line.yEnd = P2.Y;
            Line.Bend = 1;

            Rhomb.GetTailPoint(0, ref P1);
            //4
            Line = (TArrowLine)(GetWorkLine(3));
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd = Lnb.xEnd;
            Line.yEnd = Lnb.yEnd;

            //5
            Rhomb.GetTailPoint(2, ref P1);
            Line = (TArrowLine)(GetWorkLine(4));
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd = P1.X + 2 * F_Step;
            Line.yEnd = P1.Y;

            base.Prepare();
        }
示例#2
0
        void CreateLines()
        {
            TArrowLine     Line, Lnb, Lnb3;
            Point          P1 = new Point(), P2 = new Point();
            int            tmp_x;
            TTfeRectShape  Rct;
            TTfeRhombShape Rhomb;

            FreeWorkLines();
            F_LastLineId = F_NumberLineId;

            Rhomb = (TTfeRhombShape)(GetWorkShape(0));
            Rct   = (TTfeRectShape)(GetWorkShape(1));
            Rhomb.GetTailPoint(0, ref P1);
            F_LastLineId++;
            //1
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = StartPoint.X;
            Line.yStart = StartPoint.Y;
            Line.xEnd   = P1.X;
            Line.yEnd   = P1.Y;
            Line.Bend   = CalcBend(Line.xStart, Line.xEnd);
            AddLine(Line);
            Lnb = Line;

            Rhomb.GetTailPoint(1, ref P1);
            Rct.GetTailPoint(0, ref P2);

            F_LastLineId++;
            //2
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd   = P2.X;
            Line.yEnd   = P2.Y;
            AddLine(Line);


            Rct.GetTailPoint(1, ref P1);
            F_LastLineId++;
            //3
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd   = P1.X + 4 * F_Step;
            Line.yEnd   = Lnb.yEnd;
            Line.Bend   = CalcBend(Line.xStart, Line.xEnd);
            AddLine(Line);
            Lnb3 = Line;

            Rhomb.GetTailPoint(2, ref P1);
            F_LastLineId++;
            //4
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd   = Lnb3.xEnd;
            Line.yEnd   = Lnb3.yEnd;
            Line.Bend   = CalcBend(Line.xStart, Line.xEnd);
            AddLine(Line);


            //5
            F_LastLineId++;
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = Lnb3.xEnd;
            Line.yStart = Lnb3.yEnd;
            Line.xEnd   = Lnb3.xEnd + 2 * F_Step;
            Line.yEnd   = Lnb3.yEnd;
            AddLine(Line);
        }
示例#3
0
        override public void Prepare()
        {
            TArrowLine     Line, Lnb;
            Point          P1 = new Point(), P2 = new Point();
            int            tmp_x;
            TTfeRectShape  Rct;
            TTfeRhombShape Rhomb;

            Rhomb = (TTfeRhombShape)(GetWorkShape(0));
            Rct   = (TTfeRectShape)(GetWorkShape(1));
            Rhomb.GetTailPoint(0, ref P1);
            //1
            Line        = (TArrowLine)(GetWorkLine(0));
            Line.xStart = StartPoint.X;
            Line.yStart = StartPoint.Y;
            Line.xEnd   = P1.X;
            Line.yEnd   = P1.Y;
            Line.Bend   = CalcBend(Line.xStart, Line.xEnd);
            Lnb         = Line;

            Rhomb.GetTailPoint(1, ref P1);
            Rct.GetTailPoint(0, ref P2);

            //2
            Line        = (TArrowLine)(GetWorkLine(1));
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd   = P2.X;
            Line.yEnd   = P2.Y;
            //Line.Bend = CalcBend(Line.xStart, Line.xEnd);

            Rct.GetTailPoint(1, ref P1);
            Rct = (TTfeRectShape)(GetWorkShape(2));
            Rct.GetTailPoint(1, ref P2);

            tmp_x = P1.X;
            if (tmp_x < P2.X)
            {
                tmp_x = P2.X;
            }
            tmp_x = tmp_x + 3 * F_Step;

            //3
            Line        = (TArrowLine)(GetWorkLine(2));
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd   = tmp_x;
            Line.yEnd   = Lnb.yEnd;
            Line.Bend   = CalcBend(Line.xStart, Line.xEnd);


            //4
            Line        = (TArrowLine)(GetWorkLine(3));
            Line.xStart = P2.X;
            Line.yStart = P2.Y;
            Line.xEnd   = tmp_x;
            Line.yEnd   = Lnb.yEnd;
            Line.Bend   = CalcBend(Line.xStart, Line.xEnd);

            Rct = (TTfeRectShape)(GetWorkShape(2));
            Rhomb.GetTailPoint(3, ref P1);
            Rct.GetTailPoint(0, ref P2);
            //5
            Line        = (TArrowLine)(GetWorkLine(4));
            Line.xStart = P2.X;
            Line.yStart = P2.Y;
            Line.xEnd   = P1.X;
            Line.yEnd   = P1.Y;

            //6
            Lnb = (TArrowLine)(GetWorkLine(2));

            Line            = (TArrowLine)(GetWorkLine(5));
            Line.PointStart = Lnb.PointEnd;
            Line.xEnd       = Lnb.PointEnd.X + 2 * F_Step;
            Line.yEnd       = Lnb.PointEnd.Y;
            base.Prepare();
        }
示例#4
0
        void CreateLines()
        {
            TArrowLine     Line, Lnb;
            Point          P1 = new Point(), P2 = new Point();
            int            tmp_x;
            TTfeRectShape  Rct;
            TTfeRhombShape Rhomb;

            FreeWorkLines();
            F_LastLineId = F_NumberLineId;

            Rhomb = (TTfeRhombShape)(GetWorkShape(0));
            Rct   = (TTfeRectShape)(GetWorkShape(1));
            Rhomb.GetTailPoint(0, ref P1);
            F_LastLineId++;
            //1
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = StartPoint.X;
            Line.yStart = StartPoint.Y;
            Line.xEnd   = P1.X;
            Line.yEnd   = P1.Y;
            Line.Bend   = CalcBend(Line.xStart, Line.xEnd);
            AddLine(Line);
            Lnb = Line;

            Rhomb.GetTailPoint(1, ref P1);
            Rct.GetTailPoint(0, ref P2);

            F_LastLineId++;
            //2
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd   = P2.X;
            Line.yEnd   = P2.Y;
            AddLine(Line);

            Rct.GetTailPoint(1, ref P1);
            Rct = (TTfeRectShape)(GetWorkShape(2));
            Rct.GetTailPoint(1, ref P2);

            tmp_x = P1.X;
            if (tmp_x < P2.X)
            {
                tmp_x = P2.X;
            }
            tmp_x = tmp_x + 3 * F_Step;

            F_LastLineId++;
            //3
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = P1.X;
            Line.yStart = P1.Y;
            Line.xEnd   = tmp_x;
            Line.yEnd   = Lnb.yEnd;
            AddLine(Line);

            F_LastLineId++;
            //4
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = P2.X;
            Line.yStart = P2.Y;
            Line.xEnd   = tmp_x;
            Line.yEnd   = Lnb.yEnd;
            AddLine(Line);

            Rhomb.GetTailPoint(3, ref P1);
            Rct.GetTailPoint(0, ref P2);
            F_LastLineId++;
            //5
            Line        = new TArrowLine(F_Step, F_LastLineId);
            Line.xStart = P2.X;
            Line.yStart = P2.Y;
            Line.xEnd   = P1.X;
            Line.yEnd   = P1.Y;
            AddLine(Line);

            F_LastLineId++;
            //6
            Lnb             = (TArrowLine)(GetWorkLine(2));
            Line            = new TArrowLine(F_Step, F_LastLineId);
            Line.PointStart = Lnb.PointEnd;
            Line.xEnd       = Lnb.PointEnd.X + 2 * F_Step;
            Line.yEnd       = Lnb.PointEnd.Y;
            AddLine(Line);
        }