public int other_triangle_id(triangle_store the_triangle) { // Function to return the other triangle associated with this edge if (this._left_triangle != null) { if (the_triangle.Equals(this._left_triangle) == true) { if (this._right_triangle == null) { return(-1); } return(this._right_triangle.tri_id); } } if (this._right_triangle != null) { if (the_triangle.Equals(this._right_triangle) == true) { if (this._left_triangle == null) { return(-1); } return(this._left_triangle.tri_id); } } return(-1); }
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); // ################################################################# }
public bool Equals(triangle_store the_triangle) { // find the triangle equals if (this.contains_edge(the_triangle.e1) == true && this.contains_edge(the_triangle.e2) == true && this.contains_edge(the_triangle.e3) == true) { return(true); } return(false); }
public edge_store(int i_edge_id, point_store i_start_pt, point_store i_end_pt) { // Constructor // set id this._edge_id = i_edge_id; // set start and end pt this._start_pt = i_start_pt; this._end_pt = i_end_pt; // set triangles to null this._left_triangle = null; this._right_triangle = null; }
public void remove_triangle(triangle_store the_triangle) { // check whether the input triangle has this edge if (the_triangle.contains_edge(this) == true) { if (rightof(the_triangle.mid_pt, this) == true) { // Remove the right triangle this._right_triangle = null; } else { // Remove the left triangle this._left_triangle = null; } } }
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); // ################################################################# }