\begin{ccRefFunction}{bisector} \ccFunction{Line_2 bisector(const Point_2 &p, const Point_2 &q);} {constructs the bisector line of the two points \ccc{p} and \ccc{q}. The bisector is oriented in such a way that \ccc{p} lies on its positive side. \ccPrecond{\ccc{p} and \ccc{q} are not equal.}} \ccFunction{Line_2 bisector(const Line_2 &l1, const Line_2 &l2);} {constructs the bisector of the two lines $l1$ and $l2$. In the general case, the bisector has the direction of the vector which is the sum of the normalized directions of the two lines, and which passes through the intersection of \ccc{l1} and \ccc{l2}. If \ccc{l1} and \ccc{l2} are parallel, then the bisector is defined as the line which has the same direction as \ccc{l1}, and which is at the same distance from \ccc{l1} and \ccc{l2}. This function requires that \ccc{Kernel::RT} supports the \ccc{sqrt()} operation.} \ccFunction{Plane_3 bisector(const Point_3 &p, const Point_3 &q);} {constructs the bisector plane of the two points \ccc{p} and \ccc{q}. The bisector is oriented in such a way that \ccc{p} lies on its positive side. \ccPrecond{\ccc{p} and \ccc{q} are not equal.}} \ccFunction{Plane_3 bisector(const Plane_3 &h1, const Plane_3 &h2);} {constructs the bisector of the two planes $h1$ and $h2$. In the general case, the bisector has a normal vector which has the same direction as the sum of the normalized normal vectors of the two planes, and passes through the intersection of \ccc{h1} and \ccc{h2}. If \ccc{h1} and \ccc{h2} are parallel, then the bisector is defined as the plane which has the same oriented normal vector as \ccc{l1}, and which is at the same distance from \ccc{h1} and \ccc{h2}. This function requires that \ccc{Kernel::RT} supports the \ccc{sqrt()} operation.} \end{ccRefFunction}