# 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 3D Triangulation 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_Triangulation_3
else:
    import _CGAL_Triangulation_3

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
CGAL_VERSION_NR = _CGAL_Triangulation_3.CGAL_VERSION_NR
CGAL_SVN_REVISION = _CGAL_Triangulation_3.CGAL_SVN_REVISION
CGAL_RELEASE_DATE = _CGAL_Triangulation_3.CGAL_RELEASE_DATE
VERTEX = _CGAL_Triangulation_3.VERTEX
EDGE = _CGAL_Triangulation_3.EDGE
FACET = _CGAL_Triangulation_3.FACET
CELL = _CGAL_Triangulation_3.CELL
OUTSIDE_CONVEX_HULL = _CGAL_Triangulation_3.OUTSIDE_CONVEX_HULL
OUTSIDE_AFFINE_HULL = _CGAL_Triangulation_3.OUTSIDE_AFFINE_HULL
class Ref_Locate_type_3(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_Triangulation_3.Ref_Locate_type_3_swiginit(self, _CGAL_Triangulation_3.new_Ref_Locate_type_3(*args))

    def set(self, t):
        return _CGAL_Triangulation_3.Ref_Locate_type_3_set(self, t)

    def object(self):
        return _CGAL_Triangulation_3.Ref_Locate_type_3_object(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Ref_Locate_type_3_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Ref_Locate_type_3

# Register Ref_Locate_type_3 in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Ref_Locate_type_3_swigregister(Ref_Locate_type_3)

class Object(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_Triangulation_3.Object_swiginit(self, _CGAL_Triangulation_3.new_Object())

    def is_Point_2(self):
        return _CGAL_Triangulation_3.Object_is_Point_2(self)

    def get_Point_2(self):
        return _CGAL_Triangulation_3.Object_get_Point_2(self)

    def is_Point_3(self):
        return _CGAL_Triangulation_3.Object_is_Point_3(self)

    def get_Point_3(self):
        return _CGAL_Triangulation_3.Object_get_Point_3(self)

    def is_Triangle_2(self):
        return _CGAL_Triangulation_3.Object_is_Triangle_2(self)

    def get_Triangle_2(self):
        return _CGAL_Triangulation_3.Object_get_Triangle_2(self)

    def is_Triangle_3(self):
        return _CGAL_Triangulation_3.Object_is_Triangle_3(self)

    def get_Triangle_3(self):
        return _CGAL_Triangulation_3.Object_get_Triangle_3(self)

    def is_Segment_3(self):
        return _CGAL_Triangulation_3.Object_is_Segment_3(self)

    def get_Segment_3(self):
        return _CGAL_Triangulation_3.Object_get_Segment_3(self)

    def is_Segment_2(self):
        return _CGAL_Triangulation_3.Object_is_Segment_2(self)

    def get_Segment_2(self):
        return _CGAL_Triangulation_3.Object_get_Segment_2(self)

    def is_Line_3(self):
        return _CGAL_Triangulation_3.Object_is_Line_3(self)

    def get_Line_3(self):
        return _CGAL_Triangulation_3.Object_get_Line_3(self)

    def is_Line_2(self):
        return _CGAL_Triangulation_3.Object_is_Line_2(self)

    def get_Line_2(self):
        return _CGAL_Triangulation_3.Object_get_Line_2(self)

    def is_Plane_3(self):
        return _CGAL_Triangulation_3.Object_is_Plane_3(self)

    def get_Plane_3(self):
        return _CGAL_Triangulation_3.Object_get_Plane_3(self)

    def is_Ray_2(self):
        return _CGAL_Triangulation_3.Object_is_Ray_2(self)

    def get_Ray_2(self):
        return _CGAL_Triangulation_3.Object_get_Ray_2(self)

    def is_Ray_3(self):
        return _CGAL_Triangulation_3.Object_is_Ray_3(self)

    def get_Ray_3(self):
        return _CGAL_Triangulation_3.Object_get_Ray_3(self)

    def is_Polygon_2(self):
        return _CGAL_Triangulation_3.Object_is_Polygon_2(self)

    def get_Polygon_2(self):
        return _CGAL_Triangulation_3.Object_get_Polygon_2(self)

    def empty(self):
        return _CGAL_Triangulation_3.Object_empty(self)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Object

# Register Object in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Object_swigregister(Object)

class Triangulation_3_Cell_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_Triangulation_3.Triangulation_3_Cell_handle_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Cell_handle())

    def vertex(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_vertex(self, *args)

    def neighbor(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_neighbor(self, *args)

    def index(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_index(self, *args)

    def set_vertex(self, c1, c2):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_set_vertex(self, c1, c2)

    def set_vertices(self, c1, c2, c3, c4):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_set_vertices(self, c1, c2, c3, c4)

    def set_neighbor(self, c1, c2):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_set_neighbor(self, c1, c2)

    def set_neighbors(self, c1, c2, c3, c4):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_set_neighbors(self, c1, c2, c3, c4)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_is_valid(self, *args)

    def has_vertex(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_has_vertex(self, *args)

    def has_neighbor(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_has_neighbor(self, *args)

    def __lt__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Cell_handle

# Register Triangulation_3_Cell_handle in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Cell_handle_swigregister(Triangulation_3_Cell_handle)

class Triangulation_3_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_Triangulation_3.Triangulation_3_Vertex_handle_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Vertex_handle())

    def point(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle_point(self, *args)

    def cell(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle_cell(self, *args)

    def set_cell(self, c):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle_set_cell(self, c)

    def set_point(self, c):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle_set_point(self, c)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle_is_valid(self, *args)

    def __lt__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Vertex_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Vertex_handle

# Register Triangulation_3_Vertex_handle in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Vertex_handle_swigregister(Triangulation_3_Vertex_handle)

class Triangulation_3_Facet(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_Triangulation_3.Triangulation_3_Facet_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Facet(*args))
    first = property(_CGAL_Triangulation_3.Triangulation_3_Facet_first_get, _CGAL_Triangulation_3.Triangulation_3_Facet_first_set)
    second = property(_CGAL_Triangulation_3.Triangulation_3_Facet_second_get, _CGAL_Triangulation_3.Triangulation_3_Facet_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_Triangulation_3.delete_Triangulation_3_Facet

# Register Triangulation_3_Facet in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Facet_swigregister(Triangulation_3_Facet)

class Triangulation_3_Edge(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    first = property(_CGAL_Triangulation_3.Triangulation_3_Edge_first_get, _CGAL_Triangulation_3.Triangulation_3_Edge_first_set)
    second = property(_CGAL_Triangulation_3.Triangulation_3_Edge_second_get, _CGAL_Triangulation_3.Triangulation_3_Edge_second_set)
    third = property(_CGAL_Triangulation_3.Triangulation_3_Edge_third_get, _CGAL_Triangulation_3.Triangulation_3_Edge_third_set)

    def __init__(self, *args):
        _CGAL_Triangulation_3.Triangulation_3_Edge_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Edge(*args))

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Edge_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Edge

# Register Triangulation_3_Edge in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Edge_swigregister(Triangulation_3_Edge)

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

    def __init__(self, *args):
        _CGAL_Triangulation_3.Triangulation_3_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3(*args))

    def clear(self):
        return _CGAL_Triangulation_3.Triangulation_3_clear(self)

    def dimension(self):
        return _CGAL_Triangulation_3.Triangulation_3_dimension(self)

    def number_of_vertices(self):
        return _CGAL_Triangulation_3.Triangulation_3_number_of_vertices(self)

    def number_of_cells(self):
        return _CGAL_Triangulation_3.Triangulation_3_number_of_cells(self)

    def infinite_vertex(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_infinite_vertex(self, *args)

    def infinite_cell(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_infinite_cell(self, *args)

    def number_of_facets(self):
        return _CGAL_Triangulation_3.Triangulation_3_number_of_facets(self)

    def number_of_edges(self):
        return _CGAL_Triangulation_3.Triangulation_3_number_of_edges(self)

    def number_of_finite_cells(self):
        return _CGAL_Triangulation_3.Triangulation_3_number_of_finite_cells(self)

    def number_of_finite_facets(self):
        return _CGAL_Triangulation_3.Triangulation_3_number_of_finite_facets(self)

    def number_of_finite_edges(self):
        return _CGAL_Triangulation_3.Triangulation_3_number_of_finite_edges(self)

    def is_infinite(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_is_infinite(self, *args)

    def is_vertex(self, c):
        return _CGAL_Triangulation_3.Triangulation_3_is_vertex(self, c)

    def has_vertex(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_has_vertex(self, *args)

    def are_equal(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_are_equal(self, *args)

    def locate(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_locate(self, *args)

    def side_of_cell(self, p, c, lt, li, lj):
        return _CGAL_Triangulation_3.Triangulation_3_side_of_cell(self, p, c, lt, li, lj)

    def side_of_facet(self, p, f, lt, li, lj):
        return _CGAL_Triangulation_3.Triangulation_3_side_of_facet(self, p, f, lt, li, lj)

    def side_of_edge(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_side_of_edge(self, *args)

    def flip(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_flip(self, *args)

    def flip_flippable(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_flip_flippable(self, *args)

    def insert(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_insert(self, *args)

    def insert_in_cell(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_insert_in_cell(self, *args)

    def insert_in_facet(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_insert_in_facet(self, *args)

    def insert_in_edge(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_insert_in_edge(self, *args)

    def insert_outside_convex_hull(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_insert_outside_convex_hull(self, *args)

    def insert_outside_affine_hull(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_insert_outside_affine_hull(self, *args)

    def finite_vertices(self):
        return _CGAL_Triangulation_3.Triangulation_3_finite_vertices(self)

    def finite_edges(self):
        return _CGAL_Triangulation_3.Triangulation_3_finite_edges(self)

    def finite_facets(self):
        return _CGAL_Triangulation_3.Triangulation_3_finite_facets(self)

    def finite_cells(self):
        return _CGAL_Triangulation_3.Triangulation_3_finite_cells(self)

    def all_vertices(self):
        return _CGAL_Triangulation_3.Triangulation_3_all_vertices(self)

    def all_edges(self):
        return _CGAL_Triangulation_3.Triangulation_3_all_edges(self)

    def all_facets(self):
        return _CGAL_Triangulation_3.Triangulation_3_all_facets(self)

    def all_cells(self):
        return _CGAL_Triangulation_3.Triangulation_3_all_cells(self)

    def points(self):
        return _CGAL_Triangulation_3.Triangulation_3_points(self)

    def incident_cells(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_incident_cells(self, *args)

    def finite_incident_cells(self, v, out):
        return _CGAL_Triangulation_3.Triangulation_3_finite_incident_cells(self, v, out)

    def incident_facets(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_incident_facets(self, *args)

    def finite_incident_facets(self, v, out):
        return _CGAL_Triangulation_3.Triangulation_3_finite_incident_facets(self, v, out)

    def incident_edges(self, v, out):
        return _CGAL_Triangulation_3.Triangulation_3_incident_edges(self, v, out)

    def finite_incident_edges(self, v, out):
        return _CGAL_Triangulation_3.Triangulation_3_finite_incident_edges(self, v, out)

    def adjacent_vertices(self, v, out):
        return _CGAL_Triangulation_3.Triangulation_3_adjacent_vertices(self, v, out)

    def finite_adjacent_vertices(self, v, out):
        return _CGAL_Triangulation_3.Triangulation_3_finite_adjacent_vertices(self, v, out)

    def degree(self, c):
        return _CGAL_Triangulation_3.Triangulation_3_degree(self, c)

    def mirror_index(self, c1, c2):
        return _CGAL_Triangulation_3.Triangulation_3_mirror_index(self, c1, c2)

    def mirror_vertex(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_mirror_vertex(self, *args)

    def mirror_facet(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_mirror_facet(self, *args)

    def tetrahedron(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_tetrahedron(self, *args)

    def triangle(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_triangle(self, *args)

    def segment(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_segment(self, *args)

    def point(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_point(self, *args)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_is_valid(self, *args)

    def __str__(self):
        return _CGAL_Triangulation_3.Triangulation_3___str__(self)

    def write_to_file(self, fname, prec=5):
        return _CGAL_Triangulation_3.Triangulation_3_write_to_file(self, fname, prec)

    def read_from_file(self, fname):
        return _CGAL_Triangulation_3.Triangulation_3_read_from_file(self, fname)

    def is_cell(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_is_cell(self, *args)

    def equal(self, t):
        return _CGAL_Triangulation_3.Triangulation_3_equal(self, t)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3___ne__(self, p)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_deepcopy(self, *args)

    def same_internal_object(self, other):
        return _CGAL_Triangulation_3.Triangulation_3_same_internal_object(self, other)

# Register Triangulation_3 in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_swigregister(Triangulation_3)

class Triangulation_3_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_Triangulation_3.Triangulation_3_All_vertices_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_All_vertices_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_All_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_All_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_All_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_All_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_All_vertices_iterator

# Register Triangulation_3_All_vertices_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_All_vertices_iterator_swigregister(Triangulation_3_All_vertices_iterator)

class Triangulation_3_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_Triangulation_3.Triangulation_3_Finite_vertices_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Finite_vertices_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Finite_vertices_iterator

# Register Triangulation_3_Finite_vertices_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Finite_vertices_iterator_swigregister(Triangulation_3_Finite_vertices_iterator)

class Triangulation_3_All_cells_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_Triangulation_3.Triangulation_3_All_cells_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_All_cells_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_cells_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_cells_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_All_cells_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_All_cells_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_cells_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_All_cells_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_All_cells_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_All_cells_iterator

# Register Triangulation_3_All_cells_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_All_cells_iterator_swigregister(Triangulation_3_All_cells_iterator)

class Triangulation_3_Finite_cells_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_Triangulation_3.Triangulation_3_Finite_cells_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Finite_cells_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_cells_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_cells_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_cells_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_cells_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_cells_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_cells_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_cells_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Finite_cells_iterator

# Register Triangulation_3_Finite_cells_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Finite_cells_iterator_swigregister(Triangulation_3_Finite_cells_iterator)

class Triangulation_3_All_facets_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_Triangulation_3.Triangulation_3_All_facets_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_All_facets_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_facets_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_facets_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_All_facets_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_All_facets_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_facets_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_All_facets_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_All_facets_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_All_facets_iterator

# Register Triangulation_3_All_facets_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_All_facets_iterator_swigregister(Triangulation_3_All_facets_iterator)

class Triangulation_3_Finite_facets_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_Triangulation_3.Triangulation_3_Finite_facets_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Finite_facets_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_facets_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_facets_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_facets_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_facets_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_facets_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_facets_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_facets_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Finite_facets_iterator

# Register Triangulation_3_Finite_facets_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Finite_facets_iterator_swigregister(Triangulation_3_Finite_facets_iterator)

class Triangulation_3_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_Triangulation_3.Triangulation_3_All_edges_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_All_edges_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_All_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_All_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_All_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_All_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_All_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_All_edges_iterator

# Register Triangulation_3_All_edges_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_All_edges_iterator_swigregister(Triangulation_3_All_edges_iterator)

class Triangulation_3_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_Triangulation_3.Triangulation_3_Finite_edges_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Finite_edges_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Finite_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Finite_edges_iterator

# Register Triangulation_3_Finite_edges_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Finite_edges_iterator_swigregister(Triangulation_3_Finite_edges_iterator)

class Triangulation_3_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_Triangulation_3.Triangulation_3_Point_iterator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Point_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Point_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Point_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Point_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Point_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_Point_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Point_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Point_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Point_iterator

# Register Triangulation_3_Point_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Point_iterator_swigregister(Triangulation_3_Point_iterator)

class Triangulation_3_Cell_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_Triangulation_3.Triangulation_3_Cell_circulator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Cell_circulator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_circulator___iter__(self)

    def next(self):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Cell_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Cell_circulator

# Register Triangulation_3_Cell_circulator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Cell_circulator_swigregister(Triangulation_3_Cell_circulator)

class Triangulation_3_Facet_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_Triangulation_3.Triangulation_3_Facet_circulator_swiginit(self, _CGAL_Triangulation_3.new_Triangulation_3_Facet_circulator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Triangulation_3_Facet_circulator___iter__(self)

    def next(self):
        return _CGAL_Triangulation_3.Triangulation_3_Facet_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Triangulation_3_Facet_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Triangulation_3.Triangulation_3_Facet_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Triangulation_3.Triangulation_3_Facet_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Facet_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Triangulation_3_Facet_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Triangulation_3_Facet_circulator

# Register Triangulation_3_Facet_circulator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Triangulation_3_Facet_circulator_swigregister(Triangulation_3_Facet_circulator)

class Delaunay_triangulation_3_Cell_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_Triangulation_3.Delaunay_triangulation_3_Cell_handle_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Cell_handle())

    def vertex(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_vertex(self, *args)

    def neighbor(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_neighbor(self, *args)

    def index(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_index(self, *args)

    def set_vertex(self, c1, c2):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_set_vertex(self, c1, c2)

    def set_vertices(self, c1, c2, c3, c4):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_set_vertices(self, c1, c2, c3, c4)

    def set_neighbor(self, c1, c2):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_set_neighbor(self, c1, c2)

    def set_neighbors(self, c1, c2, c3, c4):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_set_neighbors(self, c1, c2, c3, c4)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_is_valid(self, *args)

    def has_vertex(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_has_vertex(self, *args)

    def has_neighbor(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_has_neighbor(self, *args)

    def __lt__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Cell_handle

# Register Delaunay_triangulation_3_Cell_handle in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_handle_swigregister(Delaunay_triangulation_3_Cell_handle)

class Delaunay_triangulation_3_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_Triangulation_3.Delaunay_triangulation_3_Vertex_handle_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Vertex_handle())

    def point(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle_point(self, *args)

    def cell(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle_cell(self, *args)

    def set_cell(self, c):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle_set_cell(self, c)

    def set_point(self, c):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle_set_point(self, c)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle_is_valid(self, *args)

    def __lt__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Vertex_handle

# Register Delaunay_triangulation_3_Vertex_handle in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Vertex_handle_swigregister(Delaunay_triangulation_3_Vertex_handle)

class Delaunay_triangulation_3_Facet(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_Triangulation_3.Delaunay_triangulation_3_Facet_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Facet(*args))
    first = property(_CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_first_get, _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_first_set)
    second = property(_CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_second_get, _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_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_Triangulation_3.delete_Delaunay_triangulation_3_Facet

# Register Delaunay_triangulation_3_Facet in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_swigregister(Delaunay_triangulation_3_Facet)

class Delaunay_triangulation_3_Edge(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    first = property(_CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_first_get, _CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_first_set)
    second = property(_CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_second_get, _CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_second_set)
    third = property(_CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_third_get, _CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_third_set)

    def __init__(self, *args):
        _CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Edge(*args))

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Edge

# Register Delaunay_triangulation_3_Edge in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Edge_swigregister(Delaunay_triangulation_3_Edge)

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

    def __init__(self, *args):
        _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_swiginit(self, _CGAL_Triangulation_3.new_Internal_Triangulation_3_Delaunay_triangulation_3(*args))

    def clear(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_clear(self)

    def dimension(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_dimension(self)

    def number_of_vertices(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_number_of_vertices(self)

    def number_of_cells(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_number_of_cells(self)

    def infinite_vertex(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_infinite_vertex(self, *args)

    def infinite_cell(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_infinite_cell(self, *args)

    def number_of_facets(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_number_of_facets(self)

    def number_of_edges(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_number_of_edges(self)

    def number_of_finite_cells(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_number_of_finite_cells(self)

    def number_of_finite_facets(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_number_of_finite_facets(self)

    def number_of_finite_edges(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_number_of_finite_edges(self)

    def is_infinite(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_is_infinite(self, *args)

    def is_vertex(self, c):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_is_vertex(self, c)

    def has_vertex(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_has_vertex(self, *args)

    def are_equal(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_are_equal(self, *args)

    def locate(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_locate(self, *args)

    def side_of_cell(self, p, c, lt, li, lj):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_side_of_cell(self, p, c, lt, li, lj)

    def side_of_facet(self, p, f, lt, li, lj):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_side_of_facet(self, p, f, lt, li, lj)

    def side_of_edge(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_side_of_edge(self, *args)

    def flip(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_flip(self, *args)

    def flip_flippable(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_flip_flippable(self, *args)

    def insert(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_insert(self, *args)

    def insert_in_cell(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_insert_in_cell(self, *args)

    def insert_in_facet(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_insert_in_facet(self, *args)

    def insert_in_edge(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_insert_in_edge(self, *args)

    def insert_outside_convex_hull(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_insert_outside_convex_hull(self, *args)

    def insert_outside_affine_hull(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_insert_outside_affine_hull(self, *args)

    def finite_vertices(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_finite_vertices(self)

    def finite_edges(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_finite_edges(self)

    def finite_facets(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_finite_facets(self)

    def finite_cells(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_finite_cells(self)

    def all_vertices(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_all_vertices(self)

    def all_edges(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_all_edges(self)

    def all_facets(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_all_facets(self)

    def all_cells(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_all_cells(self)

    def points(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_points(self)

    def incident_cells(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_incident_cells(self, *args)

    def finite_incident_cells(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_finite_incident_cells(self, v, out)

    def incident_facets(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_incident_facets(self, *args)

    def finite_incident_facets(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_finite_incident_facets(self, v, out)

    def incident_edges(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_incident_edges(self, v, out)

    def finite_incident_edges(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_finite_incident_edges(self, v, out)

    def adjacent_vertices(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_adjacent_vertices(self, v, out)

    def finite_adjacent_vertices(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_finite_adjacent_vertices(self, v, out)

    def degree(self, c):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_degree(self, c)

    def mirror_index(self, c1, c2):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_mirror_index(self, c1, c2)

    def mirror_vertex(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_mirror_vertex(self, *args)

    def mirror_facet(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_mirror_facet(self, *args)

    def tetrahedron(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_tetrahedron(self, *args)

    def triangle(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_triangle(self, *args)

    def segment(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_segment(self, *args)

    def point(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_point(self, *args)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_is_valid(self, *args)

    def __str__(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3___str__(self)

    def write_to_file(self, fname, prec=5):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_write_to_file(self, fname, prec)

    def read_from_file(self, fname):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_read_from_file(self, fname)

    def is_cell(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_is_cell(self, *args)

    def equal(self, t):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_equal(self, t)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3___ne__(self, p)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_deepcopy(self, *args)

    def same_internal_object(self, other):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_same_internal_object(self, other)

# Register Internal_Triangulation_3_Delaunay_triangulation_3 in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Internal_Triangulation_3_Delaunay_triangulation_3_swigregister(Internal_Triangulation_3_Delaunay_triangulation_3)

class Delaunay_triangulation_3_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_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_All_vertices_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_All_vertices_iterator

# Register Delaunay_triangulation_3_All_vertices_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_All_vertices_iterator_swigregister(Delaunay_triangulation_3_All_vertices_iterator)

class Delaunay_triangulation_3_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_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Finite_vertices_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Finite_vertices_iterator

# Register Delaunay_triangulation_3_Finite_vertices_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_vertices_iterator_swigregister(Delaunay_triangulation_3_Finite_vertices_iterator)

class Delaunay_triangulation_3_All_cells_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_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_All_cells_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_All_cells_iterator

# Register Delaunay_triangulation_3_All_cells_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_All_cells_iterator_swigregister(Delaunay_triangulation_3_All_cells_iterator)

class Delaunay_triangulation_3_Finite_cells_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_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Finite_cells_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Finite_cells_iterator

# Register Delaunay_triangulation_3_Finite_cells_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_cells_iterator_swigregister(Delaunay_triangulation_3_Finite_cells_iterator)

class Delaunay_triangulation_3_All_facets_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_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_All_facets_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_All_facets_iterator

# Register Delaunay_triangulation_3_All_facets_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_All_facets_iterator_swigregister(Delaunay_triangulation_3_All_facets_iterator)

class Delaunay_triangulation_3_Finite_facets_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_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Finite_facets_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Finite_facets_iterator

# Register Delaunay_triangulation_3_Finite_facets_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_facets_iterator_swigregister(Delaunay_triangulation_3_Finite_facets_iterator)

class Delaunay_triangulation_3_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_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_All_edges_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_All_edges_iterator

# Register Delaunay_triangulation_3_All_edges_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_All_edges_iterator_swigregister(Delaunay_triangulation_3_All_edges_iterator)

class Delaunay_triangulation_3_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_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Finite_edges_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Finite_edges_iterator

# Register Delaunay_triangulation_3_Finite_edges_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Finite_edges_iterator_swigregister(Delaunay_triangulation_3_Finite_edges_iterator)

class Delaunay_triangulation_3_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_Triangulation_3.Delaunay_triangulation_3_Point_iterator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Point_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Point_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Point_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Point_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Point_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Point_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Point_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Point_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Point_iterator

# Register Delaunay_triangulation_3_Point_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Point_iterator_swigregister(Delaunay_triangulation_3_Point_iterator)

class Delaunay_triangulation_3_Cell_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_Triangulation_3.Delaunay_triangulation_3_Cell_circulator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Cell_circulator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_circulator___iter__(self)

    def next(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Cell_circulator

# Register Delaunay_triangulation_3_Cell_circulator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Cell_circulator_swigregister(Delaunay_triangulation_3_Cell_circulator)

class Delaunay_triangulation_3_Facet_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_Triangulation_3.Delaunay_triangulation_3_Facet_circulator_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3_Facet_circulator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_circulator___iter__(self)

    def next(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3_Facet_circulator

# Register Delaunay_triangulation_3_Facet_circulator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_Facet_circulator_swigregister(Delaunay_triangulation_3_Facet_circulator)

class Delaunay_triangulation_3(Internal_Triangulation_3_Delaunay_triangulation_3):
    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_Triangulation_3.Delaunay_triangulation_3_swiginit(self, _CGAL_Triangulation_3.new_Delaunay_triangulation_3(*args))

    def move(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_move(self, *args)

    def remove(self, c):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_remove(self, c)

    def side_of_sphere(self, c1, c2):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_side_of_sphere(self, c1, c2)

    def side_of_circle(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_side_of_circle(self, *args)

    def nearest_vertex(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_nearest_vertex(self, *args)

    def nearest_vertex_in_cell(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_nearest_vertex_in_cell(self, *args)

    def is_Gabriel(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_is_Gabriel(self, *args)

    def dual(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_dual(self, *args)

    def dual_support(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_dual_support(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Delaunay_triangulation_3_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Delaunay_triangulation_3

# Register Delaunay_triangulation_3 in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Delaunay_triangulation_3_swigregister(Delaunay_triangulation_3)

class Regular_triangulation_3_Cell_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_Triangulation_3.Regular_triangulation_3_Cell_handle_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Cell_handle())

    def vertex(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_vertex(self, *args)

    def neighbor(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_neighbor(self, *args)

    def index(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_index(self, *args)

    def set_vertex(self, c1, c2):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_set_vertex(self, c1, c2)

    def set_vertices(self, c1, c2, c3, c4):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_set_vertices(self, c1, c2, c3, c4)

    def set_neighbor(self, c1, c2):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_set_neighbor(self, c1, c2)

    def set_neighbors(self, c1, c2, c3, c4):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_set_neighbors(self, c1, c2, c3, c4)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_is_valid(self, *args)

    def has_vertex(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_has_vertex(self, *args)

    def has_neighbor(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_has_neighbor(self, *args)

    def __lt__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Cell_handle

# Register Regular_triangulation_3_Cell_handle in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Cell_handle_swigregister(Regular_triangulation_3_Cell_handle)

class Regular_triangulation_3_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_Triangulation_3.Regular_triangulation_3_Vertex_handle_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Vertex_handle())

    def point(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle_point(self, *args)

    def cell(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle_cell(self, *args)

    def set_cell(self, c):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle_set_cell(self, c)

    def set_point(self, c):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle_set_point(self, c)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle_is_valid(self, *args)

    def __lt__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle___lt__(self, p)

    def __gt__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle___gt__(self, p)

    def __le__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle___le__(self, p)

    def __ge__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle___ge__(self, p)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle___ne__(self, p)

    def __hash__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle___hash__(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Vertex_handle

# Register Regular_triangulation_3_Vertex_handle in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Vertex_handle_swigregister(Regular_triangulation_3_Vertex_handle)

class Regular_triangulation_3_Facet(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_Triangulation_3.Regular_triangulation_3_Facet_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Facet(*args))
    first = property(_CGAL_Triangulation_3.Regular_triangulation_3_Facet_first_get, _CGAL_Triangulation_3.Regular_triangulation_3_Facet_first_set)
    second = property(_CGAL_Triangulation_3.Regular_triangulation_3_Facet_second_get, _CGAL_Triangulation_3.Regular_triangulation_3_Facet_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_Triangulation_3.delete_Regular_triangulation_3_Facet

# Register Regular_triangulation_3_Facet in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Facet_swigregister(Regular_triangulation_3_Facet)

class Regular_triangulation_3_Edge(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    first = property(_CGAL_Triangulation_3.Regular_triangulation_3_Edge_first_get, _CGAL_Triangulation_3.Regular_triangulation_3_Edge_first_set)
    second = property(_CGAL_Triangulation_3.Regular_triangulation_3_Edge_second_get, _CGAL_Triangulation_3.Regular_triangulation_3_Edge_second_set)
    third = property(_CGAL_Triangulation_3.Regular_triangulation_3_Edge_third_get, _CGAL_Triangulation_3.Regular_triangulation_3_Edge_third_set)

    def __init__(self, *args):
        _CGAL_Triangulation_3.Regular_triangulation_3_Edge_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Edge(*args))

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Edge_deepcopy(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Edge

# Register Regular_triangulation_3_Edge in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Edge_swigregister(Regular_triangulation_3_Edge)

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

    def __init__(self, *args):
        _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_swiginit(self, _CGAL_Triangulation_3.new_Internal_Triangulation_3_Regular_triangulation_3(*args))

    def clear(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_clear(self)

    def dimension(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_dimension(self)

    def number_of_vertices(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_number_of_vertices(self)

    def number_of_cells(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_number_of_cells(self)

    def infinite_vertex(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_infinite_vertex(self, *args)

    def infinite_cell(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_infinite_cell(self, *args)

    def number_of_facets(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_number_of_facets(self)

    def number_of_edges(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_number_of_edges(self)

    def number_of_finite_cells(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_number_of_finite_cells(self)

    def number_of_finite_facets(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_number_of_finite_facets(self)

    def number_of_finite_edges(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_number_of_finite_edges(self)

    def is_infinite(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_is_infinite(self, *args)

    def is_vertex(self, c):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_is_vertex(self, c)

    def has_vertex(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_has_vertex(self, *args)

    def are_equal(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_are_equal(self, *args)

    def locate(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_locate(self, *args)

    def side_of_cell(self, p, c, lt, li, lj):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_side_of_cell(self, p, c, lt, li, lj)

    def side_of_facet(self, p, f, lt, li, lj):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_side_of_facet(self, p, f, lt, li, lj)

    def side_of_edge(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_side_of_edge(self, *args)

    def flip(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_flip(self, *args)

    def flip_flippable(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_flip_flippable(self, *args)

    def insert(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_insert(self, *args)

    def insert_in_cell(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_insert_in_cell(self, *args)

    def insert_in_facet(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_insert_in_facet(self, *args)

    def insert_in_edge(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_insert_in_edge(self, *args)

    def insert_outside_convex_hull(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_insert_outside_convex_hull(self, *args)

    def insert_outside_affine_hull(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_insert_outside_affine_hull(self, *args)

    def finite_vertices(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_finite_vertices(self)

    def finite_edges(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_finite_edges(self)

    def finite_facets(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_finite_facets(self)

    def finite_cells(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_finite_cells(self)

    def all_vertices(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_all_vertices(self)

    def all_edges(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_all_edges(self)

    def all_facets(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_all_facets(self)

    def all_cells(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_all_cells(self)

    def points(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_points(self)

    def incident_cells(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_incident_cells(self, *args)

    def finite_incident_cells(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_finite_incident_cells(self, v, out)

    def incident_facets(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_incident_facets(self, *args)

    def finite_incident_facets(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_finite_incident_facets(self, v, out)

    def incident_edges(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_incident_edges(self, v, out)

    def finite_incident_edges(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_finite_incident_edges(self, v, out)

    def adjacent_vertices(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_adjacent_vertices(self, v, out)

    def finite_adjacent_vertices(self, v, out):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_finite_adjacent_vertices(self, v, out)

    def degree(self, c):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_degree(self, c)

    def mirror_index(self, c1, c2):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_mirror_index(self, c1, c2)

    def mirror_vertex(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_mirror_vertex(self, *args)

    def mirror_facet(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_mirror_facet(self, *args)

    def tetrahedron(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_tetrahedron(self, *args)

    def triangle(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_triangle(self, *args)

    def segment(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_segment(self, *args)

    def point(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_point(self, *args)

    def is_valid(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_is_valid(self, *args)

    def __str__(self):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3___str__(self)

    def write_to_file(self, fname, prec=5):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_write_to_file(self, fname, prec)

    def read_from_file(self, fname):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_read_from_file(self, fname)

    def is_cell(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_is_cell(self, *args)

    def equal(self, t):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_equal(self, t)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3___ne__(self, p)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_deepcopy(self, *args)

    def same_internal_object(self, other):
        return _CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_same_internal_object(self, other)

# Register Internal_Triangulation_3_Regular_triangulation_3 in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Internal_Triangulation_3_Regular_triangulation_3_swigregister(Internal_Triangulation_3_Regular_triangulation_3)

class Regular_triangulation_3_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_Triangulation_3.Regular_triangulation_3_All_vertices_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_All_vertices_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_All_vertices_iterator

# Register Regular_triangulation_3_All_vertices_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_All_vertices_iterator_swigregister(Regular_triangulation_3_All_vertices_iterator)

class Regular_triangulation_3_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_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Finite_vertices_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Finite_vertices_iterator

# Register Regular_triangulation_3_Finite_vertices_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Finite_vertices_iterator_swigregister(Regular_triangulation_3_Finite_vertices_iterator)

class Regular_triangulation_3_All_cells_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_Triangulation_3.Regular_triangulation_3_All_cells_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_All_cells_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_cells_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_cells_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_cells_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_cells_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_cells_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_cells_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_cells_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_All_cells_iterator

# Register Regular_triangulation_3_All_cells_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_All_cells_iterator_swigregister(Regular_triangulation_3_All_cells_iterator)

class Regular_triangulation_3_Finite_cells_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_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Finite_cells_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Finite_cells_iterator

# Register Regular_triangulation_3_Finite_cells_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Finite_cells_iterator_swigregister(Regular_triangulation_3_Finite_cells_iterator)

class Regular_triangulation_3_All_facets_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_Triangulation_3.Regular_triangulation_3_All_facets_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_All_facets_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_facets_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_facets_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_facets_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_facets_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_facets_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_facets_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_facets_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_All_facets_iterator

# Register Regular_triangulation_3_All_facets_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_All_facets_iterator_swigregister(Regular_triangulation_3_All_facets_iterator)

class Regular_triangulation_3_Finite_facets_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_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Finite_facets_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Finite_facets_iterator

# Register Regular_triangulation_3_Finite_facets_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Finite_facets_iterator_swigregister(Regular_triangulation_3_Finite_facets_iterator)

class Regular_triangulation_3_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_Triangulation_3.Regular_triangulation_3_All_edges_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_All_edges_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_All_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_All_edges_iterator

# Register Regular_triangulation_3_All_edges_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_All_edges_iterator_swigregister(Regular_triangulation_3_All_edges_iterator)

class Regular_triangulation_3_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_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Finite_edges_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Finite_edges_iterator

# Register Regular_triangulation_3_Finite_edges_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Finite_edges_iterator_swigregister(Regular_triangulation_3_Finite_edges_iterator)

class Regular_triangulation_3_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_Triangulation_3.Regular_triangulation_3_Point_iterator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Point_iterator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Point_iterator___iter__(self)

    def __next__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Point_iterator___next__(self)

    def next(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Point_iterator_next(self, *args)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Point_iterator_deepcopy(self, *args)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Point_iterator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Point_iterator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Point_iterator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Point_iterator

# Register Regular_triangulation_3_Point_iterator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Point_iterator_swigregister(Regular_triangulation_3_Point_iterator)

class Regular_triangulation_3_Cell_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_Triangulation_3.Regular_triangulation_3_Cell_circulator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Cell_circulator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_circulator___iter__(self)

    def next(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Cell_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Cell_circulator

# Register Regular_triangulation_3_Cell_circulator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Cell_circulator_swigregister(Regular_triangulation_3_Cell_circulator)

class Regular_triangulation_3_Facet_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_Triangulation_3.Regular_triangulation_3_Facet_circulator_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3_Facet_circulator())

    def __iter__(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Facet_circulator___iter__(self)

    def next(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Facet_circulator_next(self)

    def deepcopy(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Facet_circulator_deepcopy(self, *args)

    def prev(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Facet_circulator_prev(self)

    def hasNext(self):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Facet_circulator_hasNext(self)

    def __eq__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Facet_circulator___eq__(self, p)

    def __ne__(self, p):
        return _CGAL_Triangulation_3.Regular_triangulation_3_Facet_circulator___ne__(self, p)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3_Facet_circulator

# Register Regular_triangulation_3_Facet_circulator in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_Facet_circulator_swigregister(Regular_triangulation_3_Facet_circulator)

class Regular_triangulation_3(Internal_Triangulation_3_Regular_triangulation_3):
    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_Triangulation_3.Regular_triangulation_3_swiginit(self, _CGAL_Triangulation_3.new_Regular_triangulation_3(*args))

    def remove(self, c):
        return _CGAL_Triangulation_3.Regular_triangulation_3_remove(self, c)

    def side_of_power_sphere(self, c1, c2):
        return _CGAL_Triangulation_3.Regular_triangulation_3_side_of_power_sphere(self, c1, c2)

    def side_of_power_circle(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_side_of_power_circle(self, *args)

    def side_of_power_segment(self, c1, c2):
        return _CGAL_Triangulation_3.Regular_triangulation_3_side_of_power_segment(self, c1, c2)

    def nearest_power_vertex(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_nearest_power_vertex(self, *args)

    def nearest_power_vertex_in_cell(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_nearest_power_vertex_in_cell(self, *args)

    def is_Gabriel(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_is_Gabriel(self, *args)

    def dual(self, *args):
        return _CGAL_Triangulation_3.Regular_triangulation_3_dual(self, *args)
    __swig_destroy__ = _CGAL_Triangulation_3.delete_Regular_triangulation_3

# Register Regular_triangulation_3 in _CGAL_Triangulation_3:
_CGAL_Triangulation_3.Regular_triangulation_3_swigregister(Regular_triangulation_3)



