# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

"""SWIG wrapper for the CGAL 2D Mesh Generation package provided under the GPL-3.0+ license"""

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _CGAL_Mesh_2
else:
    import _CGAL_Mesh_2

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


import CGAL.CGAL_Kernel
NOT_BAD = _CGAL_Mesh_2.NOT_BAD
BAD = _CGAL_Mesh_2.BAD
IMPERATIVELY_BAD = _CGAL_Mesh_2.IMPERATIVELY_BAD
import CGAL.CGAL_Triangulation_2
class Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle())

    def dimension(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_dimension(self)

    def vertex(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_vertex(self, *args)

    def has_vertex(self, c):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_has_vertex(self, c)

    def neighbor(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_neighbor(self, *args)

    def has_neighbor(self, c):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_has_neighbor(self, c)

    def index(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_index(self, *args)

    def set_vertex(self, c1, c2):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_set_vertex(self, c1, c2)

    def set_vertices(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_set_vertices(self, *args)

    def set_neighbor(self, c1, c2):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_set_neighbor(self, c1, c2)

    def set_neighbors(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_set_neighbors(self, *args)

    def reorient(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_reorient(self)

    def ccw_permute(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_ccw_permute(self)

    def cw_permute(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_cw_permute(self)

    def is_valid(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_is_valid(self, *args)

    def __lt__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_deepcopy(self, *args)

    def is_in_domain(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_is_in_domain(self)

    def set_in_domain(self, b):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_set_in_domain(self, b)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle)

class Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle())

    def point(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_point(self, *args)

    def set_point(self, c):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_set_point(self, c)

    def __lt__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle)

class Mesh_2_Constrained_Delaunay_triangulation_2_Edge(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Edge(*args))
    first = property(_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_first_get, _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_first_set)
    second = property(_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_second_get, _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_second_set)
    def __len__(self):
        return 2
    def __repr__(self):
        return str((self.first, self.second))
    def __getitem__(self, index): 
        if not (index % 2):
            return self.first
        else:
            return self.second
    def __setitem__(self, index, val):
        if not (index % 2):
            self.first = val
        else:
            self.second = val
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Edge

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Edge in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Edge)

class Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_swiginit(self, _CGAL_Mesh_2.new_Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2())

    def clear(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_clear(self)

    def dimension(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_dimension(self)

    def number_of_vertices(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_number_of_vertices(self)

    def number_of_faces(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_number_of_faces(self)

    def infinite_face(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_infinite_face(self, *args)

    def infinite_vertex(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_infinite_vertex(self, *args)

    def finite_vertex(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_finite_vertex(self, *args)

    def is_infinite(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_is_infinite(self, *args)

    def is_edge(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_is_edge(self, *args)

    def includes_edge(self, va, vb, vbr, fr, i):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_includes_edge(self, va, vb, vbr, fr, i)

    def is_face(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_is_face(self, *args)

    def oriented_side(self, c1, c2):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_oriented_side(self, c1, c2)

    def side_of_oriented_circle(self, c1, c2):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_side_of_oriented_circle(self, c1, c2)

    def locate(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_locate(self, *args)

    def push_back(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_push_back(self, *args)

    def remove(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_remove(self, c)

    def insert_first(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert_first(self, *args)

    def insert_second(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert_second(self, *args)

    def insert_in_face(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert_in_face(self, *args)

    def insert_in_edge(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert_in_edge(self, *args)

    def insert_outside_convex_hull(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert_outside_convex_hull(self, *args)

    def insert_outside_affine_hull(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert_outside_affine_hull(self, *args)

    def remove_degree_3(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_remove_degree_3(self, c)

    def remove_second(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_remove_second(self, c)

    def remove_first(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_remove_first(self, c)

    def insert(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert(self, *args)

    def finite_vertices(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_finite_vertices(self)

    def finite_edges(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_finite_edges(self)

    def finite_faces(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_finite_faces(self)

    def all_vertices(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_all_vertices(self)

    def all_edges(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_all_edges(self)

    def all_faces(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_all_faces(self)

    def points(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_points(self)

    def line_walk(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_line_walk(self, *args)

    def incident_faces(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_incident_faces(self, *args)

    def incident_edges(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_incident_edges(self, *args)

    def incident_vertices(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_incident_vertices(self, *args)

    def mirror_vertex(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_mirror_vertex(self, *args)

    def mirror_index(self, c1, c2):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_mirror_index(self, c1, c2)

    def ccw(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_ccw(self, c)

    def cw(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_cw(self, c)

    def circumcenter(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_circumcenter(self, *args)

    def set_infinite_vertex(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_set_infinite_vertex(self, c)

    def is_valid(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_is_valid(self, *args)

    def triangle(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_triangle(self, *args)

    def segment(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_segment(self, *args)

    def __str__(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2___str__(self)

    def write_to_file(self, fname, prec=5):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_write_to_file(self, fname, prec)

    def read_from_file(self, fname):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_read_from_file(self, fname)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_deepcopy(self, *args)

    def same_internal_object(self, other):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_same_internal_object(self, other)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2

# Register Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_swigregister(Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2)

class Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_All_vertices_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Finite_vertices_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_All_faces_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Finite_faces_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_All_edges_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Finite_edges_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Point_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator___iter__(self)

    def next(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Line_face_circulator)

class Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator___iter__(self)

    def next(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Face_circulator)

class Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator___iter__(self)

    def next(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Edge_circulator)

class Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator___iter__(self)

    def next(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator

# Register Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_circulator)

class Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_swiginit(self, _CGAL_Mesh_2.new_Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle(*args))

    def set(self, t):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_set(self, t)

    def object(self):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_object(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle

# Register Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle in _CGAL_Mesh_2:
_CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle_swigregister(Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Face_handle)

class Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_swiginit(self, _CGAL_Mesh_2.new_Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle(*args))

    def set(self, t):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_set(self, t)

    def object(self):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_object(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle

# Register Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle in _CGAL_Mesh_2:
_CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle_swigregister(Ref_Mesh_2_Constrained_Delaunay_triangulation_2_Vertex_handle)

class Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2(Internal_Triangulation_2_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_swiginit(self, _CGAL_Mesh_2.new_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2(*args))

    def is_constrained(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_is_constrained(self, c)

    def are_there_incident_constraints(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_are_there_incident_constraints(self, c)

    def push_back(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_push_back(self, c)

    def incident_constraints(self, v, edge_output_iterator):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_incident_constraints(self, v, edge_output_iterator)

    def insert_constraint(self, *args):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert_constraint(self, *args)

    def remove(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_remove(self, c)

    def remove_incident_constraints(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_remove_incident_constraints(self, c)

    def remove_constrained_edge(self, c1, c2):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_remove_constrained_edge(self, c1, c2)

    def insert_constraint_range(self, range):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_insert_constraint_range(self, range)

    def deepcopy(self):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_deepcopy(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2

# Register Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2_swigregister(Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2)

class Mesh_2_Constrained_Delaunay_triangulation_2(Internal_Contrained_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_2):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_2(*args))

    def deepcopy(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_deepcopy(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_2

# Register Mesh_2_Constrained_Delaunay_triangulation_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_2_swigregister(Mesh_2_Constrained_Delaunay_triangulation_2)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle())

    def dimension(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_dimension(self)

    def vertex(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_vertex(self, *args)

    def has_vertex(self, c):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_has_vertex(self, c)

    def neighbor(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_neighbor(self, *args)

    def has_neighbor(self, c):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_has_neighbor(self, c)

    def index(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_index(self, *args)

    def set_vertex(self, c1, c2):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_set_vertex(self, c1, c2)

    def set_vertices(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_set_vertices(self, *args)

    def set_neighbor(self, c1, c2):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_set_neighbor(self, c1, c2)

    def set_neighbors(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_set_neighbors(self, *args)

    def reorient(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_reorient(self)

    def ccw_permute(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_ccw_permute(self)

    def cw_permute(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_cw_permute(self)

    def is_valid(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_is_valid(self, *args)

    def __lt__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_deepcopy(self, *args)

    def is_in_domain(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_is_in_domain(self)

    def set_in_domain(self, b):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_set_in_domain(self, b)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle())

    def point(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_point(self, *args)

    def set_point(self, c):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_set_point(self, c)

    def __lt__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge(*args))
    first = property(_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_first_get, _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_first_set)
    second = property(_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_second_get, _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_second_set)
    def __len__(self):
        return 2
    def __repr__(self):
        return str((self.first, self.second))
    def __getitem__(self, index): 
        if not (index % 2):
            return self.first
        else:
            return self.second
    def __setitem__(self, index, val):
        if not (index % 2):
            self.first = val
        else:
            self.second = val
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge)

class Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_swiginit(self, _CGAL_Mesh_2.new_Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2())

    def clear(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_clear(self)

    def dimension(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_dimension(self)

    def number_of_vertices(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_number_of_vertices(self)

    def number_of_faces(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_number_of_faces(self)

    def infinite_face(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_infinite_face(self, *args)

    def infinite_vertex(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_infinite_vertex(self, *args)

    def finite_vertex(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_finite_vertex(self, *args)

    def is_infinite(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_is_infinite(self, *args)

    def is_edge(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_is_edge(self, *args)

    def includes_edge(self, va, vb, vbr, fr, i):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_includes_edge(self, va, vb, vbr, fr, i)

    def is_face(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_is_face(self, *args)

    def oriented_side(self, c1, c2):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_oriented_side(self, c1, c2)

    def side_of_oriented_circle(self, c1, c2):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_side_of_oriented_circle(self, c1, c2)

    def locate(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_locate(self, *args)

    def push_back(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_push_back(self, *args)

    def remove(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove(self, c)

    def insert_first(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_first(self, *args)

    def insert_second(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_second(self, *args)

    def insert_in_face(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_in_face(self, *args)

    def insert_in_edge(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_in_edge(self, *args)

    def insert_outside_convex_hull(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_outside_convex_hull(self, *args)

    def insert_outside_affine_hull(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_outside_affine_hull(self, *args)

    def remove_degree_3(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove_degree_3(self, c)

    def remove_second(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove_second(self, c)

    def remove_first(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove_first(self, c)

    def insert(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert(self, *args)

    def finite_vertices(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_finite_vertices(self)

    def finite_edges(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_finite_edges(self)

    def finite_faces(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_finite_faces(self)

    def all_vertices(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_all_vertices(self)

    def all_edges(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_all_edges(self)

    def all_faces(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_all_faces(self)

    def points(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_points(self)

    def line_walk(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_line_walk(self, *args)

    def incident_faces(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_incident_faces(self, *args)

    def incident_edges(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_incident_edges(self, *args)

    def incident_vertices(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_incident_vertices(self, *args)

    def mirror_vertex(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_mirror_vertex(self, *args)

    def mirror_index(self, c1, c2):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_mirror_index(self, c1, c2)

    def ccw(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_ccw(self, c)

    def cw(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_cw(self, c)

    def circumcenter(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_circumcenter(self, *args)

    def set_infinite_vertex(self, c):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_set_infinite_vertex(self, c)

    def is_valid(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_is_valid(self, *args)

    def triangle(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_triangle(self, *args)

    def segment(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_segment(self, *args)

    def __str__(self):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2___str__(self)

    def write_to_file(self, fname, prec=5):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_write_to_file(self, fname, prec)

    def read_from_file(self, fname):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_read_from_file(self, fname)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_deepcopy(self, *args)

    def same_internal_object(self, other):
        return _CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_same_internal_object(self, other)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2

# Register Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_swigregister(Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_vertices_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_vertices_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_faces_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_faces_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_All_edges_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Finite_edges_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Point_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator___iter__(self)

    def next(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Line_face_circulator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator___iter__(self)

    def next(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_circulator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator___iter__(self)

    def next(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Edge_circulator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator___iter__(self)

    def next(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_circulator)

class Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_swiginit(self, _CGAL_Mesh_2.new_Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle(*args))

    def set(self, t):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_set(self, t)

    def object(self):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_object(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle

# Register Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle in _CGAL_Mesh_2:
_CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle_swigregister(Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Face_handle)

class Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_swiginit(self, _CGAL_Mesh_2.new_Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle(*args))

    def set(self, t):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_set(self, t)

    def object(self):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_object(self)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle

# Register Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle in _CGAL_Mesh_2:
_CGAL_Mesh_2.Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle_swigregister(Ref_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertex_handle)

class Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2(Internal_Triangulation_2_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_swiginit(self, _CGAL_Mesh_2.new_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2(*args))

    def is_constrained(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_is_constrained(self, c)

    def are_there_incident_constraints(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_are_there_incident_constraints(self, c)

    def push_back(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_push_back(self, c)

    def incident_constraints(self, v, edge_output_iterator):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_incident_constraints(self, v, edge_output_iterator)

    def insert_constraint(self, *args):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_constraint(self, *args)

    def remove(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove(self, c)

    def remove_incident_constraints(self, c):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove_incident_constraints(self, c)

    def remove_constrained_edge(self, c1, c2):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove_constrained_edge(self, c1, c2)

    def insert_constraint_range(self, range):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_constraint_range(self, range)

    def deepcopy(self):
        return _CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_deepcopy(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2

# Register Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_swigregister(Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2)

class Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2(Internal_Contrained_triangulation_2_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_swiginit(self, _CGAL_Mesh_2.new_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2(*args))

    def deepcopy(self):
        return _CGAL_Mesh_2.Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_deepcopy(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2

# Register Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2_swigregister(Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint(*args))
    first = property(_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_first_get, _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_first_set)
    second = property(_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_second_get, _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_second_set)
    def __len__(self):
        return 2
    def __repr__(self):
        return str((self.first, self.second))
    def __getitem__(self, index): 
        if not (index % 2):
            return self.first
        else:
            return self.second
    def __setitem__(self, index, val):
        if not (index % 2):
            self.first = val
        else:
            self.second = val
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_id(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_id_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_id())
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_id

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_id in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_id_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_id)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Constraint_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Subconstraint_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Vertices_in_constraint_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_iterator)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2(Internal_Constrained_Delaunay_triangulation_2_Mesh_2_Constrained_Delaunay_triangulation_plus_2):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2(*args))

    def remove_constraint(self, c):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove_constraint(self, c)

    def number_of_enclosing_constraints(self, c1, c2):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_number_of_enclosing_constraints(self, c1, c2)

    def constraints(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_constraints(self)

    def subconstraints(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_subconstraints(self)

    def context(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_context(self, *args)

    def contexts(self, va, vb):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_contexts(self, va, vb)

    def deepcopy(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_deepcopy(self)

    def insert_constraint(self, *args):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_insert_constraint(self, *args)

    def vertices_in_constraint(self, cid):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_vertices_in_constraint(self, cid)

    def remove_points_without_corresponding_vertex(self, cid):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_remove_points_without_corresponding_vertex(self, cid)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2)

class Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context())

    def vertices(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_vertices(self)

    def current(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_current(self)

    def number_of_vertices(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_number_of_vertices(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context

# Register Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context_swigregister(Mesh_2_Constrained_Delaunay_triangulation_plus_2_Context)

class Constrained_Delaunay_triangulation_conformer_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, cdt):
        _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_swiginit(self, _CGAL_Mesh_2.new_Constrained_Delaunay_triangulation_conformer_2(cdt))

    def make_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_make_conforming_Delaunay(self)

    def make_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_make_conforming_Gabriel(self)

    def is_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_is_conforming_Delaunay(self)

    def is_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_is_conforming_Gabriel(self)

    def init_Delaunay(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_init_Delaunay(self)

    def step_by_step_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_step_by_step_conforming_Delaunay(self)

    def init_Gabriel(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_init_Gabriel(self)

    def step_by_step_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_step_by_step_conforming_Gabriel(self)

    def is_conforming_done(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_is_conforming_done(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Constrained_Delaunay_triangulation_conformer_2

# Register Constrained_Delaunay_triangulation_conformer_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Constrained_Delaunay_triangulation_conformer_2_swigregister(Constrained_Delaunay_triangulation_conformer_2)

class Constrained_Delaunay_triangulation_plus_conformer_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, cdt):
        _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_swiginit(self, _CGAL_Mesh_2.new_Constrained_Delaunay_triangulation_plus_conformer_2(cdt))

    def make_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_make_conforming_Delaunay(self)

    def make_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_make_conforming_Gabriel(self)

    def is_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_is_conforming_Delaunay(self)

    def is_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_is_conforming_Gabriel(self)

    def init_Delaunay(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_init_Delaunay(self)

    def step_by_step_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_step_by_step_conforming_Delaunay(self)

    def init_Gabriel(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_init_Gabriel(self)

    def step_by_step_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_step_by_step_conforming_Gabriel(self)

    def is_conforming_done(self):
        return _CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_is_conforming_done(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Constrained_Delaunay_triangulation_plus_conformer_2

# Register Constrained_Delaunay_triangulation_plus_conformer_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Constrained_Delaunay_triangulation_plus_conformer_2_swigregister(Constrained_Delaunay_triangulation_plus_conformer_2)

class Delaunay_mesher_2_Seeds_const_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator_swiginit(self, _CGAL_Mesh_2.new_Delaunay_mesher_2_Seeds_const_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Delaunay_mesher_2_Seeds_const_iterator

# Register Delaunay_mesher_2_Seeds_const_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Delaunay_mesher_2_Seeds_const_iterator_swigregister(Delaunay_mesher_2_Seeds_const_iterator)

class Delaunay_mesh_size_criteria_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Delaunay_mesh_size_criteria_2_swiginit(self, _CGAL_Mesh_2.new_Delaunay_mesh_size_criteria_2(*args))

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Delaunay_mesh_size_criteria_2_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Delaunay_mesh_size_criteria_2

# Register Delaunay_mesh_size_criteria_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Delaunay_mesh_size_criteria_2_swigregister(Delaunay_mesh_size_criteria_2)

class Default_Delaunay_mesher_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Default_Delaunay_mesher_2_swiginit(self, _CGAL_Mesh_2.new_Default_Delaunay_mesher_2(*args))

    def clear_seeds(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_clear_seeds(self)

    def set_seeds(self, *args):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_set_seeds(self, *args)

    def seeds(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_seeds(self)

    def refine_mesh(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_refine_mesh(self)

    def get_criteria(self, *args):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_get_criteria(self, *args)

    def set_criteria(self, *args):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_set_criteria(self, *args)

    def set_bad_faces(self, range):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_set_bad_faces(self, range)

    def init(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_init(self)

    def is_refinement_done(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_is_refinement_done(self)

    def step_by_step_refine_mesh(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_2_step_by_step_refine_mesh(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Default_Delaunay_mesher_2

# Register Default_Delaunay_mesher_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Default_Delaunay_mesher_2_swigregister(Default_Delaunay_mesher_2)

class Mesh_2_Constrained_Delaunay_triangulation_conformer_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, cdt):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_conformer_2(cdt))

    def make_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_make_conforming_Delaunay(self)

    def make_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_make_conforming_Gabriel(self)

    def is_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_is_conforming_Delaunay(self)

    def is_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_is_conforming_Gabriel(self)

    def init_Delaunay(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_init_Delaunay(self)

    def step_by_step_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_step_by_step_conforming_Delaunay(self)

    def init_Gabriel(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_init_Gabriel(self)

    def step_by_step_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_step_by_step_conforming_Gabriel(self)

    def is_conforming_done(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_is_conforming_done(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_conformer_2

# Register Mesh_2_Constrained_Delaunay_triangulation_conformer_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_2_swigregister(Mesh_2_Constrained_Delaunay_triangulation_conformer_2)

class Delaunay_mesher_plus_2_Seeds_const_iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator_swiginit(self, _CGAL_Mesh_2.new_Delaunay_mesher_plus_2_Seeds_const_iterator())

    def __iter__(self):
        return _CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Delaunay_mesher_plus_2_Seeds_const_iterator

# Register Delaunay_mesher_plus_2_Seeds_const_iterator in _CGAL_Mesh_2:
_CGAL_Mesh_2.Delaunay_mesher_plus_2_Seeds_const_iterator_swigregister(Delaunay_mesher_plus_2_Seeds_const_iterator)

class Delaunay_mesh_plus_size_criteria_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Delaunay_mesh_plus_size_criteria_2_swiginit(self, _CGAL_Mesh_2.new_Delaunay_mesh_plus_size_criteria_2(*args))

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Delaunay_mesh_plus_size_criteria_2_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Delaunay_mesh_plus_size_criteria_2

# Register Delaunay_mesh_plus_size_criteria_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Delaunay_mesh_plus_size_criteria_2_swigregister(Delaunay_mesh_plus_size_criteria_2)

class Default_Delaunay_mesher_plus_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_swiginit(self, _CGAL_Mesh_2.new_Default_Delaunay_mesher_plus_2(*args))

    def clear_seeds(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_clear_seeds(self)

    def set_seeds(self, *args):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_set_seeds(self, *args)

    def seeds(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_seeds(self)

    def refine_mesh(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_refine_mesh(self)

    def get_criteria(self, *args):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_get_criteria(self, *args)

    def set_criteria(self, *args):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_set_criteria(self, *args)

    def set_bad_faces(self, range):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_set_bad_faces(self, range)

    def init(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_init(self)

    def is_refinement_done(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_is_refinement_done(self)

    def step_by_step_refine_mesh(self):
        return _CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_step_by_step_refine_mesh(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Default_Delaunay_mesher_plus_2

# Register Default_Delaunay_mesher_plus_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Default_Delaunay_mesher_plus_2_swigregister(Default_Delaunay_mesher_plus_2)

class Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, cdt):
        _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2(cdt))

    def make_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_make_conforming_Delaunay(self)

    def make_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_make_conforming_Gabriel(self)

    def is_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_is_conforming_Delaunay(self)

    def is_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_is_conforming_Gabriel(self)

    def init_Delaunay(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_init_Delaunay(self)

    def step_by_step_conforming_Delaunay(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_step_by_step_conforming_Delaunay(self)

    def init_Gabriel(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_init_Gabriel(self)

    def step_by_step_conforming_Gabriel(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_step_by_step_conforming_Gabriel(self)

    def is_conforming_done(self):
        return _CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_is_conforming_done(self)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2

# Register Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2 in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2_swigregister(Mesh_2_Constrained_Delaunay_triangulation_conformer_plus_2)


def make_conforming_Delaunay_2(*args):
    return _CGAL_Mesh_2.make_conforming_Delaunay_2(*args)

def make_conforming_Gabriel_2(*args):
    return _CGAL_Mesh_2.make_conforming_Gabriel_2(*args)

def refine_Delaunay_mesh_2(*args):
    return _CGAL_Mesh_2.refine_Delaunay_mesh_2(*args)
BOUND_REACHED = _CGAL_Mesh_2.BOUND_REACHED
TIME_LIMIT_REACHED = _CGAL_Mesh_2.TIME_LIMIT_REACHED
CANT_IMPROVE_ANYMORE = _CGAL_Mesh_2.CANT_IMPROVE_ANYMORE
CONVERGENCE_REACHED = _CGAL_Mesh_2.CONVERGENCE_REACHED
MAX_ITERATION_NUMBER_REACHED = _CGAL_Mesh_2.MAX_ITERATION_NUMBER_REACHED
class Mesh_2_parameters(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        _CGAL_Mesh_2.Mesh_2_parameters_swiginit(self, _CGAL_Mesh_2.new_Mesh_2_parameters())

    def set_time_limit(self, limit):
        return _CGAL_Mesh_2.Mesh_2_parameters_set_time_limit(self, limit)

    def set_max_iteration_number(self, mi):
        return _CGAL_Mesh_2.Mesh_2_parameters_set_max_iteration_number(self, mi)

    def set_convergence(self, c):
        return _CGAL_Mesh_2.Mesh_2_parameters_set_convergence(self, c)

    def set_freeze_bound(self, b):
        return _CGAL_Mesh_2.Mesh_2_parameters_set_freeze_bound(self, b)

    def set_seeds(self, r):
        return _CGAL_Mesh_2.Mesh_2_parameters_set_seeds(self, r)

    def set_mark(self, m):
        return _CGAL_Mesh_2.Mesh_2_parameters_set_mark(self, m)

    def deepcopy(self, *args):
        return _CGAL_Mesh_2.Mesh_2_parameters_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Mesh_2.delete_Mesh_2_parameters

# Register Mesh_2_parameters in _CGAL_Mesh_2:
_CGAL_Mesh_2.Mesh_2_parameters_swigregister(Mesh_2_parameters)


def lloyd_optimize_mesh_2(*args):
    return _CGAL_Mesh_2.lloyd_optimize_mesh_2(*args)


