Example #1
0
    public void PastedPointInBetween(int startIndex, int newIndex, int endIndex)
    {
        List <RegisteredLine> newRegisteredLines = new List <RegisteredLine>();

        if (startIndex > 0)
        {
            for (int i = 0; i <= startIndex - 1; i++)
            {
                newRegisteredLines.Add(new RegisteredLine(this.registeredLines[i]));
            }
        }

        RegisteredLine firstRegistration = new RegisteredLine(this.points[startIndex], this.points[newIndex]);

        newRegisteredLines.Add(firstRegistration);

        if (newIndex < this.points.Count - 1)
        {
            RegisteredLine secondRegistration = new RegisteredLine(this.points[newIndex], this.points[endIndex]);
            newRegisteredLines.Add(secondRegistration);

            for (int h = newIndex; h <= this.registeredLines.Length - 1; h++)
            {
                newRegisteredLines.Add(new RegisteredLine(this.registeredLines[h]));
            }
        }

        this.registeredLines = newRegisteredLines.ToArray();
    }
Example #2
0
    public void AddedPointAtEnd()
    {
        List <RegisteredLine> newRegisteredLines = this.registeredLines.ToList();

        int            index           = this.points.Count;
        RegisteredLine newRegistration = new RegisteredLine(this.points[index - 2], this.points[index - 1]);

        newRegisteredLines.Add(newRegistration);

        this.registeredLines = newRegisteredLines.ToArray();
    }
Example #3
0
    public void RegisterLineForCircle()
    {
        List <RegisteredLine> newRegisteredLines = this.registeredLines.ToList();

        int            index           = this.points.Count;
        RegisteredLine newRegistration = new RegisteredLine(this.points[index - 1], this.points[0]);

        newRegisteredLines.Add(newRegistration);

        this.registeredLines = newRegisteredLines.ToArray();

        this.circleLineRegistered = true;

        OnInternalValuesChange(true);
    }
Example #4
0
    public void BuildNewRegistration(bool buttonPressed = false)
    {
        this.registeredLines = null;
        if (buttonPressed)
        {
            this.currentSmoothLines = null;
            this.currentPlacedLines = null;

            if (this.smooth)
            {
                CalcSmoothLines();
            }
            else
            {
                CalcPlacedLines();
            }
        }

        List <RegisteredLine> newRegisteredLines = new List <RegisteredLine>();

        for (int i = 1; i <= this.points.Count - 1; i++)
        {
            RegisteredLine newRegistration = new RegisteredLine(this.points[i - 1], this.points[i]);
            newRegisteredLines.Add(newRegistration);
        }

        this.registeredLines = newRegisteredLines.ToArray();

        if (!buttonPressed)
        {
            OnInternalValuesChange(true);
        }


        if (buttonPressed)
        {
            if (this.circle && this.circleLineRegistered)
            {
                RegisterLineForCircle();
                return;
            }

            OnInternalValuesChange(true);
        }
    }
Example #5
0
    public void RemovedPointInBetween(int removeIndex)
    {
        List <RegisteredLine> newRegisteredLines = new List <RegisteredLine>();

        for (int i = 0; i <= removeIndex - 2; i++)
        {
            newRegisteredLines.Add(new RegisteredLine(this.registeredLines[i]));
        }

        RegisteredLine newRegistration = new RegisteredLine(this.registeredLines[removeIndex].line.lineRotation, this.points[removeIndex - 1], this.points[removeIndex + 1]);

        newRegisteredLines.Add(newRegistration);

        for (int i = removeIndex + 2; i <= this.points.Count - 1; i++)
        {
            RegisteredLine reRegister = new RegisteredLine(this.registeredLines[i - 1].line.lineRotation, this.points[i - 1], this.points[i]);
            newRegisteredLines.Add(reRegister);
        }

        this.registeredLines = newRegisteredLines.ToArray();
    }
Example #6
0
 public RegisteredLine(RegisteredLine registeredLine)
 {
     this.start = registeredLine.start;
     this.end   = registeredLine.end;
     this.line  = new Line(registeredLine.line);
 }