Cleaned up

This commit is contained in:
Efi Fogel 2023-12-13 13:41:51 +02:00
parent 6089c485a1
commit 615850c4a6
4 changed files with 97 additions and 88 deletions

View File

@ -6,7 +6,7 @@ namespace CGAL {
* *
* `Aos_observer` serves as an abstract base class for all observer classes that * `Aos_observer` serves as an abstract base class for all observer classes that
* are attached to an arrangement instance of type `Arrangement` and receive * are attached to an arrangement instance of type `Arrangement` and receive
* notifications from the arrangement. This base class handles the attachment * notifications from the arrangement. This base class handles the attachment
* of the observer to a given arrangement instance or to the detachment of the * of the observer to a given arrangement instance or to the detachment of the
* observer from this arrangement instance. It also gives a default empty * observer from this arrangement instance. It also gives a default empty
* implementation to all notification functions that are invoked by the * implementation to all notification functions that are invoked by the
@ -27,22 +27,22 @@ public:
/// \name Types /// \name Types
/// @{ /// @{
/*! the type of the associated arrangement. */ //! the type of the associated arrangement.
typedef unspecified_type Arrangement_2; typedef unspecified_type Arrangement_2;
/*! the point type. */ //! the point type.
typedef typename Arrangement_2::Point_2 Point_2; typedef typename Arrangement_2::Point_2 Point_2;
/*! the \f$ x\f$-monotone curve type. */ //! the \f$x\f$-monotone curve type.
typedef typename Arrangement_2::X_monotone_curve_2 X_monotone_curve_2; typedef typename Arrangement_2::X_monotone_curve_2 X_monotone_curve_2;
/*! */ //! the type of a handle to an arrangement vertex.
typedef typename Arrangement_2::Vertex_handle Vertex_handle; typedef typename Arrangement_2::Vertex_handle Vertex_handle;
/*! */ //! the type of a handle to an arrangement halfedge.
typedef typename Arrangement_2::Halfedge_handle Halfedge_handle; typedef typename Arrangement_2::Halfedge_handle Halfedge_handle;
/*! */ //! the type of a handle to an arrangement face.
typedef typename Arrangement_2::Face_handle Face_handle; typedef typename Arrangement_2::Face_handle Face_handle;
/*! represents a connected component of the boundary (CCB), either an outer /*! represents a connected component of the boundary (CCB), either an outer
@ -77,13 +77,13 @@ public:
/// \name Notifications on Global Arrangement Operations /// \name Notifications on Global Arrangement Operations
/// @{ /// @{
/*! issued just before the attached arrangement is assigned with the contents of /*! issued just before the attached arrangement is assigned with the contents
* another arrangement `arr`. * of another arrangement `arr`.
*/ */
virtual void before_assign(const Arrangement_2& arr); virtual void before_assign(const Arrangement_2& arr);
/*! issued immediately after the attached arrangement has been assigned with the /*! issued immediately after the attached arrangement has been assigned with
* contents of another arrangement. * the contents of another arrangement.
*/ */
virtual void after_assign(); virtual void after_assign();
@ -97,8 +97,8 @@ public:
/*! issued just before a global function starts to modify the attached /*! issued just before a global function starts to modify the attached
* arrangement. It is guaranteed that no queries (especially no point-location * arrangement. It is guaranteed that no queries (especially no point-location
* queries) are issued until the termination of the global function is indicated * queries) are issued until the termination of the global function is
* by `after_global_change()`. * indicated by `after_global_change()`.
*/ */
virtual void before_global_change(); virtual void before_global_change();
@ -115,6 +115,7 @@ public:
/*! issued just before the observer is attached to the arrangement instance /*! issued just before the observer is attached to the arrangement instance
* `arr`. * `arr`.
* \param arr The arrangement that is about to attach the observer.
*/ */
virtual void before_attach(const Arrangement_2& arr); virtual void before_attach(const Arrangement_2& arr);
@ -127,8 +128,8 @@ public:
*/ */
virtual void before_detach(); virtual void before_detach();
/*! issued immediately after the observer has been detached from its arrangement /*! issued immediately after the observer has been detached from its
* instance. * arrangement instance.
*/ */
virtual void after_detach(); virtual void after_detach();
@ -142,34 +143,35 @@ public:
*/ */
virtual void before_create_vertex(const Point_2& p); virtual void before_create_vertex(const Point_2& p);
/*! issued immediately after a new vertex `v` has been created. Note that the /*! issued immediately after a new vertex `v` has been created. Note that the
* vertex still has no incident edges and is not connected to any other vertex. * vertex still has no incident edges and is not connected to any other vertex.
*/ */
virtual void after_create_vertex(Vertex_handle v); virtual void after_create_vertex(Vertex_handle v);
/*! issued just before a new vertex at infinity is created, `cv` is the curve /*! issued just before a new vertex at infinity is created, `cv` is the curve
* incident to the surface boundary, `ind` is the relevant curve-end, `ps_x` is * incident to the surface boundary, `ind` is the relevant curve-end, `ps_x`
* the boundary condition of the vertex in \f$ x\f$ and `ps_y` is the boundary * is the boundary condition of the vertex in \f$x\f$ and `ps_y` is the
* condition of the vertex in \f$ y\f$. * boundary condition of the vertex in \f$y\f$.
*/ */
virtual void before_create_boundary_vertex(const X_monotone_curve_2& cv, virtual void before_create_boundary_vertex(const X_monotone_curve_2& cv,
Arr_curve_end ind, Arr_curve_end ind,
Arr_parameter_space ps_x, Arr_parameter_space ps_x,
Arr_parameter_space ps_y); Arr_parameter_space ps_y);
/*! issued immediately after a new vertex `v` has been created. Note that the /*! issued immediately after a new vertex `v` has been created. Note that the
* vertex still has no incident edges and is not connected to any other vertex. * vertex still has no incident edges and is not connected to any other vertex.
*/ */
virtual void after_create_boundary_vertex(Vertex_handle v); virtual void after_create_boundary_vertex(Vertex_handle v);
/*! issued just before a new edge that corresponds to the \f$ x\f$-monotone /*! issued just before a new edge that corresponds to the \f$x\f$-monotone
* curve `c` and connects the vertices `v1` and `v2` is created. * curve `c` and connects the vertices `v1` and `v2` is created.
*/ */
virtual void before_create_edge(const X_monotone_curve_2& c, virtual void before_create_edge(const X_monotone_curve_2& c,
Vertex_handle v1, Vertex_handle v2); Vertex_handle v1, Vertex_handle v2);
/*! issued immediately after a new edge `e` has been created. The halfedge that /*! issued immediately after a new edge `e` has been created. The halfedge
* is sent to this function is always directed from `v1` to `v2` (see above). * that is sent to this function is always directed from `v1` to `v2` (see
* `before_create_edge()`).
*/ */
virtual void after_create_edge(Halfedge_handle e); virtual void after_create_edge(Halfedge_handle e);
@ -181,16 +183,17 @@ public:
/*! issued immediately after an existing vertex `v` has been modified. */ /*! issued immediately after an existing vertex `v` has been modified. */
virtual void after_modify_vertex(Vertex_handle v); virtual void after_modify_vertex(Vertex_handle v);
/*! issued just before an edge `e` is modified to be associated with the \f$ /*! issued just before an edge `e` is modified to be associated with the
* x\f$-monotone curve `c`. * \f$x\f$-monotone curve `c`.
*/ */
virtual void before_modify_edge(Halfedge_handle e, const X_monotone_curve_2& c); virtual void before_modify_edge(Halfedge_handle e,
const X_monotone_curve_2& c);
/*! issued immediately after an existing edge `e` has been modified. */ /*! issued immediately after an existing edge `e` has been modified. */
virtual void after_modify_edge(Halfedge_handle e); virtual void after_modify_edge(Halfedge_handle e);
/*! issued just before an edge `e` is split into two edges that should be /*! issued just before an edge `e` is split into two edges that should be
* associated with the \f$ x\f$-monotone curves `c1` and `c2`. The vertex `v` * associated with the \f$x\f$-monotone curves `c1` and `c2`. The vertex `v`
* corresponds to the split point, and will be used to separate the two * corresponds to the split point, and will be used to separate the two
* resulting edges. * resulting edges.
*/ */
@ -198,76 +201,77 @@ public:
const X_monotone_curve_2& c1, const X_monotone_curve_2& c1,
const X_monotone_curve_2& c2); const X_monotone_curve_2& c2);
/*! issued immediately after an existing edge has been split into the two given /*! issued immediately after an existing edge has been split into the two
* edges `e1` and `e2`. * given edges `e1` and `e2`.
*/ */
virtual void after_split_edge(Halfedge_handle e1, Halfedge_handle e2); virtual void after_split_edge(Halfedge_handle e1, Halfedge_handle e2);
/*! issued just before a fictitious edge `e` is split into two. The vertex at /*! issued just before a fictitious edge `e` is split into two. The vertex at
* infinity `v` corresponds to the split point, and will be used to separate the * infinity `v` corresponds to the split point, and will be used to separate
* two resulting edges. * the two resulting edges.
*/ */
virtual void before_split_fictitious_edge(Halfedge_handle e, Vertex_handle v); virtual void before_split_fictitious_edge(Halfedge_handle e, Vertex_handle v);
/*! issued immediately after an existing fictitious edge has been split into the /*! issued immediately after an existing fictitious edge has been split into
* two given fictitious edges `e1` and `e2`. * the two given fictitious edges `e1` and `e2`.
*/ */
virtual void after_split_fictitious_edge(Halfedge_handle e1, Halfedge_handle e2); virtual void after_split_fictitious_edge(Halfedge_handle e1,
Halfedge_handle e2);
/*! issued just before a face `f` is split into two, as a result of the /*! issued just before a face `f` is split into two, as a result of the
* insertion of the edge `e` into the arrangement. * insertion of the edge `e` into the arrangement.
*/ */
virtual void before_split_face(Face_handle f, Halfedge_handle e); virtual void before_split_face(Face_handle f, Halfedge_handle e);
/*! issued immediately after the existing face `f1` has been split, such that a /*! issued immediately after the existing face `f1` has been split, such that
* portion of it now forms a new face `f2`. The flag `is_hole` designates * a portion of it now forms a new face `f2`. The flag `is_hole` designates
* whether `f2` forms a hole (an inner CCB) inside `f1`. * whether `f2` forms a hole (an inner CCB) inside `f1`.
*/ */
virtual void after_split_face(Face_handle f1, Face_handle f2, bool is_hole); virtual void after_split_face(Face_handle f1, Face_handle f2, bool is_hole);
/*! issued just before outer ccb `h` inside a face `f` is split into two, as a /*! issued just before outer CCB `h` inside a face `f` is split into two, as a
* result of the removal of the edge `e` from the arrangement. * result of the removal of the edge `e` from the arrangement.
*/ */
virtual void before_split_outer_ccb(Face_handle f, Ccb_halfedge_circulator h, virtual void before_split_outer_ccb(Face_handle f, Ccb_halfedge_circulator h,
Halfedge_handle e); Halfedge_handle e);
/*! issued immediately after an outer ccb of the face `f` has been split, /*! issued immediately after an outer CCB of the face `f` has been split,
* resulting in the two holes `h1` and `h2`. * resulting in the two holes `h1` and `h2`.
*/ */
virtual void after_split_outer_ccb(Face_handle f, virtual void after_split_outer_ccb(Face_handle f,
Ccb_halfedge_circulator h1, Ccb_halfedge_circulator h1,
Ccb_halfedge_circulator h2); Ccb_halfedge_circulator h2);
/*! issued just before an inner ccb `h` inside a face `f` is split into two, as /*! issued just before an inner CCB `h` inside a face `f` is split into two,
* a result of the removal of the edge `e` from the arrangement. * as a result of the removal of the edge `e` from the arrangement.
*/ */
virtual void before_split_inner_ccb(Face_handle f, Ccb_halfedge_circulator h, virtual void before_split_inner_ccb(Face_handle f, Ccb_halfedge_circulator h,
Halfedge_handle e); Halfedge_handle e);
/*! issued immediately after an inner ccb of the face `f` has been split, /*! issued immediately after an inner CCB of the face `f` has been split,
* resulting in the two inner CCBs (holes) `h1` and `h2`. * resulting in the two inner CCBs (holes) `h1` and `h2`.
*/ */
virtual void after_split_inner_ccb(Face_handle f, virtual void after_split_inner_ccb(Face_handle f,
Ccb_halfedge_circulator h1, Ccb_halfedge_circulator h1,
Ccb_halfedge_circulator h2); Ccb_halfedge_circulator h2);
/*! issued just before the edge `e` is inserted as a new outer ccb inside the /*! issued just before the edge `e` is inserted as a new outer CCB inside the
* face `f`. * face `f`.
*/ */
virtual void before_add_outer_ccb(Face_handle f, Halfedge_handle e); virtual void before_add_outer_ccb(Face_handle f, Halfedge_handle e);
/*! issued immediately after a new outer ccb `h` has been created. The outer ccb /*! issued immediately after a new outer ccb `h` has been created. The outer
* always consists of a single pair of twin halfedges. * ccb always consists of a single pair of twin halfedges.
*/ */
virtual void after_add_outer_ccb(Ccb_halfedge_circulator h); virtual void after_add_outer_ccb(Ccb_halfedge_circulator h);
/*! issued just before the edge `e` is inserted as a new inner ccb inside the /*! issued just before the edge `e` is inserted as a new inner CCB inside the
* face `f`. * face `f`.
*/ */
virtual void before_add_inner_ccb(Face_handle f, Halfedge_handle e); virtual void before_add_inner_ccb(Face_handle f, Halfedge_handle e);
/*! issued immediately after a new inner ccb `h` has been created. The inner ccb /*! issued immediately after a new inner CCB `h` has been created. The inner
* always consists of a single pair of twin halfedges. * CCB always consists of a single pair of twin halfedges.
*/ */
virtual void after_add_inner_ccb(Ccb_halfedge_circulator h); virtual void after_add_inner_ccb(Ccb_halfedge_circulator h);
@ -281,16 +285,17 @@ public:
virtual void after_add_isolated_vertex(Vertex_handle v); virtual void after_add_isolated_vertex(Vertex_handle v);
/*! issued just before the two edges `e1` and `e2` are merged to form a single /*! issued just before the two edges `e1` and `e2` are merged to form a single
* edge that will be associated with the \f$ x\f$-monotone curve `c`. * edge that will be associated with the \f$x\f$-monotone curve `c`.
*/ */
virtual void before_merge_edge(Halfedge_handle e1, Halfedge_handle e2, virtual void before_merge_edge(Halfedge_handle e1, Halfedge_handle e2,
const X_monotone_curve_2& c); const X_monotone_curve_2& c);
/*! issued immediately after two edges have been merged to form the edge `e`. */ /*! issued immediately after two edges have been merged to form the edge `e`.
*/
virtual void after_merge_edge(Halfedge_handle e); virtual void after_merge_edge(Halfedge_handle e);
/*! issued just before the two fictitious edges `e1` and `e2` are merged to form /*! issued just before the two fictitious edges `e1` and `e2` are merged to
* a single fictitious edge. * form a single fictitious edge.
*/ */
virtual void before_merge_fictitious_edge(Halfedge_handle e1, virtual void before_merge_fictitious_edge(Halfedge_handle e1,
Halfedge_handle e2); Halfedge_handle e2);
@ -306,7 +311,8 @@ public:
virtual void before_merge_face(Face_handle f1, Face_handle f2, virtual void before_merge_face(Face_handle f1, Face_handle f2,
Halfedge_handle e); Halfedge_handle e);
/*! issued immediately after two faces have been merged to form the face `f`. */ /*! issued immediately after two faces have been merged to form the face `f`.
*/
virtual void after_merge_face(Face_handle f); virtual void after_merge_face(Face_handle f);
/*! issued just before two outer ccbs `h1` and `h2` inside the face `f` are /*! issued just before two outer ccbs `h1` and `h2` inside the face `f` are
@ -318,12 +324,12 @@ public:
Ccb_halfedge_circulator h2, Ccb_halfedge_circulator h2,
Halfedge_handle e); Halfedge_handle e);
/*! issued immediately after two outer ccbs have been merged to form a single /*! issued immediately after two outer cCBs have been merged to form a single
* outer ccb `h` inside the face `f`. * outer CCB `h` inside the face `f`.
*/ */
virtual void after_merge_outer_ccb(Face_handle f, Ccb_halfedge_circulator h); virtual void after_merge_outer_ccb(Face_handle f, Ccb_halfedge_circulator h);
/*! issued just before two inner ccbs `h1` and `h2` inside the face `f` are /*! issued just before two inner CCBs `h1` and `h2` inside the face `f` are
* merged to form a single connected component, following the insertion of the * merged to form a single connected component, following the insertion of the
* edge `e` into the arrangement. * edge `e` into the arrangement.
*/ */
@ -332,33 +338,35 @@ public:
Ccb_halfedge_circulator h2, Ccb_halfedge_circulator h2,
Halfedge_handle e); Halfedge_handle e);
/*! issued immediately after two inner ccbs have been merged to form a single /*! issued immediately after two inner CCBs have been merged to form a single
* inner ccb `h` inside the face `f`. * inner CCB `h` inside the face `f`.
*/ */
virtual void after_merge_inner_ccb(Face_handle f, Ccb_halfedge_circulator h); virtual void after_merge_inner_ccb(Face_handle f, Ccb_halfedge_circulator h);
/*! issued just before the outer ccb `h` is moved from one face to another. /*! issued just before the outer CCB `h` is moved from one face to another.
* This can happen if the face `to_f` containing the outer ccb has just been * This can happen if the face `to_f` containing the outer CCB has just been
* split from `from_f`. * split from `from_f`.
*/ */
virtual void before_move_outer_ccb(Face_handle from_f, Face_handle to_f, virtual void before_move_outer_ccb(Face_handle from_f, Face_handle to_f,
Ccb_halfedge_circulator h); Ccb_halfedge_circulator h);
/*! issued immediately after the outer ccb `h` has been moved to a new face. */ /*! issued immediately after the outer CCB `h` has been moved to a new face.
*/
virtual void after_move_outer_ccb(Ccb_halfedge_circulator h); virtual void after_move_outer_ccb(Ccb_halfedge_circulator h);
/*! issued just before the inner ccb `h` is moved from one face to another. /*! issued just before the inner CCB `h` is moved from one face to another.
* This can happen if the face `to_f` containing the inner ccb has just been * This can happen if the face `to_f` containing the inner CCB has just been
* split from `from_f`. * split from `from_f`.
*/ */
virtual void before_move_inner_ccb(Face_handle from_f, Face_handle to_f, virtual void before_move_inner_ccb(Face_handle from_f, Face_handle to_f,
Ccb_halfedge_circulator h); Ccb_halfedge_circulator h);
/*! issued immediately after the inner ccb `h` has been moved to a new face. */ /*! issued immediately after the inner CCB `h` has been moved to a new face.
*/
virtual void after_move_inner_ccb(Ccb_halfedge_circulator h); virtual void after_move_inner_ccb(Ccb_halfedge_circulator h);
/*! issued just before the isolated vertex `v` is moved from one face to /*! issued just before the isolated vertex `v` is moved from one face to
* another. This can happen if the face `to_f` containing the isolated vertex * another. This can happen if the face `to_f` containing the isolated vertex
* has just been split from `from_f`. * has just been split from `from_f`.
*/ */
virtual void before_move_isolated_vertex(Face_handle from_f, virtual void before_move_isolated_vertex(Face_handle from_f,
@ -385,20 +393,21 @@ public:
*/ */
virtual void after_remove_edge(); virtual void after_remove_edge();
/*! issued just before the outer ccb `f` is removed from inside the face `f`. */ /*! issued just before the outer ccb `f` is removed from inside the face `f`.
*/
virtual void before_remove_outer_ccb(Face_handle f, Ccb_halfedge_circulator h); virtual void before_remove_outer_ccb(Face_handle f, Ccb_halfedge_circulator h);
/*! issued immediately after a outer ccb has been removed (and deleted) from /*! issued immediately after a outer CCB has been removed (and deleted) from
* inside the face `f`. * inside the face `f`.
*/ */
virtual void after_remove_outer_ccb(Face_handle f); virtual void after_remove_outer_ccb(Face_handle f);
/*! issued just before the inner ccb `f` is removed from inside the face `f`. /*! issued just before the inner CCB `f` is removed from inside the face `f`.
*/ */
virtual void before_remove_inner_ccb(Face_handle f, virtual void before_remove_inner_ccb(Face_handle f,
Ccb_halfedge_circulator h); Ccb_halfedge_circulator h);
/*! issued immediately after a inner ccb has been removed (and deleted) from /*! issued immediately after a inner CCB has been removed (and deleted) from
* inside the face `f`. * inside the face `f`.
*/ */
virtual void after_remove_inner_ccb(Face_handle f); virtual void after_remove_inner_ccb(Face_handle f);

View File

@ -5,9 +5,10 @@ namespace CGAL {
* *
* \anchor arr_refarr_obs * \anchor arr_refarr_obs
* *
* `Arr_observer<Arrangement_2>` is an alias for Aos_observer<Arrangement_on_surface_2>`, * `Arr_observer<Arrangement_2>` is an alias for
* where `Arrangement_2` derives from `Arrangement_on_surface_2` and the latter is an * Aos_observer<Arrangement_on_surface_2>`,
* instance of the template * where `Arrangement_2` derives from `Arrangement_on_surface_2` and the latter
* is an instance of the template
* `CGAL::Arrangement_on_surface_2<GeometryTraits, TopologyTraits>`. * `CGAL::Arrangement_on_surface_2<GeometryTraits, TopologyTraits>`.
*/ */

View File

@ -21,7 +21,7 @@
#include <CGAL/Arr_enums.h> #include <CGAL/Arr_enums.h>
/*! \file /*! \file
* Definition of the Aos_observer<Arrangement> base class. * Definition of the `Aos_observer<Arrangement>` base class.
*/ */
namespace CGAL { namespace CGAL {
@ -31,8 +31,7 @@ namespace CGAL {
* The Arrangement parameter corresponds to an arrangement instantiation. * The Arrangement parameter corresponds to an arrangement instantiation.
*/ */
template <typename Arrangement_> template <typename Arrangement_>
class Aos_observer class Aos_observer {
{
public: public:
typedef Arrangement_ Arrangement_2; typedef Arrangement_ Arrangement_2;
typedef Aos_observer<Arrangement_2> Self; typedef Aos_observer<Arrangement_2> Self;
@ -44,7 +43,7 @@ public:
typedef typename Arrangement_2::Halfedge_handle Halfedge_handle; typedef typename Arrangement_2::Halfedge_handle Halfedge_handle;
typedef typename Arrangement_2::Face_handle Face_handle; typedef typename Arrangement_2::Face_handle Face_handle;
typedef typename Arrangement_2::Ccb_halfedge_circulator typedef typename Arrangement_2::Ccb_halfedge_circulator
Ccb_halfedge_circulator; Ccb_halfedge_circulator;
private: private:
Arrangement_2* p_arr; // The associated arrangement. Arrangement_2* p_arr; // The associated arrangement.
@ -81,7 +80,7 @@ public:
/// \name Modifying the associated arrangement. /// \name Modifying the associated arrangement.
//@{ //@{
/*! Get the associated arrangement (non-const version). */ /*! Get the associated arrangement (const version). */
const Arrangement_2* arrangement() const { return (p_arr); } const Arrangement_2* arrangement() const { return (p_arr); }
/*! Get the associated arrangement (non-const version). */ /*! Get the associated arrangement (non-const version). */
@ -160,7 +159,7 @@ public:
//@{ //@{
/*! Notification before the observer is attached to an arrangement. /*! Notification before the observer is attached to an arrangement.
* \param arr The arrangement we are about to attach the observer to. * \param arr The arrangement that is about to attach the observer.
*/ */
virtual void before_attach(const Arrangement_2& /* arr */) {} virtual void before_attach(const Arrangement_2& /* arr */) {}
@ -170,17 +169,16 @@ public:
/*! Notification before the observer is detached from the arrangement. */ /*! Notification before the observer is detached from the arrangement. */
virtual void before_detach() {} virtual void before_detach() {}
/*! Notification after the observer has been detached to the arrangement. */ /*! Notification after the observer has been detached from the arrangement. */
virtual void after_detach() {} virtual void after_detach() {}
//@} //@}
/// \name Notification functions on local changes in the arrangement. /// \name Notification functions on local changes in the arrangement.
//@{ //@{
/*! /*! Notification before the creation of a new vertex.
* Notification before the creation of a new vertex.
* \param p The point to be associated with the vertex. * \param p The point to be associated with the vertex.
* This point cannot lies on the surface boundaries. * This point cannot lie on the surface boundaries.
*/ */
virtual void before_create_vertex(const Point_2& /* p */) {} virtual void before_create_vertex(const Point_2& /* p */) {}
@ -191,7 +189,7 @@ public:
{} {}
/*! Notification before the creation of a new boundary vertex. /*! Notification before the creation of a new boundary vertex.
* \param p The on the surface boundary. * \param p The point on the surface boundary.
* \param ps_x The boundary condition of the vertex in x. * \param ps_x The boundary condition of the vertex in x.
* \param ps_y The boundary condition of the vertex in y. * \param ps_y The boundary condition of the vertex in y.
*/ */
@ -218,7 +216,7 @@ public:
virtual void after_create_boundary_vertex(Vertex_handle /* v */) {} virtual void after_create_boundary_vertex(Vertex_handle /* v */) {}
/*! Notification before the creation of a new edge. /*! Notification before the creation of a new edge.
* \param c The x-monotone curve to be associated with the edge. * \param c The \f$x\f$-monotone curve to be associated with the edge.
* \param v1 A handle to the first end-vertex of the edge. * \param v1 A handle to the first end-vertex of the edge.
* \param v2 A handle to the second end-vertex of the edge. * \param v2 A handle to the second end-vertex of the edge.
*/ */
@ -247,7 +245,7 @@ public:
/*! Notification before the modification of an existing edge. /*! Notification before the modification of an existing edge.
* \param e A handle to one of the twin halfedges to be updated. * \param e A handle to one of the twin halfedges to be updated.
* \param c The x-monotone curve to be associated with the edge. * \param c The \f$x\f$-monotone curve to be associated with the edge.
*/ */
virtual void before_modify_edge(Halfedge_handle /* e */, virtual void before_modify_edge(Halfedge_handle /* e */,
const X_monotone_curve_2& /* c */) const X_monotone_curve_2& /* c */)
@ -261,8 +259,8 @@ public:
/*! Notification before the splitting of an edge into two. /*! Notification before the splitting of an edge into two.
* \param e A handle to one of the existing halfedges. * \param e A handle to one of the existing halfedges.
* \param v A vertex representing the split point. * \param v A vertex representing the split point.
* \param c1 The x-monotone curve to be associated with the first edge. * \param c1 The \f$x\f$-monotone curve to be associated with the first edge.
* \param c2 The x-monotone curve to be associated with the second edge. * \param c2 The \f$x\f$-monotone curve to be associated with the second edge.
*/ */
virtual void before_split_edge(Halfedge_handle /* e */, virtual void before_split_edge(Halfedge_handle /* e */,
Vertex_handle /* v */, Vertex_handle /* v */,
@ -394,7 +392,7 @@ public:
/*! Notification before the merging of two edges. /*! Notification before the merging of two edges.
* \param e1 A handle to one of the halfedges forming the first edge. * \param e1 A handle to one of the halfedges forming the first edge.
* \param e2 A handle to one of the halfedges forming the second edge. * \param e2 A handle to one of the halfedges forming the second edge.
* \param c The x-monotone curve to be associated with the merged edge. * \param c The \f$x\f$-monotone curve to be associated with the merged edge.
*/ */
virtual void before_merge_edge(Halfedge_handle /* e1 */, virtual void before_merge_edge(Halfedge_handle /* e1 */,
Halfedge_handle /* e2 */, Halfedge_handle /* e2 */,

View File

@ -14,7 +14,8 @@
#define CGAL_ARR_OBSERVER_H #define CGAL_ARR_OBSERVER_H
/*! \file /*! \file
* Definition of the Arr_observer<Arrangement> base class mainly for backward compatibility. * Definition of the `Arr_observer<Arrangement>` base class mainly for backward
* compatibility.
*/ */
#include <CGAL/license/Arrangement_on_surface_2.h> #include <CGAL/license/Arrangement_on_surface_2.h>