Strabo.Core.TextDetection.TextString.BreakIt C# (CSharp) Method

BreakIt() private method

private BreakIt ( int min_angel ) : void
min_angel int
return void
        private void BreakIt(int min_angel)
        {
            List<int> tmp_list4one = new List<int>();
            for (int i = 0; i < _char_list.Count; i++)
            {
                if (_char_list[i].sizefilter_included == false)
                {
                    tmp_list4one.Add(i); continue;
                }
                _char_list[i].split_visited = 1;
                if (_char_list[i].neighbor_count == 2)
                {
                    if (_debug) Console.WriteLine("Break test: Points");
                    double angel = CosAngel(_char_list[i].neighbors[0], _char_list[i].neighbors[1], i);
                    if (_debug) Console.WriteLine("Break test: Idx " + _char_list[i].neighbors[0] + " " + i + " " + _char_list[i].neighbors[1] + " _   " + angel);

                    if (angel < min_angel) // acute
                    {
                        _char_list[i].split_visited++;
                        _char_list[i].split_here = true;
                        if (_debug) Console.WriteLine("Break here @ " + i);
                    }
                    else
                        if (_debug) Console.WriteLine("Break test passed");
                }
            }
            List<List<int>> tmp_list4two = new List<List<int>>();
            for (int i = 0; i < _char_list.Count; i++)
            {
                if (_char_list[i].sizefilter_included == false || _char_list[i].split_visited <= 0 || _char_list[i].split_here == true)
                    continue;
                List<int> substring_list = new List<int>();
                if (_debug) Console.Write(" BreakItTrace: ");
                BreakItTrace(substring_list, i);
                if (_debug) Console.WriteLine();

                if (substring_list.Count == 2)
                {
                    tmp_list4two.Add(substring_list);
                    if (_debug) Console.WriteLine("                 Add tmp2ts:     " + substring_list[0] + "   " + substring_list[1]);
                }
                else
                    AddSubstring(substring_list);
            }
            MergeTwo(tmp_list4two);
            MergeOne(tmp_list4one);
        }