private void add_to_local_list(edge_store e, triangle_store t)
            {
                //____________________________________________________________________________________________________________________________________________________________________
                // !! Addition on main list here
                //Form1.planar_object_store.point2d spt = local_input_points.Find(obj => obj.Equals(new Form1.planar_object_store.point2d(e.start_pt.pt_id, e.start_pt.x, e.start_pt.y)));
                //Form1.planar_object_store.point2d ept = local_input_points.Find(obj => obj.Equals(new Form1.planar_object_store.point2d(-1, e.end_pt.x, e.end_pt.y)));
                Form1.planar_object_store.edge2d temp_edge = new Form1.planar_object_store.edge2d(e.edge_id, e.start_pt.get_parent_data_type, e.end_pt.get_parent_data_type);
                local_output_edges.Add(temp_edge);

                if (t != null)
                {
                    Form1.planar_object_store.face2d temp_face = new Form1.planar_object_store.face2d(t.tri_id, t.p1.get_parent_data_type, t.p2.get_parent_data_type, t.p3.get_parent_data_type);
                    local_output_triangle.Add(temp_face);
                }

                                // #################################################################
                                Form1.planar_object_store.instance_tracker temp_edge_tracker = new Form1.planar_object_store.instance_tracker();

                temp_edge_tracker.edge_list = new List <Form1.planar_object_store.edge2d>();
                temp_edge_tracker.edge_list.AddRange(local_output_edges);
                temp_edge_tracker.face_list = new List <Form1.planar_object_store.face2d>();
                temp_edge_tracker.face_list.AddRange(local_output_triangle);
                local_history_tracker.Add(temp_edge_tracker);
                                // #################################################################
            }
            private void add_to_local_trianlge_list(triangle_store t)
            {
                //____________________________________________________________________________________________________________________________________________________________________
                // !! Addition on main list here
                Form1.planar_object_store.face2d temp_face = new Form1.planar_object_store.face2d(t.tri_id, t.pt1.get_parent_data_type, t.pt2.get_parent_data_type, t.pt3.get_parent_data_type);
                local_output_triangle.Add(temp_face);


                // #################################################################
                Form1.planar_object_store.instance_tracker temp_edge_tracker = new Form1.planar_object_store.instance_tracker();
                temp_edge_tracker.edge_list = new List <Form1.planar_object_store.edge2d>();
                temp_edge_tracker.edge_list.AddRange(local_output_edges);
                temp_edge_tracker.face_list = new List <Form1.planar_object_store.face2d>();
                temp_edge_tracker.face_list.AddRange(local_output_triangle);
                local_history_tracker.Add(temp_edge_tracker);
                                // #################################################################
            }
            private void remove_from_local_trianlge_list(triangle_store t)
            {
                //____________________________________________________________________________________________________________________________________________________________________
                // !! Addition on main list here
                Form1.planar_object_store.face2d temp_face = new Form1.planar_object_store.face2d(t.tri_id, t.pt1.get_parent_data_type, t.pt2.get_parent_data_type, t.pt3.get_parent_data_type);
                int temp_id = local_output_triangle.FindLastIndex(obj => obj.face_id == t.tri_id);

                local_output_triangle.RemoveAt(temp_id);
                //local_output_triangle.Remove(temp_face);


                // #################################################################
                Form1.planar_object_store.instance_tracker temp_edge_tracker = new Form1.planar_object_store.instance_tracker();
                temp_edge_tracker.edge_list = new List <Form1.planar_object_store.edge2d>();
                temp_edge_tracker.edge_list.AddRange(local_output_edges);
                temp_edge_tracker.face_list = new List <Form1.planar_object_store.face2d>();
                temp_edge_tracker.face_list.AddRange(local_output_triangle);
                local_history_tracker.Add(temp_edge_tracker);
                                // #################################################################
            }