## Bisector Bisector constraint can be applied to three linear objects, if the first two linear objects divide the plane into four sectors, and the third object is an axis that divides the selected sector in half. A bisector constraint can be created by the ```cpp constraint_item GCE_AddAngleBisector(GCE_system gSys, geom_item l1 , geom_item l2 , geom_item bl , GCE_bisec_variant variant) ``` The method has the following initial data: - **gSys** is the geometric constraint system; - **l1, l2** are a pair of straight-line objects that divide the plane into sectors; - **bl** is a bisector, line or line segment that divides the sector in halves between **l1** and **l2** lines; - **variant** is one of three variants that determine the sector of the bisector: - GCE_BISEC_CLOSEST selects one of the bisector sectors based on the relative position of objects in the initial state (see Item [Initial Approximation](../../../CALCULATION_OF_TWO-DIMENSIONAL_CONSTRAINTS/subsections/EN/Initial_Approximation.md)); - GCE_BISEC_PLUS means that the bisector divides a sector indicated by the vector sum of the directions **l1** and **l2**; - GCE_BISEC_MINUS means that the bisector divides a sector indicated by a vector difference of the directions **l1** and **l2**; The function returns the descriptor of a constraint declaring that **bl** is a bisector for a sector formed by the **l1** and **l2** lines. Please note that this constraint does not lose its meaning if the lines **l1** and **l2** do not intersect. In this case, the bisector divides a part of the surface between the lines **l1** and **l2** in two halves, and it lies on equal distances from these two lines.