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

"""
Geom2dGcc module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_geom2dgcc.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _Geom2dGcc
else:
    import _Geom2dGcc

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 == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(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__)


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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _Geom2dGcc.delete_SwigPyIterator

    def value(self):
        return _Geom2dGcc.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _Geom2dGcc.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _Geom2dGcc.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _Geom2dGcc.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _Geom2dGcc.SwigPyIterator_equal(self, x)

    def copy(self):
        return _Geom2dGcc.SwigPyIterator_copy(self)

    def next(self):
        return _Geom2dGcc.SwigPyIterator_next(self)

    def __next__(self):
        return _Geom2dGcc.SwigPyIterator___next__(self)

    def previous(self):
        return _Geom2dGcc.SwigPyIterator_previous(self)

    def advance(self, n):
        return _Geom2dGcc.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _Geom2dGcc.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _Geom2dGcc.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _Geom2dGcc.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _Geom2dGcc.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _Geom2dGcc.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        return _Geom2dGcc.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _Geom2dGcc:
_Geom2dGcc.SwigPyIterator_swigregister(SwigPyIterator)

def _dumps_object(klass):
    """ Overwrite default string output for any wrapped object.
    By default, __repr__ method returns something like:
    <OCC.Core.TopoDS.TopoDS_Shape; proxy of <Swig Object of type 'TopoDS_Shape *' at 0x02BB0758> >
    This is too much verbose.
    We prefer :
    <class 'gp_Pnt'>
    or
    <class 'TopoDS_Shape'>
    """
    klass_name = str(klass.__class__).split(".")[3].split("'")[0]
    repr_string = "<class '" + klass_name + "'"
# for TopoDS_Shape, we also look for the base type
    if klass_name == "TopoDS_Shape":
        if klass.IsNull():
            repr_string += ": Null>"
            return repr_string
        st = klass.ShapeType()
        types = {OCC.Core.TopAbs.TopAbs_VERTEX: "Vertex",
                 OCC.Core.TopAbs.TopAbs_SOLID: "Solid",
                 OCC.Core.TopAbs.TopAbs_EDGE: "Edge",
                 OCC.Core.TopAbs.TopAbs_FACE: "Face",
                 OCC.Core.TopAbs.TopAbs_SHELL: "Shell",
                 OCC.Core.TopAbs.TopAbs_WIRE: "Wire",
                 OCC.Core.TopAbs.TopAbs_COMPOUND: "Compound",
                 OCC.Core.TopAbs.TopAbs_COMPSOLID: "Compsolid"}
        repr_string += "; Type:%s" % types[st]        
    elif hasattr(klass, "IsNull"):
        if klass.IsNull():
            repr_string += "; Null"
    repr_string += ">"
    return repr_string


def process_exception(error, method_name, class_name):
    return _Geom2dGcc.process_exception(error, method_name, class_name)

import warnings
from OCC.Wrapper.wrapper_utils import Proxy, deprecated

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    erase_event = _Geom2dGcc.ios_base_erase_event
    imbue_event = _Geom2dGcc.ios_base_imbue_event
    copyfmt_event = _Geom2dGcc.ios_base_copyfmt_event

    def register_callback(self, __fn, __index):
        return _Geom2dGcc.ios_base_register_callback(self, __fn, __index)

    def flags(self, *args):
        return _Geom2dGcc.ios_base_flags(self, *args)

    def setf(self, *args):
        return _Geom2dGcc.ios_base_setf(self, *args)

    def unsetf(self, __mask):
        return _Geom2dGcc.ios_base_unsetf(self, __mask)

    def precision(self, *args):
        return _Geom2dGcc.ios_base_precision(self, *args)

    def width(self, *args):
        return _Geom2dGcc.ios_base_width(self, *args)

    @staticmethod
    def sync_with_stdio(__sync=True):
        return _Geom2dGcc.ios_base_sync_with_stdio(__sync)

    def imbue(self, __loc):
        return _Geom2dGcc.ios_base_imbue(self, __loc)

    def getloc(self):
        return _Geom2dGcc.ios_base_getloc(self)

    @staticmethod
    def xalloc():
        return _Geom2dGcc.ios_base_xalloc()

    def iword(self, __ix):
        return _Geom2dGcc.ios_base_iword(self, __ix)

    def pword(self, __ix):
        return _Geom2dGcc.ios_base_pword(self, __ix)
    __swig_destroy__ = _Geom2dGcc.delete_ios_base

# Register ios_base in _Geom2dGcc:
_Geom2dGcc.ios_base_swigregister(ios_base)
cvar = _Geom2dGcc.cvar
ios_base.boolalpha = _Geom2dGcc.cvar.ios_base_boolalpha
ios_base.dec = _Geom2dGcc.cvar.ios_base_dec
ios_base.fixed = _Geom2dGcc.cvar.ios_base_fixed
ios_base.hex = _Geom2dGcc.cvar.ios_base_hex
ios_base.internal = _Geom2dGcc.cvar.ios_base_internal
ios_base.left = _Geom2dGcc.cvar.ios_base_left
ios_base.oct = _Geom2dGcc.cvar.ios_base_oct
ios_base.right = _Geom2dGcc.cvar.ios_base_right
ios_base.scientific = _Geom2dGcc.cvar.ios_base_scientific
ios_base.showbase = _Geom2dGcc.cvar.ios_base_showbase
ios_base.showpoint = _Geom2dGcc.cvar.ios_base_showpoint
ios_base.showpos = _Geom2dGcc.cvar.ios_base_showpos
ios_base.skipws = _Geom2dGcc.cvar.ios_base_skipws
ios_base.unitbuf = _Geom2dGcc.cvar.ios_base_unitbuf
ios_base.uppercase = _Geom2dGcc.cvar.ios_base_uppercase
ios_base.adjustfield = _Geom2dGcc.cvar.ios_base_adjustfield
ios_base.basefield = _Geom2dGcc.cvar.ios_base_basefield
ios_base.floatfield = _Geom2dGcc.cvar.ios_base_floatfield
ios_base.badbit = _Geom2dGcc.cvar.ios_base_badbit
ios_base.eofbit = _Geom2dGcc.cvar.ios_base_eofbit
ios_base.failbit = _Geom2dGcc.cvar.ios_base_failbit
ios_base.goodbit = _Geom2dGcc.cvar.ios_base_goodbit
ios_base.app = _Geom2dGcc.cvar.ios_base_app
ios_base.ate = _Geom2dGcc.cvar.ios_base_ate
ios_base.binary = _Geom2dGcc.cvar.ios_base_binary
ios_base.ios_base_in = _Geom2dGcc.cvar.ios_base_ios_base_in
ios_base.out = _Geom2dGcc.cvar.ios_base_out
ios_base.trunc = _Geom2dGcc.cvar.ios_base_trunc
ios_base.beg = _Geom2dGcc.cvar.ios_base_beg
ios_base.cur = _Geom2dGcc.cvar.ios_base_cur
ios_base.end = _Geom2dGcc.cvar.ios_base_end

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

    def rdstate(self):
        return _Geom2dGcc.ios_rdstate(self)

    def clear(self, *args):
        return _Geom2dGcc.ios_clear(self, *args)

    def setstate(self, __state):
        return _Geom2dGcc.ios_setstate(self, __state)

    def good(self):
        return _Geom2dGcc.ios_good(self)

    def eof(self):
        return _Geom2dGcc.ios_eof(self)

    def fail(self):
        return _Geom2dGcc.ios_fail(self)

    def bad(self):
        return _Geom2dGcc.ios_bad(self)

    def exceptions(self, *args):
        return _Geom2dGcc.ios_exceptions(self, *args)

    def __init__(self, __sb):
        _Geom2dGcc.ios_swiginit(self, _Geom2dGcc.new_ios(__sb))
    __swig_destroy__ = _Geom2dGcc.delete_ios

    def tie(self, *args):
        return _Geom2dGcc.ios_tie(self, *args)

    def rdbuf(self, *args):
        return _Geom2dGcc.ios_rdbuf(self, *args)

    def copyfmt(self, __rhs):
        return _Geom2dGcc.ios_copyfmt(self, __rhs)

    def fill(self, *args):
        return _Geom2dGcc.ios_fill(self, *args)

    def imbue(self, __loc):
        return _Geom2dGcc.ios_imbue(self, __loc)

    def narrow(self, __c, __dfault):
        return _Geom2dGcc.ios_narrow(self, __c, __dfault)

    def widen(self, __c):
        return _Geom2dGcc.ios_widen(self, __c)

# Register ios in _Geom2dGcc:
_Geom2dGcc.ios_swigregister(ios)
class ostream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _Geom2dGcc.ostream_swiginit(self, _Geom2dGcc.new_ostream(__sb))
    __swig_destroy__ = _Geom2dGcc.delete_ostream

    def __lshift__(self, *args):
        return _Geom2dGcc.ostream___lshift__(self, *args)

    def put(self, __c):
        return _Geom2dGcc.ostream_put(self, __c)

    def write(self, __s, __n):
        return _Geom2dGcc.ostream_write(self, __s, __n)

    def flush(self):
        return _Geom2dGcc.ostream_flush(self)

    def tellp(self):
        return _Geom2dGcc.ostream_tellp(self)

    def seekp(self, *args):
        return _Geom2dGcc.ostream_seekp(self, *args)

# Register ostream in _Geom2dGcc:
_Geom2dGcc.ostream_swigregister(ostream)
class istream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _Geom2dGcc.istream_swiginit(self, _Geom2dGcc.new_istream(__sb))
    __swig_destroy__ = _Geom2dGcc.delete_istream

    def __rshift__(self, *args):
        return _Geom2dGcc.istream___rshift__(self, *args)

    def gcount(self):
        return _Geom2dGcc.istream_gcount(self)

    def get(self, *args):
        return _Geom2dGcc.istream_get(self, *args)

    def getline(self, *args):
        return _Geom2dGcc.istream_getline(self, *args)

    def ignore(self, *args):
        return _Geom2dGcc.istream_ignore(self, *args)

    def peek(self):
        return _Geom2dGcc.istream_peek(self)

    def read(self, __s, __n):
        return _Geom2dGcc.istream_read(self, __s, __n)

    def readsome(self, __s, __n):
        return _Geom2dGcc.istream_readsome(self, __s, __n)

    def putback(self, __c):
        return _Geom2dGcc.istream_putback(self, __c)

    def unget(self):
        return _Geom2dGcc.istream_unget(self)

    def sync(self):
        return _Geom2dGcc.istream_sync(self)

    def tellg(self):
        return _Geom2dGcc.istream_tellg(self)

    def seekg(self, *args):
        return _Geom2dGcc.istream_seekg(self, *args)

# Register istream in _Geom2dGcc:
_Geom2dGcc.istream_swigregister(istream)
class iostream(istream, ostream):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _Geom2dGcc.iostream_swiginit(self, _Geom2dGcc.new_iostream(__sb))
    __swig_destroy__ = _Geom2dGcc.delete_iostream

# Register iostream in _Geom2dGcc:
_Geom2dGcc.iostream_swigregister(iostream)
cin = cvar.cin
cout = cvar.cout
cerr = cvar.cerr
clog = cvar.clog

endl_cb_ptr = _Geom2dGcc.endl_cb_ptr
endl = _Geom2dGcc.endl
ends_cb_ptr = _Geom2dGcc.ends_cb_ptr
ends = _Geom2dGcc.ends
flush_cb_ptr = _Geom2dGcc.flush_cb_ptr
flush = _Geom2dGcc.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.Geom2dAdaptor
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.gp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.GccAna
import OCC.Core.GccEnt
import OCC.Core.GccInt
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.OSD

from enum import IntEnum
from OCC.Core.Exception import *

Geom2dGcc_CuCuCu = _Geom2dGcc.Geom2dGcc_CuCuCu
Geom2dGcc_CiCuCu = _Geom2dGcc.Geom2dGcc_CiCuCu
Geom2dGcc_CiCiCu = _Geom2dGcc.Geom2dGcc_CiCiCu
Geom2dGcc_CiLiCu = _Geom2dGcc.Geom2dGcc_CiLiCu
Geom2dGcc_LiLiCu = _Geom2dGcc.Geom2dGcc_LiLiCu
Geom2dGcc_LiCuCu = _Geom2dGcc.Geom2dGcc_LiCuCu
Geom2dGcc_CuCuOnCu = _Geom2dGcc.Geom2dGcc_CuCuOnCu
Geom2dGcc_CiCuOnCu = _Geom2dGcc.Geom2dGcc_CiCuOnCu
Geom2dGcc_LiCuOnCu = _Geom2dGcc.Geom2dGcc_LiCuOnCu
Geom2dGcc_CuPtOnCu = _Geom2dGcc.Geom2dGcc_CuPtOnCu
Geom2dGcc_CuCuOnLi = _Geom2dGcc.Geom2dGcc_CuCuOnLi
Geom2dGcc_CiCuOnLi = _Geom2dGcc.Geom2dGcc_CiCuOnLi
Geom2dGcc_LiCuOnLi = _Geom2dGcc.Geom2dGcc_LiCuOnLi
Geom2dGcc_CuPtOnLi = _Geom2dGcc.Geom2dGcc_CuPtOnLi
Geom2dGcc_CuCuOnCi = _Geom2dGcc.Geom2dGcc_CuCuOnCi
Geom2dGcc_CiCuOnCi = _Geom2dGcc.Geom2dGcc_CiCuOnCi
Geom2dGcc_LiCuOnCi = _Geom2dGcc.Geom2dGcc_LiCuOnCi
Geom2dGcc_CuPtOnCi = _Geom2dGcc.Geom2dGcc_CuPtOnCi
Geom2dGcc_CuCu = _Geom2dGcc.Geom2dGcc_CuCu
Geom2dGcc_CiCu = _Geom2dGcc.Geom2dGcc_CiCu


class Geom2dGcc_Type1(IntEnum):
	Geom2dGcc_CuCuCu = 0
	Geom2dGcc_CiCuCu = 1
	Geom2dGcc_CiCiCu = 2
	Geom2dGcc_CiLiCu = 3
	Geom2dGcc_LiLiCu = 4
	Geom2dGcc_LiCuCu = 5
Geom2dGcc_CuCuCu = Geom2dGcc_Type1.Geom2dGcc_CuCuCu
Geom2dGcc_CiCuCu = Geom2dGcc_Type1.Geom2dGcc_CiCuCu
Geom2dGcc_CiCiCu = Geom2dGcc_Type1.Geom2dGcc_CiCiCu
Geom2dGcc_CiLiCu = Geom2dGcc_Type1.Geom2dGcc_CiLiCu
Geom2dGcc_LiLiCu = Geom2dGcc_Type1.Geom2dGcc_LiLiCu
Geom2dGcc_LiCuCu = Geom2dGcc_Type1.Geom2dGcc_LiCuCu

class Geom2dGcc_Type2(IntEnum):
	Geom2dGcc_CuCuOnCu = 0
	Geom2dGcc_CiCuOnCu = 1
	Geom2dGcc_LiCuOnCu = 2
	Geom2dGcc_CuPtOnCu = 3
	Geom2dGcc_CuCuOnLi = 4
	Geom2dGcc_CiCuOnLi = 5
	Geom2dGcc_LiCuOnLi = 6
	Geom2dGcc_CuPtOnLi = 7
	Geom2dGcc_CuCuOnCi = 8
	Geom2dGcc_CiCuOnCi = 9
	Geom2dGcc_LiCuOnCi = 10
	Geom2dGcc_CuPtOnCi = 11
Geom2dGcc_CuCuOnCu = Geom2dGcc_Type2.Geom2dGcc_CuCuOnCu
Geom2dGcc_CiCuOnCu = Geom2dGcc_Type2.Geom2dGcc_CiCuOnCu
Geom2dGcc_LiCuOnCu = Geom2dGcc_Type2.Geom2dGcc_LiCuOnCu
Geom2dGcc_CuPtOnCu = Geom2dGcc_Type2.Geom2dGcc_CuPtOnCu
Geom2dGcc_CuCuOnLi = Geom2dGcc_Type2.Geom2dGcc_CuCuOnLi
Geom2dGcc_CiCuOnLi = Geom2dGcc_Type2.Geom2dGcc_CiCuOnLi
Geom2dGcc_LiCuOnLi = Geom2dGcc_Type2.Geom2dGcc_LiCuOnLi
Geom2dGcc_CuPtOnLi = Geom2dGcc_Type2.Geom2dGcc_CuPtOnLi
Geom2dGcc_CuCuOnCi = Geom2dGcc_Type2.Geom2dGcc_CuCuOnCi
Geom2dGcc_CiCuOnCi = Geom2dGcc_Type2.Geom2dGcc_CiCuOnCi
Geom2dGcc_LiCuOnCi = Geom2dGcc_Type2.Geom2dGcc_LiCuOnCi
Geom2dGcc_CuPtOnCi = Geom2dGcc_Type2.Geom2dGcc_CuPtOnCi

class Geom2dGcc_Type3(IntEnum):
	Geom2dGcc_CuCu = 0
	Geom2dGcc_CiCu = 1
Geom2dGcc_CuCu = Geom2dGcc_Type3.Geom2dGcc_CuCu
Geom2dGcc_CiCu = Geom2dGcc_Type3.Geom2dGcc_CiCu

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

    @staticmethod
    def Enclosed(*args):
        r"""

        Parameters
        ----------
        Obj: Geom2dAdaptor_Curve

        Return
        -------
        Geom2dGcc_QualifiedCurve

        Description
        -----------
        Constructs such a qualified curve that the solution computed by a construction algorithm using the qualified curve is enclosed by the curve. Warning Obj is an adapted curve, i.e. an object which is an interface between: - the services provided by a 2D curve from the package Geom2d, - and those required on the curve by a computation algorithm. The adapted curve is created in the following way: opencascade::handle<Geom2d_Curve> mycurve = ... ; Geom2dAdaptor_Curve Obj ( mycurve ) ; The qualified curve is then constructed with this object: Geom2dGcc_QualifiedCurve myQCurve = Geom2dGcc::Enclosed(Obj);.

        """
        return _Geom2dGcc.geom2dgcc_Enclosed(*args)

    @staticmethod
    def Enclosing(*args):
        r"""

        Parameters
        ----------
        Obj: Geom2dAdaptor_Curve

        Return
        -------
        Geom2dGcc_QualifiedCurve

        Description
        -----------
        Constructs such a qualified curve that the solution computed by a construction algorithm using the qualified curve encloses the curve. Warning Obj is an adapted curve, i.e. an object which is an interface between: - the services provided by a 2D curve from the package Geom2d, - and those required on the curve by a computation algorithm. The adapted curve is created in the following way: opencascade::handle<Geom2d_Curve> mycurve = ... ; Geom2dAdaptor_Curve Obj ( mycurve ) ; The qualified curve is then constructed with this object: Geom2dGcc_QualifiedCurve myQCurve = Geom2dGcc::Enclosing(Obj);.

        """
        return _Geom2dGcc.geom2dgcc_Enclosing(*args)

    @staticmethod
    def Outside(*args):
        r"""

        Parameters
        ----------
        Obj: Geom2dAdaptor_Curve

        Return
        -------
        Geom2dGcc_QualifiedCurve

        Description
        -----------
        Constructs such a qualified curve that the solution computed by a construction algorithm using the qualified curve and the curve are external to one another. Warning Obj is an adapted curve, i.e. an object which is an interface between: - the services provided by a 2D curve from the package Geom2d, - and those required on the curve by a computation algorithm. The adapted curve is created in the following way: opencascade::handle<Geom2d_Curve> mycurve = ... ; Geom2dAdaptor_Curve Obj ( mycurve ) ; The qualified curve is then constructed with this object: Geom2dGcc_QualifiedCurve myQCurve = Geom2dGcc::Outside(Obj);.

        """
        return _Geom2dGcc.geom2dgcc_Outside(*args)

    @staticmethod
    def Unqualified(*args):
        r"""

        Parameters
        ----------
        Obj: Geom2dAdaptor_Curve

        Return
        -------
        Geom2dGcc_QualifiedCurve

        Description
        -----------
        Constructs such a qualified curve that the relative position of the solution computed by a construction algorithm using the qualified curve to the circle or line is not qualified, i.e. all solutions apply. Warning Obj is an adapted curve, i.e. an object which is an interface between: - the services provided by a 2D curve from the package Geom2d, - and those required on the curve by a computation algorithm. The adapted curve is created in the following way: opencascade::handle<Geom2d_Curve> mycurve = ... ; Geom2dAdaptor_Curve Obj ( mycurve ) ; The qualified curve is then constructed with this object: Geom2dGcc_QualifiedCurve myQCurve = Geom2dGcc::Unqualified(Obj);.

        """
        return _Geom2dGcc.geom2dgcc_Unqualified(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Geom2dGcc.geom2dgcc_swiginit(self, _Geom2dGcc.new_geom2dgcc())
    __swig_destroy__ = _Geom2dGcc.delete_geom2dgcc

# Register geom2dgcc in _Geom2dGcc:
_Geom2dGcc.geom2dgcc_swigregister(geom2dgcc)
class Geom2dGcc_Circ2d2TanOn(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Qualified2: Geom2dGcc_QualifiedCurve
        OnCurve: Geom2dAdaptor_Curve
        Tolerance: float
        Param1: float
        Param2: float
        ParamOn: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two curves and having the center ON a 2d curve. Param1 is the initial guess on the first curve QualifiedCurv. Param1 is the initial guess on the second curve QualifiedCurv. ParamOn is the initial guess on the center curve OnCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Point: Geom2d_Point
        OnCurve: Geom2dAdaptor_Curve
        Tolerance: float
        Param1: float
        ParamOn: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to one curve and one point and having the center ON a 2d curve. Param1 is the initial guess on the first curve QualifiedCurv. ParamOn is the initial guess on the center curve OnCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Point1: Geom2d_Point
        Point2: Geom2d_Point
        OnCurve: Geom2dAdaptor_Curve
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two points and having the center ON a 2d curve. Tolerance is used for the limit cases.

        """
        _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2d2TanOn(*args))

    def CenterOn3(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParArg: float

        Description
        -----------
        Returns the center PntSol of the solution of index Index computed by this algorithm. ParArg is the parameter of the point PntSol on the third argument. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_CenterOn3(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the construction algorithm does not fail (even if it finds no solution). Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution of index Index and, respectively, the first or second argument of this algorithm are the same (i.e. there are 2 identical circles). If Rarg is the radius of the first or second argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_IsTheSame1(self, *args)

    def IsTheSame2(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution of index Index and, respectively, the first or second argument of this algorithm are the same (i.e. there are 2 identical circles). If Rarg is the radius of the first or second argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_IsTheSame2(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        This method returns the number of solutions. NotDone is raised if the algorithm failed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_NbSolutions(self, *args)

    def Results(self, *args):
        r"""

        Parameters
        ----------
        Circ: GccAna_Circ2d2TanOn

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Circ: Geom2dGcc_Circ2d2TanOnGeo

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_Results(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the second argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_Tangency2(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution number Index and raises OutOfRange exception if Index is greater than the number of solutions. Be careful: the Index is only a way to get all the solutions, but is not associated to these outside the context of the algorithm-object. Exceptions Standard_OutOfRange if Index is less than or equal to zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position

        Description
        -----------
        It returns the information about the qualifiers of the tangency arguments concerning the solution number Index. It returns the real qualifiers (the qualifiers given to the constructor method in case of enclosed, enclosing and outside and the qualifiers computedin case of unqualified). Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOn_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2d2TanOn

# Register Geom2dGcc_Circ2d2TanOn in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2d2TanOn_swigregister(Geom2dGcc_Circ2d2TanOn)
class Geom2dGcc_Circ2d2TanOnGeo(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):
        r"""

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: GccEnt_QualifiedCirc
        OnCurv: Geom2dAdaptor_Curve
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two 2d circles and having the center ON a curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: GccEnt_QualifiedLin
        OnCurv: Geom2dAdaptor_Curve
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d circle and a 2d line having the center ON a curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Point2: gp_Pnt2d
        OnCurv: Geom2dAdaptor_Curve
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d circle and a point having the center ON a curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: GccEnt_QualifiedLin
        OnCurv: Geom2dAdaptor_Curve
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two 2d lines having the center ON a curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: gp_Pnt2d
        OnCurv: Geom2dAdaptor_Curve
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d line and a point having the center ON a 2d line.

        Parameters
        ----------
        Point1: gp_Pnt2d
        Point2: gp_Pnt2d
        OnCurv: Geom2dAdaptor_Curve
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two points having the center ON a 2d line.

        """
        _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2d2TanOnGeo(*args))

    def CenterOn3(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParArg: float

        Description
        -----------
        Returns information about the center (on the curv) of the result. ParArg is the intrinsic parameter of the point on the argument curv. PntSol is the center point of the solution curv. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_CenterOn3(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This method returns True if the construction algorithm succeeded.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the solution number Index is equal to the first argument and False in the other cases. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_IsTheSame1(self, *args)

    def IsTheSame2(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the solution number Index is equal to the second argument and False in the other cases. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_IsTheSame2(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        This method returns the number of solutions. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_NbSolutions(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the first argument. ParSol is the intrinsic parameter of the point on the solution curv. ParArg is the intrinsic parameter of the point on the argument curv. PntSol is the tangency point on the solution curv. PntArg is the tangency point on the argument curv. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the second argument. ParSol is the intrinsic parameter of the point on the solution curv. ParArg is the intrinsic parameter of the point on the argument curv. PntSol is the tangency point on the solution curv. PntArg is the tangency point on the argument curv. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_Tangency2(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution number Index and raises OutOfRange exception if Index is greater than the number of solutions. Be careful: the Index is only a way to get all the solutions, but is not associated to those outside the context of the algorithm-object. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position

        Description
        -----------
        It returns the information about the qualifiers of the tangency arguments concerning the solution number Index. It returns the real qualifiers (the qualifiers given to the constructor method in case of enclosed, enclosing and outside and the qualifiers computedin case of unqualified).

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2d2TanOnGeo

# Register Geom2dGcc_Circ2d2TanOnGeo in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2d2TanOnGeo_swigregister(Geom2dGcc_Circ2d2TanOnGeo)
class Geom2dGcc_Circ2d2TanOnIter(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):
        r"""

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: Geom2dGcc_QCurve
        OnLine: gp_Lin2d
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d circle and a curve and having the center ON a 2d line. Param2 is the initial guess on the curve QualifiedCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: Geom2dGcc_QCurve
        OnLine: gp_Lin2d
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d line and a curve and having the center ON a 2d line. Param2 is the initial guess on the curve QualifiedCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Qualified2: Geom2dGcc_QCurve
        OnLine: gp_Lin2d
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two curves and having the center ON a 2d line. Param1 is the initial guess on the first QualifiedCurv. Param2 is the initial guess on the first QualifiedCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Point2: gp_Pnt2d
        OnLine: gp_Lin2d
        Param1: float
        Param2: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d point and a curve and having the center ON a 2d line. Param2 is the initial guess on the curve QualifiedCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: Geom2dGcc_QCurve
        OnCirc: gp_Circ2d
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d circle and a curve and having the center ON a 2d circle. Param2 is the initial guess on the curve QualifiedCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: Geom2dGcc_QCurve
        OnCirc: gp_Circ2d
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d line and a curve and having the center ON a 2d circle. Param2 is the initial guess on the curve QualifiedCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Qualified2: Geom2dGcc_QCurve
        OnCirc: gp_Circ2d
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two curves and having the center ON a 2d circle. Param1 is the initial guess on the first QualifiedCurv. Param2 is the initial guess on the first QualifiedCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Point2: gp_Pnt2d
        OnCirc: gp_Circ2d
        Param1: float
        Param2: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d point and a curve and having the center ON a 2d circle. Param2 is the initial guess on the curve QualifiedCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: Geom2dGcc_QCurve
        OnCurv: Geom2dAdaptor_Curve
        Param1: float
        Param2: float
        ParamOn: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d circle and a curve and having the center ON a 2d curve. Param2 is the initial guess on the curve QualifiedCurv. ParamOn is the initial guess on the center curve OnCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: Geom2dGcc_QCurve
        OnCurve: Geom2dAdaptor_Curve
        Param1: float
        Param2: float
        ParamOn: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d line and a curve and having the center ON a 2d curve. Param2 is the initial guess on the curve QualifiedCurv. ParamOn is the initial guess on the center curve OnCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Point2: gp_Pnt2d
        OnCurve: Geom2dAdaptor_Curve
        Param1: float
        ParamOn: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d Point and a curve and having the center ON a 2d curve. Param1 is the initial guess on the curve QualifiedCurv. ParamOn is the initial guess on the center curve OnCurv. Tolerance is used for the limit cases.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Qualified2: Geom2dGcc_QCurve
        OnCurve: Geom2dAdaptor_Curve
        Param1: float
        Param2: float
        ParamOn: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two curves and having the center ON a 2d curve. Param1 is the initial guess on the first curve QualifiedCurv. Param1 is the initial guess on the second curve QualifiedCurv. ParamOn is the initial guess on the center curve OnCurv. Tolerance is used for the limit cases.

        """
        _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2d2TanOnIter(*args))

    def CenterOn3(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParArg: float

        Description
        -----------
        Returns information about the center (on the curv) of the result and the third argument. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_CenterOn3(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This method returns True if the construction algorithm succeeded.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_IsTheSame1(self, *args)

    def IsTheSame2(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_IsTheSame2(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the second argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_Tangency2(self, *args)

    def ThisSolution(self, *args):
        r"""
        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2d2TanOnIter

# Register Geom2dGcc_Circ2d2TanOnIter in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2d2TanOnIter_swigregister(Geom2dGcc_Circ2d2TanOnIter)
class Geom2dGcc_Circ2d2TanRad(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Qualified2: Geom2dGcc_QualifiedCurve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Point: Geom2d_Point
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Point1: Geom2d_Point
        Point2: Geom2d_Point
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        These constructors create one or more 2D circles of radius Radius either - tangential to the 2 curves Qualified1 and Qualified2, or - tangential to the curve Qualified1 and passing through the point Point, or - passing through two points Point1 and Point2. Tolerance is a tolerance criterion used by the algorithm to find a solution when, mathematically, the problem posed does not have a solution, but where there is numeric uncertainty attached to the arguments. For example, take two circles C1 and C2, such that C2 is inside C1, and almost tangential to C1. There is, in fact, no point of intersection between C1 and C2. You now want to find a circle of radius R (smaller than the radius of C2), which is tangential to C1 and C2, and inside these two circles: a pure mathematical resolution will not find a solution. This is where the tolerance criterion is used: the algorithm considers that C1 and C2 are tangential if the shortest distance between these two circles is less than or equal to Tolerance. Thus, a solution is found by the algorithm. Exceptions GccEnt_BadQualifier if a qualifier is inconsistent with the argument it qualifies (for example, enclosing for a line). Standard_NegativeValue if Radius is negative.

        """
        _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2d2TanRad(*args))

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This method returns True if the algorithm succeeded. Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution of index Index and, respectively, the first or second argument of this algorithm are the same (i.e. there are 2 identical circles). If Rarg is the radius of the first or second argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. OutOfRange is raised if Index is greater than the number of solutions. notDone is raised if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_IsTheSame1(self, *args)

    def IsTheSame2(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution of index Index and, respectively, the first or second argument of this algorithm are the same (i.e. there are 2 identical circles). If Rarg is the radius of the first or second argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. OutOfRange is raised if Index is greater than the number of solutions. notDone is raised if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_IsTheSame2(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        This method returns the number of solutions. NotDone is raised if the algorithm failed. Exceptions StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_NbSolutions(self, *args)

    def Results(self, *args):
        r"""

        Parameters
        ----------
        Circ: GccAna_Circ2d2TanRad

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Circ: Geom2dGcc_Circ2d2TanRadGeo

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_Results(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. OutOfRange is raised if Index is greater than the number of solutions. notDone is raised if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the second argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. OutOfRange is raised if Index is greater than the number of solutions. notDone is raised if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_Tangency2(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution number Index and raises OutOfRange exception if Index is greater than the number of solutions. Be careful: the Index is only a way to get all the solutions, but is not associated to these outside the context of the algorithm-object. Warning This indexing simply provides a means of consulting the solutions. The index values are not associated with these solutions outside the context of the algorithm object. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position

        Description
        -----------
        Returns the qualifiers Qualif1 and Qualif2 of the tangency arguments for the solution of index Index computed by this algorithm. The returned qualifiers are: - those specified at the start of construction when the solutions are defined as enclosed, enclosing or outside with respect to the arguments, or - those computed during construction (i.e. enclosed, enclosing or outside) when the solutions are defined as unqualified with respect to the arguments, or - GccEnt_noqualifier if the tangency argument is a point, or - GccEnt_unqualified in certain limit cases where it is impossible to qualify the solution as enclosed, enclosing or outside. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRad_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2d2TanRad

# Register Geom2dGcc_Circ2d2TanRad in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2d2TanRad_swigregister(Geom2dGcc_Circ2d2TanRad)
class Geom2dGcc_Circ2d2TanRadGeo(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):
        r"""

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: Geom2dGcc_QCurve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d circle and a curve with a radius of Radius. It raises NegativeValue if Radius is lower than zero.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: Geom2dGcc_QCurve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a 2d line and a curve with a radius of Radius. It raises NegativeValue if Radius is lower than zero.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Qualified2: Geom2dGcc_QCurve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to two curves with a radius of Radius. It raises NegativeValue if Radius is lower than zero.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Point2: gp_Pnt2d
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles TANgent to a curve and a point with a radius of Radius. It raises NegativeValue if Radius is lower than zero.

        """
        _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2d2TanRadGeo(*args))

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This method returns True if the algorithm succeeded.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the solution number Index is equal to the first argument. It raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_IsTheSame1(self, *args)

    def IsTheSame2(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the solution number Index is equal to the second argument. It raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_IsTheSame2(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        This method returns the number of solutions. It raises NotDone if the algorithm failed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_NbSolutions(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution. ParArg is the intrinsic parameter of the point PntSol on the first argument. It raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the second argument. ParSol is the intrinsic parameter of the point PntSol on the solution. ParArg is the intrinsic parameter of the point PntArg on the second argument. It raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_Tangency2(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution number Index. Be careful: the Index is only a way to get all the solutions, but is not associated to those outside the context of the algorithm-object. It raises OutOfRange exception if Index is greater than the number of solutions. It raises NotDone if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position

        Description
        -----------
        It returns the information about the qualifiers of the tangency arguments concerning the solution number Index. It returns the real qualifiers (the qualifiers given to the constructor method in case of enclosed, enclosing and outside and the qualifiers computedin case of unqualified).

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2d2TanRadGeo

# Register Geom2dGcc_Circ2d2TanRadGeo in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2d2TanRadGeo_swigregister(Geom2dGcc_Circ2d2TanRadGeo)
class Geom2dGcc_Circ2d3Tan(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Qualified2: Geom2dGcc_QualifiedCurve
        Qualified3: Geom2dGcc_QualifiedCurve
        Tolerance: float
        Param1: float
        Param2: float
        Param3: float

        Return
        -------
        None

        Description
        -----------
        Constructs one or more 2D circles tangential to three curves Qualified1, Qualified2 and Qualified3, where Param1, Param2 and Param3 are used, respectively, as the initial values of the parameters on Qualified1, Qualified2 and Qualified3 of the tangency point between these arguments and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if either Qualified1, Qualified2 or Qualified3 is more complex than a line or a circle).

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Qualified2: Geom2dGcc_QualifiedCurve
        Point: Geom2d_Point
        Tolerance: float
        Param1: float
        Param2: float

        Return
        -------
        None

        Description
        -----------
        Constructs one or more 2D circles tangential to two curves Qualified1 and Qualified2 and passing through the point Point, where Param1 and Param2 are used, respectively, as the initial values of the parameters on Qualified1 and Qualified2 of the tangency point between this argument and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if either Qualified1 or Qualified2 is more complex than a line or a circle).

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Point1: Geom2d_Point
        Point2: Geom2d_Point
        Tolerance: float
        Param1: float

        Return
        -------
        None

        Description
        -----------
        Constructs one or more 2D circles tangential to the curve Qualified1 and passing through two points Point1 and Point2, where Param1 is used as the initial value of the parameter on Qualified1 of the tangency point between this argument and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if Qualified1 is more complex than a line or a circle).

        Parameters
        ----------
        Point1: Geom2d_Point
        Point2: Geom2d_Point
        Point3: Geom2d_Point
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        Constructs one or more 2D circles passing through three points Point1, Point2 and Point3. Tolerance is a tolerance criterion used by the algorithm to find a solution when, mathematically, the problem posed does not have a solution, but where there is numeric uncertainty attached to the arguments. For example, take: - two circles C1 and C2, such that C2 is inside C1, and almost tangential to C1; there is in fact no point of intersection between C1 and C2; and - a circle C3 outside C1. You now want to find a circle which is tangential to C1, C2 and C3: a pure mathematical resolution will not find a solution. This is where the tolerance criterion is used: the algorithm considers that C1 and C2 are tangential if the shortest distance between these two circles is less than or equal to Tolerance. Thus, the algorithm finds a solution. Warning An iterative algorithm is used if Qualified1, Qualified2 or Qualified3 is more complex than a line or a circle. In such cases, the algorithm constructs only one solution. Exceptions GccEnt_BadQualifier if a qualifier is inconsistent with the argument it qualifies (for example, enclosing for a line).

        """
        _Geom2dGcc.Geom2dGcc_Circ2d3Tan_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2d3Tan(*args))

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the construction algorithm does not fail (even if it finds no solution). Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the solution is equal to the first argument.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_IsTheSame1(self, *args)

    def IsTheSame2(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the solution is equal to the second argument.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_IsTheSame2(self, *args)

    def IsTheSame3(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the solution is equal to the third argument. If Rarg is the radius of the first, second or third argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_IsTheSame3(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        This method returns the number of solutions. NotDone is raised if the algorithm failed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_NbSolutions(self, *args)

    def Results(self, *args):
        r"""

        Parameters
        ----------
        Circ: GccAna_Circ2d3Tan
        Rank1: int
        Rank2: int
        Rank3: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_Results(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the second argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_Tangency2(self, *args)

    def Tangency3(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the third argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_Tangency3(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution number Index and raises OutOfRange exception if Index is greater than the number of solutions. Be careful: the Index is only a way to get all the solutions, but is not associated to these outside the context of the algorithm-object.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position
        Qualif3: GccEnt_Position

        Description
        -----------
        It returns the information about the qualifiers of the tangency arguments concerning the solution number Index. It returns the real qualifiers (the qualifiers given to the constructor method in case of enclosed, enclosing and outside and the qualifiers computedin case of unqualified).

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3Tan_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2d3Tan

# Register Geom2dGcc_Circ2d3Tan in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2d3Tan_swigregister(Geom2dGcc_Circ2d3Tan)
class Geom2dGcc_Circ2d3TanIter(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):
        r"""

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: GccEnt_QualifiedCirc
        Qualified3: Geom2dGcc_QCurve
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to 2 circles and a curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: Geom2dGcc_QCurve
        Qualified3: Geom2dGcc_QCurve
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to a circle and 2 curves.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: GccEnt_QualifiedLin
        Qualified3: Geom2dGcc_QCurve
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to a circle and a line and a curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: Geom2dGcc_QCurve
        Point3: gp_Pnt2d
        Param1: float
        Param2: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to a circle and a point and a curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: GccEnt_QualifiedLin
        Qualified3: Geom2dGcc_QCurve
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to 2 lines and a curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: Geom2dGcc_QCurve
        Qualified3: Geom2dGcc_QCurve
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to a line and 2 curves.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        Qualified2: Geom2dGcc_QCurve
        Point3: gp_Pnt2d
        Param1: float
        Param2: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to a line and a curve and a point.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Point1: gp_Pnt2d
        Point2: gp_Pnt2d
        Param1: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to a curve and 2 points.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Qualified2: Geom2dGcc_QCurve
        Point2: gp_Pnt2d
        Param1: float
        Param2: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to 2 curves and a point.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Qualified2: Geom2dGcc_QCurve
        Qualified3: Geom2dGcc_QCurve
        Param1: float
        Param2: float
        Param3: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to 3 curves.

        """
        _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2d3TanIter(*args))

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This method returns True if the construction algorithm succeeded.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_IsTheSame1(self, *args)

    def IsTheSame2(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_IsTheSame2(self, *args)

    def IsTheSame3(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_IsTheSame3(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the second argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_Tangency2(self, *args)

    def Tangency3(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the third argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_Tangency3(self, *args)

    def ThisSolution(self, *args):
        r"""
        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position
        Qualif3: GccEnt_Position

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2d3TanIter_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2d3TanIter

# Register Geom2dGcc_Circ2d3TanIter in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2d3TanIter_swigregister(Geom2dGcc_Circ2d3TanIter)
class Geom2dGcc_Circ2dTanCen(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Pcenter: Geom2d_Point
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        Constructs one or more 2D circles tangential to the curve Qualified1 and centered on the point Pcenter. Tolerance is a tolerance criterion used by the algorithm to find a solution when, mathematically, the problem posed does not have a solution, but where there is numeric uncertainty attached to the arguments. Tolerance is only used in these algorithms in very specific cases where the center of the solution is very close to the circle to which it is tangential, and where the solution is thus a very small circle. Exceptions GccEnt_BadQualifier if a qualifier is inconsistent with the argument it qualifies (for example, enclosing for a line).

        """
        _Geom2dGcc.Geom2dGcc_Circ2dTanCen_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2dTanCen(*args))

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the construction algorithm does not fail (even if it finds no solution). Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCen_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution of index Index and the first argument of this algorithm are the same (i.e. there are 2 identical circles). If Rarg is the radius of the first argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. NotDone is raised if the construction algorithm didn't succeed. OutOfRange is raised if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCen_IsTheSame1(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the number of circles, representing solutions computed by this algorithm. Exceptions StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCen_NbSolutions(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCen_Tangency1(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns a circle, representing the solution of index Index computed by this algorithm. Warning This indexing simply provides a means of consulting the solutions. The index values are not associated with these solutions outside the context of the algorithm object. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCen_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position

        Description
        -----------
        Returns the qualifier Qualif1 of the tangency argument for the solution of index Index computed by this algorithm. The returned qualifier is: - that specified at the start of construction when the solutions are defined as enclosed, enclosing or outside with respect to the argument, or - that computed during construction (i.e. enclosed, enclosing or outside) when the solutions are defined as unqualified with respect to the argument. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCen_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2dTanCen

# Register Geom2dGcc_Circ2dTanCen in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2dTanCen_swigregister(Geom2dGcc_Circ2dTanCen)
class Geom2dGcc_Circ2dTanCenGeo(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Pcenter: gp_Pnt2d
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This method implements the algorithms used to create 2d circles tangent to a circle and centered on a point.

        """
        _Geom2dGcc.Geom2dGcc_Circ2dTanCenGeo_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2dTanCenGeo(*args))

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This method returns True if the construction algorithm succeeded.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCenGeo_IsDone(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the number of solutions and raises NotDone exception if the algorithm didn't succeed. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCenGeo_NbSolutions(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntArg on the argument curv. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions or less than zero.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCenGeo_Tangency1(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution number Index and raises OutOfRange exception if Index is greater than the number of solutions. Be careful: the Index is only a way to get all the solutions, but is not associated to these outside the context of the algorithm-object. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions or less than zero.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCenGeo_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanCenGeo_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2dTanCenGeo

# Register Geom2dGcc_Circ2dTanCenGeo in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2dTanCenGeo_swigregister(Geom2dGcc_Circ2dTanCenGeo)
class Geom2dGcc_Circ2dTanOnRad(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        OnCurv: Geom2dAdaptor_Curve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        Constructs one or more 2D circles of radius Radius, centered on the 2D curve OnCurv and: - tangential to the curve Qualified1.

        Parameters
        ----------
        Point1: Geom2d_Point
        OnCurv: Geom2dAdaptor_Curve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        Constructs one or more 2D circles of radius Radius, centered on the 2D curve OnCurv and: passing through the point Point1. OnCurv is an adapted curve, i.e. an object which is an interface between: - the services provided by a 2D curve from the package Geom2d, - and those required on the curve by the construction algorithm. Similarly, the qualified curve Qualified1 is created from an adapted curve. Adapted curves are created in the following way: opencascade::handle<Geom2d_Curve> myCurveOn = ... ; Geom2dAdaptor_Curve OnCurv ( myCurveOn ) ; The algorithm is then constructed with this object: opencascade::handle<Geom2d_Curve> myCurve1 = ... ; Geom2dAdaptor_Curve Adapted1 ( myCurve1 ) ; Geom2dGcc_QualifiedCurve Qualified1 = Geom2dGcc::Outside(Adapted1); Standard_Real Radius = ... , Tolerance = ... ; Geom2dGcc_Circ2dTanOnRad myAlgo ( Qualified1 , OnCurv , Radius , Tolerance ) ; if ( myAlgo.IsDone() ) { Standard_Integer Nbr = myAlgo.NbSolutions() ; gp_Circ2d Circ ; for ( Standard_Integer i = 1 ; i <= nbr ; i++ ) { Circ = myAlgo.ThisSolution (i) ; ... } }.

        """
        _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2dTanOnRad(*args))

    def CenterOn3(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParArg: float

        Description
        -----------
        Returns the center PntSol on the second argument (i.e. line or circle) of the solution of index Index computed by this algorithm. ParArg is the intrinsic parameter of the point on the argument curv. PntSol is the center point of the solution curv. PntArg is the projection of PntSol on the argument curv. Exceptions: Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_CenterOn3(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the construction algorithm does not fail (even if it finds no solution). Note: IsDone protects against a failure arising from a more internal intersection algorithm which has reached its numeric limits.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution of index Index and the first argument of this algorithm are the same (i.e. there are 2 identical circles). If Rarg is the radius of the first argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. OutOfRange is raised if Index is greater than the number of solutions. notDone is raised if the construction algorithm did not succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_IsTheSame1(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the number of circles, representing solutions computed by this algorithm. Exceptions: StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_NbSolutions(self, *args)

    def Results(self, *args):
        r"""

        Parameters
        ----------
        Circ: GccAna_Circ2dTanOnRad

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Circ: Geom2dGcc_Circ2dTanOnRadGeo

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_Results(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the first argument. ParSol is the intrinsic parameter of the point on the solution curv. ParArg is the intrinsic parameter of the point on the argument curv. PntSol is the tangency point on the solution curv. PntArg is the tangency point on the argument curv. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_Tangency1(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution number Index and raises OutOfRange exception if Index is greater than the number of solutions. Be careful: the Index is only a way to get all the solutions, but is not associated to these outside the context of the algorithm-object. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position

        Description
        -----------
        Returns the qualifier Qualif1 of the tangency argument for the solution of index Index computed by this algorithm. The returned qualifier is: - that specified at the start of construction when the solutions are defined as enclosed, enclosing or outside with respect to the arguments, or - that computed during construction (i.e. enclosed, enclosing or outside) when the solutions are defined as unqualified with respect to the arguments, or - GccEnt_noqualifier if the tangency argument is a point. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2dTanOnRad

# Register Geom2dGcc_Circ2dTanOnRad in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2dTanOnRad_swigregister(Geom2dGcc_Circ2dTanOnRad)
class Geom2dGcc_Circ2dTanOnRadGeo(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        OnLine: gp_Lin2d
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This methods implements the algorithms used to create 2d Circles tangent to a curve and centered on a 2d Line with a given radius. Tolerance is used to find solution in every limit cases. raises NegativeValue in case of NegativeRadius.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        OnCirc: gp_Circ2d
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This methods implements the algorithms used to create 2d Circles tangent to a curve and centered on a 2d Circle with a given radius. Tolerance is used to find solution in every limit cases. raises NegativeValue in case of NegativeRadius.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        OnCurv: Geom2dAdaptor_Curve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This methods implements the algorithms used to create 2d Circles tangent to a circle and centered on a 2d curve with a given radius. Tolerance is used to find solution in every limit cases. raises NegativeValue in case of NegativeRadius.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedLin
        OnCurv: Geom2dAdaptor_Curve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This methods implements the algorithms used to create 2d Circles tangent to a 2d Line and centered on a 2d curve with a given radius. Tolerance is used to find solution in every limit cases. raises NegativeValue in case of NegativeRadius.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        OnCurv: Geom2dAdaptor_Curve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This methods implements the algorithms used to create 2d Circles tangent to a 2d curve and centered on a 2d curve with a given radius. Tolerance is used to find solution in every limit cases. raises NegativeValue in case of NegativeRadius.

        Parameters
        ----------
        Point1: gp_Pnt2d
        OnCurv: Geom2dAdaptor_Curve
        Radius: float
        Tolerance: float

        Return
        -------
        None

        Description
        -----------
        This methods implements the algorithms used to create 2d Circles passing through a 2d point and centered on a 2d curve with a given radius. Tolerance is used to find solution in every limit cases. raises NegativeValue in case of NegativeRadius.

        """
        _Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Circ2dTanOnRadGeo(*args))

    def CenterOn3(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParArg: float

        Description
        -----------
        Returns information about the center (on the curv) of the result. ParArg is the intrinsic parameter of the point on the argument curv. PntSol is the center point of the solution curv. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_CenterOn3(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This method returns True if the construction algorithm succeeded.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_IsDone(self, *args)

    def IsTheSame1(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the solution number Index is equal to the first argument and False in the other cases. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_IsTheSame1(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        This method returns the number of solutions. It raises NotDone if the construction algorithm didn't succeed.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_NbSolutions(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result number Index and the first argument. ParSol is the intrinsic parameter of the point on the solution curv. ParArg is the intrinsic parameter of the point on the argument curv. PntSol is the tangency point on the solution curv. PntArg is the tangency point on the argument curv. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_Tangency1(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Circ2d

        Description
        -----------
        Returns the solution number Index and raises OutOfRange exception if Index is greater than the number of solutions. Be careful: the Index is only a way to get all the solutions, but is not associated to these outside the context of the algorithm-object. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Circ2dTanOnRadGeo

# Register Geom2dGcc_Circ2dTanOnRadGeo in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Circ2dTanOnRadGeo_swigregister(Geom2dGcc_Circ2dTanOnRadGeo)
class Geom2dGcc_CurveTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def D1(*args):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve
        U: float
        P: gp_Pnt2d
        T: gp_Vec2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_CurveTool_D1(*args)

    @staticmethod
    def D2(*args):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve
        U: float
        P: gp_Pnt2d
        T: gp_Vec2d
        N: gp_Vec2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_CurveTool_D2(*args)

    @staticmethod
    def D3(*args):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve
        U: float
        P: gp_Pnt2d
        T: gp_Vec2d
        N: gp_Vec2d
        dN: gp_Vec2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_CurveTool_D3(*args)

    @staticmethod
    def EpsX(*args):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve
        Tol: float

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_CurveTool_EpsX(*args)

    @staticmethod
    def FirstParameter(*args):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_CurveTool_FirstParameter(*args)

    @staticmethod
    def LastParameter(*args):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_CurveTool_LastParameter(*args)

    @staticmethod
    def NbSamples(*args):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve

        Return
        -------
        int

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_CurveTool_NbSamples(*args)

    @staticmethod
    def Value(*args):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve
        X: float

        Return
        -------
        gp_Pnt2d

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_CurveTool_Value(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Geom2dGcc.Geom2dGcc_CurveTool_swiginit(self, _Geom2dGcc.new_Geom2dGcc_CurveTool())
    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_CurveTool

# Register Geom2dGcc_CurveTool in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_CurveTool_swigregister(Geom2dGcc_CurveTool)
class Geom2dGcc_FunctionTanCirCu(OCC.Core.math.math_FunctionWithDerivative):
    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):
        r"""

        Parameters
        ----------
        Circ: gp_Circ2d
        Curv: Geom2dAdaptor_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _Geom2dGcc.Geom2dGcc_FunctionTanCirCu_swiginit(self, _Geom2dGcc.new_Geom2dGcc_FunctionTanCirCu(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_FunctionTanCirCu

# Register Geom2dGcc_FunctionTanCirCu in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_FunctionTanCirCu_swigregister(Geom2dGcc_FunctionTanCirCu)
class Geom2dGcc_FunctionTanCuCu(OCC.Core.math.math_FunctionSetWithDerivatives):
    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):
        r"""

        Parameters
        ----------
        Curv1: Geom2dAdaptor_Curve
        Curv2: Geom2dAdaptor_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Circ1: gp_Circ2d
        Curv2: Geom2dAdaptor_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _Geom2dGcc.Geom2dGcc_FunctionTanCuCu_swiginit(self, _Geom2dGcc.new_Geom2dGcc_FunctionTanCuCu(*args))

    def InitDerivative(self, *args):
        r"""

        Parameters
        ----------
        X: math_Vector
        Point1: gp_Pnt2d
        Point2: gp_Pnt2d
        Tan1: gp_Vec2d
        Tan2: gp_Vec2d
        D21: gp_Vec2d
        D22: gp_Vec2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_FunctionTanCuCu_InitDerivative(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_FunctionTanCuCu

# Register Geom2dGcc_FunctionTanCuCu in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_FunctionTanCuCu_swigregister(Geom2dGcc_FunctionTanCuCu)
class Geom2dGcc_FunctionTanCuCuOnCu(OCC.Core.math.math_FunctionSetWithDerivatives):
    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):
        r"""

        Parameters
        ----------
        C1: Geom2dAdaptor_Curve
        C2: Geom2dAdaptor_Curve
        OnCi: gp_Circ2d
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        C1: gp_Circ2d
        C2: Geom2dAdaptor_Curve
        OnCi: gp_Circ2d
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        L1: gp_Lin2d
        C2: Geom2dAdaptor_Curve
        OnCi: gp_Circ2d
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        C1: Geom2dAdaptor_Curve
        P2: gp_Pnt2d
        OnCi: gp_Circ2d
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        C1: Geom2dAdaptor_Curve
        C2: Geom2dAdaptor_Curve
        OnLi: gp_Lin2d
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        C1: gp_Circ2d
        C2: Geom2dAdaptor_Curve
        OnLi: gp_Lin2d
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        L1: gp_Lin2d
        C2: Geom2dAdaptor_Curve
        OnLi: gp_Lin2d
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        C1: Geom2dAdaptor_Curve
        P2: gp_Pnt2d
        OnLi: gp_Lin2d
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        C1: Geom2dAdaptor_Curve
        C2: Geom2dAdaptor_Curve
        OnCu: Geom2dAdaptor_Curve
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        C1: gp_Circ2d
        C2: Geom2dAdaptor_Curve
        OnCu: Geom2dAdaptor_Curve
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        L1: gp_Lin2d
        C2: Geom2dAdaptor_Curve
        OnCu: Geom2dAdaptor_Curve
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        C1: Geom2dAdaptor_Curve
        P1: gp_Pnt2d
        OnCu: Geom2dAdaptor_Curve
        Rad: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _Geom2dGcc.Geom2dGcc_FunctionTanCuCuOnCu_swiginit(self, _Geom2dGcc.new_Geom2dGcc_FunctionTanCuCuOnCu(*args))

    def InitDerivative(self, *args):
        r"""

        Parameters
        ----------
        X: math_Vector
        Point1: gp_Pnt2d
        Point2: gp_Pnt2d
        Point3: gp_Pnt2d
        Tan1: gp_Vec2d
        Tan2: gp_Vec2d
        Tan3: gp_Vec2d
        D21: gp_Vec2d
        D22: gp_Vec2d
        D23: gp_Vec2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_FunctionTanCuCuOnCu_InitDerivative(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_FunctionTanCuCuOnCu

# Register Geom2dGcc_FunctionTanCuCuOnCu in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_FunctionTanCuCuOnCu_swigregister(Geom2dGcc_FunctionTanCuCuOnCu)
class Geom2dGcc_FunctionTanCuPnt(OCC.Core.math.math_FunctionWithDerivative):
    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):
        r"""

        Parameters
        ----------
        C: Geom2dAdaptor_Curve
        Point: gp_Pnt2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _Geom2dGcc.Geom2dGcc_FunctionTanCuPnt_swiginit(self, _Geom2dGcc.new_Geom2dGcc_FunctionTanCuPnt(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_FunctionTanCuPnt

# Register Geom2dGcc_FunctionTanCuPnt in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_FunctionTanCuPnt_swigregister(Geom2dGcc_FunctionTanCuPnt)
class Geom2dGcc_FunctionTanObl(OCC.Core.math.math_FunctionWithDerivative):
    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):
        r"""

        Parameters
        ----------
        Curve: Geom2dAdaptor_Curve
        Dir: gp_Dir2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _Geom2dGcc.Geom2dGcc_FunctionTanObl_swiginit(self, _Geom2dGcc.new_Geom2dGcc_FunctionTanObl(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_FunctionTanObl

# Register Geom2dGcc_FunctionTanObl in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_FunctionTanObl_swigregister(Geom2dGcc_FunctionTanObl)
class Geom2dGcc_Lin2d2Tan(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Qualified2: Geom2dGcc_QualifiedCurve
        Tolang: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithms used to create 2d line tangent to two curves. Tolang is used to determine the tolerance for the tangency points.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        ThePoint: gp_Pnt2d
        Tolang: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithms used to create 2d lines passing through a point and tangent to a curve. Tolang is used to determine the tolerance for the tangency points.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        Qualified2: Geom2dGcc_QualifiedCurve
        Tolang: float
        Param1: float
        Param2: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithms used to create 2d line tangent to two curves. Tolang is used to determine the tolerance for the tangency points. Param1 is used for the initial guess on the first curve. Param2 is used for the initial guess on the second curve.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        ThePoint: gp_Pnt2d
        Tolang: float
        Param1: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithms used to create 2d lines passing through a point and tangent to a curve. Tolang is used to determine the tolerance for the tangency points. Param2 is used for the initial guess on the curve.

        """
        _Geom2dGcc.Geom2dGcc_Lin2d2Tan_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Lin2d2Tan(*args))

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the construction algorithm does not fail (even if it finds no solution). Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2Tan_IsDone(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the number of lines, representing solutions computed by this algorithm. Exceptions StdFail_NotDone if the construction fails.R.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2Tan_NbSolutions(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2Tan_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2Tan_Tangency2(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Lin2d

        Description
        -----------
        Returns a line, representing the solution of index Index computed by this algorithm. Warning This indexing simply provides a means of consulting the solutions. The index values are not associated with these solutions outside the context of the algorithm object. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2Tan_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position

        Description
        -----------
        Returns the qualifiers Qualif1 and Qualif2 of the tangency arguments for the solution of index Index computed by this algorithm. The returned qualifiers are: - those specified at the start of construction when the solutions are defined as enclosing or outside with respect to the arguments, or - those computed during construction (i.e. enclosing or outside) when the solutions are defined as unqualified with respect to the arguments, or - GccEnt_noqualifier if the tangency argument is a point. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2Tan_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Lin2d2Tan

# Register Geom2dGcc_Lin2d2Tan in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Lin2d2Tan_swigregister(Geom2dGcc_Lin2d2Tan)
class Geom2dGcc_Lin2d2TanIter(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        ThePoint: gp_Pnt2d
        Param1: float
        Tolang: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithms used to create 2d lines passing through a point and tangent to a curve. Tolang is used to determine the tolerance for the tangency points. Param2 is used for the initial guess on the curve.

        Parameters
        ----------
        Qualified1: GccEnt_QualifiedCirc
        Qualified2: Geom2dGcc_QCurve
        Param2: float
        Tolang: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithms used to create 2d line tangent to a circle and to a curve. Tolang is used to determine the tolerance for the tangency points. Param2 is used for the initial guess on the curve. Exception BadQualifier is raised in the case of EnclosedCirc.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        Qualified2: Geom2dGcc_QCurve
        Param1: float
        Param2: float
        Tolang: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithms used to create 2d line tangent to two curves. Tolang is used to determine the tolerance for the tangency points. Param1 is used for the initial guess on the first curve. Param2 is used for the initial guess on the second curve.

        """
        _Geom2dGcc.Geom2dGcc_Lin2d2TanIter_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Lin2d2TanIter(*args))

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This methode returns true when there is a solution and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2TanIter_IsDone(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2TanIter_Tangency1(self, *args)

    def Tangency2(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2TanIter_Tangency2(self, *args)

    def ThisSolution(self, *args):
        r"""
        Return
        -------
        gp_Lin2d

        Description
        -----------
        Returns the solution.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2TanIter_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Qualif1: GccEnt_Position
        Qualif2: GccEnt_Position

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2d2TanIter_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Lin2d2TanIter

# Register Geom2dGcc_Lin2d2TanIter in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Lin2d2TanIter_swigregister(Geom2dGcc_Lin2d2TanIter)
class Geom2dGcc_Lin2dTanObl(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        TheLin: gp_Lin2d
        TolAng: float
        Angle: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithm used to create 2d line tangent to a curve and doing an angle Angle with the line TheLin. Angle must be in Radian. Tolang is the angular tolerance.

        Parameters
        ----------
        Qualified1: Geom2dGcc_QualifiedCurve
        TheLin: gp_Lin2d
        TolAng: float
        Param1: float
        Angle: float

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithm used to create 2d line tangent to a curve and doing an angle Angle with the line TheLin. Angle must be in Radian. Param2 is the initial guess on the curve QualifiedCurv. Tolang is the angular tolerance. Warning An iterative algorithm is used if Qualified1 is more complex than a line or a circle. In such cases, the algorithm constructs only one solution. Exceptions GccEnt_BadQualifier if a qualifier is inconsistent with the argument it qualifies (for example, enclosed for a circle).

        """
        _Geom2dGcc.Geom2dGcc_Lin2dTanObl_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Lin2dTanObl(*args))

    def Intersection2(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns the point of intersection PntSol between the solution of index Index and the second argument (the line) of this algorithm. ParSol is the parameter of the point PntSol on the solution. ParArg is the parameter of the point PntSol on the second argument (the line). Exceptions StdFail_NotDone if the construction fails. Geom2dGcc_IsParallel if the solution and the second argument (the line) are parallel. Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanObl_Intersection2(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the construction algorithm does not fail (even if it finds no solution). Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanObl_IsDone(self, *args)

    def NbSolutions(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the number of lines, representing solutions computed by this algorithm. Exceptions StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanObl_NbSolutions(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        Returns information about the tangency point between the result and the first argument. ParSol is the intrinsic parameter of the point PntSol on the solution curv. ParArg is the intrinsic parameter of the point PntSol on the argument curv.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanObl_Tangency1(self, *args)

    def ThisSolution(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        gp_Lin2d

        Description
        -----------
        Returns a line, representing the solution of index Index computed by this algorithm. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanObl_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------
        Index: int

        Return
        -------
        Qualif1: GccEnt_Position

        Description
        -----------
        Returns the qualifier Qualif1 of the tangency argument for the solution of index Index computed by this algorithm. The returned qualifier is: - that specified at the start of construction when the solutions are defined as enclosing or outside with respect to the argument, or - that computed during construction (i.e. enclosing or outside) when the solutions are defined as unqualified with respect to the argument, or - GccEnt_noqualifier if the tangency argument is a point. Exceptions Standard_OutOfRange if Index is less than zero or greater than the number of solutions computed by this algorithm. StdFail_NotDone if the construction fails.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanObl_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def IsParallel2(self):
    	pass

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Lin2dTanObl

# Register Geom2dGcc_Lin2dTanObl in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Lin2dTanObl_swigregister(Geom2dGcc_Lin2dTanObl)
class Geom2dGcc_Lin2dTanOblIter(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):
        r"""

        Parameters
        ----------
        Qualified1: Geom2dGcc_QCurve
        TheLin: gp_Lin2d
        Param1: float
        TolAng: float
        Angle: float (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        This class implements the algorithm used to create 2d line tangent to a curve and doing an angle Angle with the line TheLin. Angle must be in Radian. Param2 is the initial guess on the curve QualifiedCurv. Tolang is the angular tolerance.

        """
        _Geom2dGcc.Geom2dGcc_Lin2dTanOblIter_swiginit(self, _Geom2dGcc.new_Geom2dGcc_Lin2dTanOblIter(*args))

    def Intersection2(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanOblIter_Intersection2(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        This method returns true when there is a solution and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanOblIter_IsDone(self, *args)

    def IsParallel2(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanOblIter_IsParallel2(self, *args)

    def Tangency1(self, *args):
        r"""

        Parameters
        ----------
        PntSol: gp_Pnt2d

        Return
        -------
        ParSol: float
        ParArg: float

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanOblIter_Tangency1(self, *args)

    def ThisSolution(self, *args):
        r"""
        Return
        -------
        gp_Lin2d

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanOblIter_ThisSolution(self, *args)

    def WhichQualifier(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Qualif1: GccEnt_Position

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_Lin2dTanOblIter_WhichQualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_Lin2dTanOblIter

# Register Geom2dGcc_Lin2dTanOblIter in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_Lin2dTanOblIter_swigregister(Geom2dGcc_Lin2dTanOblIter)
class Geom2dGcc_QCurve(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):
        r"""

        Parameters
        ----------
        Curve: Geom2dAdaptor_Curve
        Qualifier: GccEnt_Position

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _Geom2dGcc.Geom2dGcc_QCurve_swiginit(self, _Geom2dGcc.new_Geom2dGcc_QCurve(*args))

    def IsEnclosed(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution is Enclosed in the Curv and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_QCurve_IsEnclosed(self, *args)

    def IsEnclosing(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution is Enclosing the Curv and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_QCurve_IsEnclosing(self, *args)

    def IsOutside(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution is Outside the Curv and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_QCurve_IsOutside(self, *args)

    def IsUnqualified(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution is unqualified and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_QCurve_IsUnqualified(self, *args)

    def Qualified(self, *args):
        r"""
        Return
        -------
        Geom2dAdaptor_Curve

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_QCurve_Qualified(self, *args)

    def Qualifier(self, *args):
        r"""
        Return
        -------
        GccEnt_Position

        Description
        -----------
        No available documentation.

        """
        return _Geom2dGcc.Geom2dGcc_QCurve_Qualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_QCurve

# Register Geom2dGcc_QCurve in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_QCurve_swigregister(Geom2dGcc_QCurve)
class Geom2dGcc_QualifiedCurve(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):
        r"""

        Parameters
        ----------
        Curve: Geom2dAdaptor_Curve
        Qualifier: GccEnt_Position

        Return
        -------
        None

        Description
        -----------
        Constructs a qualified curve by assigning the qualifier Qualifier to the curve Curve. Qualifier may be: - GccEnt_enclosing if the solution of a construction algorithm using the qualified curve encloses the curve, or - GccEnt_enclosed if the solution is enclosed by the curve, or - GccEnt_outside if both the solution and the curve are external to one another, or - GccEnt_unqualified if all solutions apply. Note: The interior of a curve is defined as the left-hand side of the curve in relation to its orientation. Warning Curve is an adapted curve, i.e. an object which is an interface between: - the services provided by a 2D curve from the package Geom2d, - and those required on the curve by a computation algorithm. The adapted curve is created in the following way: opencascade::handle<Geom2d_Curve> mycurve = ... ; Geom2dAdaptor_Curve Curve ( mycurve ) ; The qualified curve is then constructed with this object: GccEnt_Position myQualif = GccEnt_outside ; Geom2dGcc_QualifiedCurve myQCurve ( Curve, myQualif ); is private;.

        """
        _Geom2dGcc.Geom2dGcc_QualifiedCurve_swiginit(self, _Geom2dGcc.new_Geom2dGcc_QualifiedCurve(*args))

    def IsEnclosed(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        It returns true if the solution is Enclosed in the Curv and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_QualifiedCurve_IsEnclosed(self, *args)

    def IsEnclosing(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        It returns true if the solution is Enclosing the Curv and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_QualifiedCurve_IsEnclosing(self, *args)

    def IsOutside(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        It returns true if the solution is Outside the Curv and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_QualifiedCurve_IsOutside(self, *args)

    def IsUnqualified(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the solution is unqualified and false in the other cases.

        """
        return _Geom2dGcc.Geom2dGcc_QualifiedCurve_IsUnqualified(self, *args)

    def Qualified(self, *args):
        r"""
        Return
        -------
        Geom2dAdaptor_Curve

        Description
        -----------
        Returns a 2D curve to which the qualifier is assigned. Warning The returned curve is an adapted curve, i.e. an object which is an interface between: - the services provided by a 2D curve from the package Geom2d, - and those required on the curve by a computation algorithm. The Geom2d curve on which the adapted curve is based can be obtained in the following way: myQualifiedCurve = ... ; Geom2dAdaptor_Curve myAdaptedCurve = myQualifiedCurve.Qualified(); opencascade::handle<Geom2d_Curve> = myAdaptedCurve.Curve();.

        """
        return _Geom2dGcc.Geom2dGcc_QualifiedCurve_Qualified(self, *args)

    def Qualifier(self, *args):
        r"""
        Return
        -------
        GccEnt_Position

        Description
        -----------
        Returns - the qualifier of this qualified curve if it is enclosing, enclosed or outside, or - GccEnt_noqualifier if it is unqualified.

        """
        return _Geom2dGcc.Geom2dGcc_QualifiedCurve_Qualifier(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Geom2dGcc.delete_Geom2dGcc_QualifiedCurve

# Register Geom2dGcc_QualifiedCurve in _Geom2dGcc:
_Geom2dGcc.Geom2dGcc_QualifiedCurve_swigregister(Geom2dGcc_QualifiedCurve)

@classnotwrapped
class Geom2dGcc_FunctionTanCuCuCu:
	pass





@deprecated
def geom2dgcc_Enclosed(*args):
	return geom2dgcc.Enclosed(*args)

@deprecated
def geom2dgcc_Enclosing(*args):
	return geom2dgcc.Enclosing(*args)

@deprecated
def geom2dgcc_Outside(*args):
	return geom2dgcc.Outside(*args)

@deprecated
def geom2dgcc_Unqualified(*args):
	return geom2dgcc.Unqualified(*args)

@deprecated
def Geom2dGcc_CurveTool_D1(*args):
	return Geom2dGcc_CurveTool.D1(*args)

@deprecated
def Geom2dGcc_CurveTool_D2(*args):
	return Geom2dGcc_CurveTool.D2(*args)

@deprecated
def Geom2dGcc_CurveTool_D3(*args):
	return Geom2dGcc_CurveTool.D3(*args)

@deprecated
def Geom2dGcc_CurveTool_EpsX(*args):
	return Geom2dGcc_CurveTool.EpsX(*args)

@deprecated
def Geom2dGcc_CurveTool_FirstParameter(*args):
	return Geom2dGcc_CurveTool.FirstParameter(*args)

@deprecated
def Geom2dGcc_CurveTool_LastParameter(*args):
	return Geom2dGcc_CurveTool.LastParameter(*args)

@deprecated
def Geom2dGcc_CurveTool_NbSamples(*args):
	return Geom2dGcc_CurveTool.NbSamples(*args)

@deprecated
def Geom2dGcc_CurveTool_Value(*args):
	return Geom2dGcc_CurveTool.Value(*args)



