protected PlacementNode(PlacementNode left, PlacementNode right, Trapezoid trapezoid = null) { Left = left; Right = right; Trapezoid = trapezoid; Parents = new List <PlacementNode>(); }
internal YNode(Vector leftEnd, Vector rightEnd, PlacementNode left, PlacementNode right) : base(left, right) { _leftEnd = leftEnd; _rightEnd = rightEnd; // PlacementTree.AddEdge() ensures that we use the half edge which goes from left to right // so we don't have to check that here. _slope = Slope(leftEnd.X, leftEnd.Y, rightEnd.X, rightEnd.Y); left.Parents.Add(this); right.Parents.Add(this); }
internal void ReplaceSon(PlacementNode oldSon, PlacementNode newSon) { if (Left == oldSon) { Left = newSon; } else { Right = newSon; } }
public XNode(PlacementNode left, PlacementNode right, Vertex vtx) : base(left, right) { _point = vtx.Position; left.Parents.Add(this); right.Parents.Add(this); }
internal YNode(PlacementNode left, PlacementNode right, Trapezoid trapezoid = null) : base(left, right, trapezoid) { left.Parents.Add(this); right.Parents.Add(this); }