# 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.

"""
BRepOffset module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_brepoffset.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 _BRepOffset
else:
    import _BRepOffset

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__ = _BRepOffset.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _BRepOffset:
_BRepOffset.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 _BRepOffset.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 = _BRepOffset.ios_base_erase_event
    imbue_event = _BRepOffset.ios_base_imbue_event
    copyfmt_event = _BRepOffset.ios_base_copyfmt_event

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register ios in _BRepOffset:
_BRepOffset.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):
        _BRepOffset.ostream_swiginit(self, _BRepOffset.new_ostream(__sb))
    __swig_destroy__ = _BRepOffset.delete_ostream

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

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

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

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

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

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

# Register ostream in _BRepOffset:
_BRepOffset.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):
        _BRepOffset.istream_swiginit(self, _BRepOffset.new_istream(__sb))
    __swig_destroy__ = _BRepOffset.delete_istream

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register istream in _BRepOffset:
_BRepOffset.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):
        _BRepOffset.iostream_swiginit(self, _BRepOffset.new_iostream(__sb))
    __swig_destroy__ = _BRepOffset.delete_iostream

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

endl_cb_ptr = _BRepOffset.endl_cb_ptr
endl = _BRepOffset.endl
ends_cb_ptr = _BRepOffset.ends_cb_ptr
ends = _BRepOffset.ends
flush_cb_ptr = _BRepOffset.flush_cb_ptr
flush = _BRepOffset.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.Geom
import OCC.Core.gp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.TopTools
import OCC.Core.ChFiDS
import OCC.Core.Adaptor3d
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Law
import OCC.Core.BRepAlgo
import OCC.Core.BRepTools
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.BRep
import OCC.Core.Poly
import OCC.Core.TShort

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

BRepOffset_NoError = _BRepOffset.BRepOffset_NoError
BRepOffset_UnknownError = _BRepOffset.BRepOffset_UnknownError
BRepOffset_BadNormalsOnGeometry = _BRepOffset.BRepOffset_BadNormalsOnGeometry
BRepOffset_C0Geometry = _BRepOffset.BRepOffset_C0Geometry
BRepOffset_NullOffset = _BRepOffset.BRepOffset_NullOffset
BRepOffset_NotConnectedShell = _BRepOffset.BRepOffset_NotConnectedShell
BRepOffset_CannotTrimEdges = _BRepOffset.BRepOffset_CannotTrimEdges
BRepOffset_CannotFuseVertices = _BRepOffset.BRepOffset_CannotFuseVertices
BRepOffset_CannotExtentEdge = _BRepOffset.BRepOffset_CannotExtentEdge
BRepOffset_UserBreak = _BRepOffset.BRepOffset_UserBreak
BRepOffset_MixedConnectivity = _BRepOffset.BRepOffset_MixedConnectivity
BRepOffsetSimple_OK = _BRepOffset.BRepOffsetSimple_OK
BRepOffsetSimple_NullInputShape = _BRepOffset.BRepOffsetSimple_NullInputShape
BRepOffsetSimple_ErrorOffsetComputation = _BRepOffset.BRepOffsetSimple_ErrorOffsetComputation
BRepOffsetSimple_ErrorWallFaceComputation = _BRepOffset.BRepOffsetSimple_ErrorWallFaceComputation
BRepOffsetSimple_ErrorInvalidNbShells = _BRepOffset.BRepOffsetSimple_ErrorInvalidNbShells
BRepOffsetSimple_ErrorNonClosedShell = _BRepOffset.BRepOffsetSimple_ErrorNonClosedShell
BRepOffset_Skin = _BRepOffset.BRepOffset_Skin
BRepOffset_Pipe = _BRepOffset.BRepOffset_Pipe
BRepOffset_RectoVerso = _BRepOffset.BRepOffset_RectoVerso
BRepOffset_Good = _BRepOffset.BRepOffset_Good
BRepOffset_Reversed = _BRepOffset.BRepOffset_Reversed
BRepOffset_Degenerated = _BRepOffset.BRepOffset_Degenerated
BRepOffset_Unknown = _BRepOffset.BRepOffset_Unknown


class BRepOffset_Error(IntEnum):
	BRepOffset_NoError = 0
	BRepOffset_UnknownError = 1
	BRepOffset_BadNormalsOnGeometry = 2
	BRepOffset_C0Geometry = 3
	BRepOffset_NullOffset = 4
	BRepOffset_NotConnectedShell = 5
	BRepOffset_CannotTrimEdges = 6
	BRepOffset_CannotFuseVertices = 7
	BRepOffset_CannotExtentEdge = 8
	BRepOffset_UserBreak = 9
	BRepOffset_MixedConnectivity = 10
BRepOffset_NoError = BRepOffset_Error.BRepOffset_NoError
BRepOffset_UnknownError = BRepOffset_Error.BRepOffset_UnknownError
BRepOffset_BadNormalsOnGeometry = BRepOffset_Error.BRepOffset_BadNormalsOnGeometry
BRepOffset_C0Geometry = BRepOffset_Error.BRepOffset_C0Geometry
BRepOffset_NullOffset = BRepOffset_Error.BRepOffset_NullOffset
BRepOffset_NotConnectedShell = BRepOffset_Error.BRepOffset_NotConnectedShell
BRepOffset_CannotTrimEdges = BRepOffset_Error.BRepOffset_CannotTrimEdges
BRepOffset_CannotFuseVertices = BRepOffset_Error.BRepOffset_CannotFuseVertices
BRepOffset_CannotExtentEdge = BRepOffset_Error.BRepOffset_CannotExtentEdge
BRepOffset_UserBreak = BRepOffset_Error.BRepOffset_UserBreak
BRepOffset_MixedConnectivity = BRepOffset_Error.BRepOffset_MixedConnectivity

class BRepOffsetSimple_Status(IntEnum):
	BRepOffsetSimple_OK = 0
	BRepOffsetSimple_NullInputShape = 1
	BRepOffsetSimple_ErrorOffsetComputation = 2
	BRepOffsetSimple_ErrorWallFaceComputation = 3
	BRepOffsetSimple_ErrorInvalidNbShells = 4
	BRepOffsetSimple_ErrorNonClosedShell = 5
BRepOffsetSimple_OK = BRepOffsetSimple_Status.BRepOffsetSimple_OK
BRepOffsetSimple_NullInputShape = BRepOffsetSimple_Status.BRepOffsetSimple_NullInputShape
BRepOffsetSimple_ErrorOffsetComputation = BRepOffsetSimple_Status.BRepOffsetSimple_ErrorOffsetComputation
BRepOffsetSimple_ErrorWallFaceComputation = BRepOffsetSimple_Status.BRepOffsetSimple_ErrorWallFaceComputation
BRepOffsetSimple_ErrorInvalidNbShells = BRepOffsetSimple_Status.BRepOffsetSimple_ErrorInvalidNbShells
BRepOffsetSimple_ErrorNonClosedShell = BRepOffsetSimple_Status.BRepOffsetSimple_ErrorNonClosedShell

class BRepOffset_Mode(IntEnum):
	BRepOffset_Skin = 0
	BRepOffset_Pipe = 1
	BRepOffset_RectoVerso = 2
BRepOffset_Skin = BRepOffset_Mode.BRepOffset_Skin
BRepOffset_Pipe = BRepOffset_Mode.BRepOffset_Pipe
BRepOffset_RectoVerso = BRepOffset_Mode.BRepOffset_RectoVerso

class BRepOffset_Status(IntEnum):
	BRepOffset_Good = 0
	BRepOffset_Reversed = 1
	BRepOffset_Degenerated = 2
	BRepOffset_Unknown = 3
BRepOffset_Good = BRepOffset_Status.BRepOffset_Good
BRepOffset_Reversed = BRepOffset_Status.BRepOffset_Reversed
BRepOffset_Degenerated = BRepOffset_Status.BRepOffset_Degenerated
BRepOffset_Unknown = BRepOffset_Status.BRepOffset_Unknown


def Handle_BRepOffset_SimpleOffset_Create():
    return _BRepOffset.Handle_BRepOffset_SimpleOffset_Create()

def Handle_BRepOffset_SimpleOffset_DownCast(t):
    return _BRepOffset.Handle_BRepOffset_SimpleOffset_DownCast(t)

def Handle_BRepOffset_SimpleOffset_IsNull(t):
    return _BRepOffset.Handle_BRepOffset_SimpleOffset_IsNull(t)
class BRepOffset_DataMapOfShapeListOfInterval(OCC.Core.NCollection.NCollection_BaseMap):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_begin(self)

    def end(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_end(self)

    def cbegin(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_cbegin(self)

    def cend(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_cend(self)

    def __init__(self, *args):
        _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_swiginit(self, _BRepOffset.new_BRepOffset_DataMapOfShapeListOfInterval(*args))

    def Exchange(self, theOther):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Exchange(self, theOther)

    def Assign(self, theOther):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Assign(self, theOther)

    def Set(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Set(self, *args)

    def ReSize(self, N):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_ReSize(self, N)

    def Bind(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Bind(self, *args)

    def Bound(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Bound(self, *args)

    def IsBound(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_UnBind(self, theKey)

    def Seek(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Seek(self, theKey)

    def Find(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval___call__(self, *args)

    def Clear(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Clear(self, *args)
    __swig_destroy__ = _BRepOffset.delete_BRepOffset_DataMapOfShapeListOfInterval

    def Size(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Size(self)

# Register BRepOffset_DataMapOfShapeListOfInterval in _BRepOffset:
_BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_swigregister(BRepOffset_DataMapOfShapeListOfInterval)
class BRepOffset_DataMapOfShapeMapOfShape(OCC.Core.NCollection.NCollection_BaseMap):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_begin(self)

    def end(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_end(self)

    def cbegin(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_cbegin(self)

    def cend(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_cend(self)

    def __init__(self, *args):
        _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_swiginit(self, _BRepOffset.new_BRepOffset_DataMapOfShapeMapOfShape(*args))

    def Exchange(self, theOther):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Assign(self, theOther)

    def Set(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Set(self, *args)

    def ReSize(self, N):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_ReSize(self, N)

    def Bind(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Bind(self, *args)

    def Bound(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Bound(self, *args)

    def IsBound(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Seek(self, theKey)

    def Find(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape___call__(self, *args)

    def Clear(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Clear(self, *args)
    __swig_destroy__ = _BRepOffset.delete_BRepOffset_DataMapOfShapeMapOfShape

    def Size(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Size(self)

# Register BRepOffset_DataMapOfShapeMapOfShape in _BRepOffset:
_BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_swigregister(BRepOffset_DataMapOfShapeMapOfShape)
class BRepOffset_DataMapOfShapeOffset(OCC.Core.NCollection.NCollection_BaseMap):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_begin(self)

    def end(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_end(self)

    def cbegin(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_cbegin(self)

    def cend(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_cend(self)

    def __init__(self, *args):
        _BRepOffset.BRepOffset_DataMapOfShapeOffset_swiginit(self, _BRepOffset.new_BRepOffset_DataMapOfShapeOffset(*args))

    def Exchange(self, theOther):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Exchange(self, theOther)

    def Assign(self, theOther):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Assign(self, theOther)

    def Set(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Set(self, *args)

    def ReSize(self, N):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_ReSize(self, N)

    def Bind(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Bind(self, *args)

    def Bound(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Bound(self, *args)

    def IsBound(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_UnBind(self, theKey)

    def Seek(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Seek(self, theKey)

    def Find(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset___call__(self, *args)

    def Clear(self, *args):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Clear(self, *args)
    __swig_destroy__ = _BRepOffset.delete_BRepOffset_DataMapOfShapeOffset

    def Size(self):
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Size(self)

# Register BRepOffset_DataMapOfShapeOffset in _BRepOffset:
_BRepOffset.BRepOffset_DataMapOfShapeOffset_swigregister(BRepOffset_DataMapOfShapeOffset)
class BRepOffset_ListIteratorOfListOfInterval(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):
        _BRepOffset.BRepOffset_ListIteratorOfListOfInterval_swiginit(self, _BRepOffset.new_BRepOffset_ListIteratorOfListOfInterval(*args))

    def More(self):
        return _BRepOffset.BRepOffset_ListIteratorOfListOfInterval_More(self)

    def Next(self):
        return _BRepOffset.BRepOffset_ListIteratorOfListOfInterval_Next(self)

    def Value(self):
        return _BRepOffset.BRepOffset_ListIteratorOfListOfInterval_Value(self)

    def ChangeValue(self):
        return _BRepOffset.BRepOffset_ListIteratorOfListOfInterval_ChangeValue(self)
    __swig_destroy__ = _BRepOffset.delete_BRepOffset_ListIteratorOfListOfInterval

# Register BRepOffset_ListIteratorOfListOfInterval in _BRepOffset:
_BRepOffset.BRepOffset_ListIteratorOfListOfInterval_swigregister(BRepOffset_ListIteratorOfListOfInterval)
class BRepOffset_ListOfInterval(OCC.Core.NCollection.NCollection_BaseList):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _BRepOffset.BRepOffset_ListOfInterval_begin(self)

    def end(self):
        return _BRepOffset.BRepOffset_ListOfInterval_end(self)

    def cbegin(self):
        return _BRepOffset.BRepOffset_ListOfInterval_cbegin(self)

    def cend(self):
        return _BRepOffset.BRepOffset_ListOfInterval_cend(self)

    def __init__(self, *args):
        _BRepOffset.BRepOffset_ListOfInterval_swiginit(self, _BRepOffset.new_BRepOffset_ListOfInterval(*args))

    def Size(self):
        return _BRepOffset.BRepOffset_ListOfInterval_Size(self)

    def Assign(self, theOther):
        return _BRepOffset.BRepOffset_ListOfInterval_Assign(self, theOther)

    def Set(self, *args):
        return _BRepOffset.BRepOffset_ListOfInterval_Set(self, *args)

    def Clear(self, theAllocator=0):
        return _BRepOffset.BRepOffset_ListOfInterval_Clear(self, theAllocator)

    def First(self):
        return _BRepOffset.BRepOffset_ListOfInterval_First(self)

    def Last(self):
        return _BRepOffset.BRepOffset_ListOfInterval_Last(self)

    def Append(self, *args):
        return _BRepOffset.BRepOffset_ListOfInterval_Append(self, *args)

    def Prepend(self, *args):
        return _BRepOffset.BRepOffset_ListOfInterval_Prepend(self, *args)

    def RemoveFirst(self):
        return _BRepOffset.BRepOffset_ListOfInterval_RemoveFirst(self)

    def Remove(self, theIter):
        return _BRepOffset.BRepOffset_ListOfInterval_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _BRepOffset.BRepOffset_ListOfInterval_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _BRepOffset.BRepOffset_ListOfInterval_InsertAfter(self, *args)

    def Reverse(self):
        return _BRepOffset.BRepOffset_ListOfInterval_Reverse(self)
    __swig_destroy__ = _BRepOffset.delete_BRepOffset_ListOfInterval

    def __len__(self):
        return self.Size()


# Register BRepOffset_ListOfInterval in _BRepOffset:
_BRepOffset.BRepOffset_ListOfInterval_swigregister(BRepOffset_ListOfInterval)
class brepoffset(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theSurface: Geom_Surface
        theFace: TopoDS_Face
        thePrecision: float

        Return
        -------
        opencascade::handle<Geom_Surface>

        Description
        -----------
        Preprocess surface to be offset (bspline, bezier, or revolution based on bspline or bezier curve), by collapsing each singular side to single point. //! This is to avoid possible flipping of normal at the singularity of the surface due to non-zero distance between the poles that logically should be in one point (singularity). //! The (parametric) side of the surface is considered to be singularity if face has degenerated edge whose vertex encompasses (by its tolerance) all points on that side, or if all poles defining that side fit into sphere with radius thePrecision. //! Returns either original surface or its modified copy (if some poles have been moved).

        """
        return _BRepOffset.brepoffset_CollapseSingularities(*args)

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

        Parameters
        ----------
        Surface: Geom_Surface
        Offset: float
        allowC0: bool (optional, default to Standard_False)

        Return
        -------
        theStatus: BRepOffset_Status

        Description
        -----------
        returns the Offset surface computed from the surface <Surface> at an OffsetDistance <Offset>. //! If possible, this method returns the real type of the surface ( e.g. An Offset of a plane is a plane). //! If no particular case is detected, the returned surface will have the Type Geom_OffsetSurface. Parameter allowC0 is then passed as last argument to constructor of Geom_OffsetSurface.

        """
        return _BRepOffset.brepoffset_Surface(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _BRepOffset.brepoffset_swiginit(self, _BRepOffset.new_brepoffset())
    __swig_destroy__ = _BRepOffset.delete_brepoffset

# Register brepoffset in _BRepOffset:
_BRepOffset.brepoffset_swigregister(brepoffset)
class BRepOffset_Analyse(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"""
        Return
        -------
        None

        Description
        -----------
        Empty c-tor.

        Parameters
        ----------
        theS: TopoDS_Shape
        theAngle: float

        Return
        -------
        None

        Description
        -----------
        C-tor performing the job inside.

        """
        _BRepOffset.BRepOffset_Analyse_swiginit(self, _BRepOffset.new_BRepOffset_Analyse(*args))

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

        Parameters
        ----------
        theFace: TopoDS_Face
        theCo: TopoDS_Compound
        theMap: TopTools_MapOfShape
        theType: ChFiDS_TypeOfConcavity

        Return
        -------
        None

        Description
        -----------
        Add in <CO> the faces of the shell containing <Face> where all the connex edges are of type <Side>.

        Parameters
        ----------
        theFace: TopoDS_Face
        theCo: TopoDS_Compound
        theMap: TopTools_MapOfShape
        theType1: ChFiDS_TypeOfConcavity
        theType2: ChFiDS_TypeOfConcavity

        Return
        -------
        None

        Description
        -----------
        Add in <CO> the faces of the shell containing <Face> where all the connex edges are of type <Side1> or <Side2>.

        """
        return _BRepOffset.BRepOffset_Analyse_AddFaces(self, *args)

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

        Parameters
        ----------
        theS: TopoDS_Shape

        Return
        -------
        TopTools_ListOfShape

        Description
        -----------
        Returns ancestors for the shape.

        """
        return _BRepOffset.BRepOffset_Analyse_Ancestors(self, *args)

    def Clear(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Clears the content of the algorithm.

        """
        return _BRepOffset.BRepOffset_Analyse_Clear(self, *args)

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

        Parameters
        ----------
        theS: TopoDS_Shape
        theUpdate: bool (optional, default to Standard_False)

        Return
        -------
        TopTools_ListOfShape *

        Description
        -----------
        Returns the shape descendants.

        """
        return _BRepOffset.BRepOffset_Analyse_Descendants(self, *args)

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

        Parameters
        ----------
        theFace: TopoDS_Face
        theEdge: TopoDS_Edge

        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the replacement of the edge in the face. If no replacement exists, returns the edge.

        """
        return _BRepOffset.BRepOffset_Analyse_EdgeReplacement(self, *args)

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

        Parameters
        ----------
        theV: TopoDS_Vertex
        theType: ChFiDS_TypeOfConcavity
        theL: TopTools_ListOfShape

        Return
        -------
        None

        Description
        -----------
        Stores in <L> all the edges of Type <T> on the vertex <V>.

        Parameters
        ----------
        theF: TopoDS_Face
        theType: ChFiDS_TypeOfConcavity
        theL: TopTools_ListOfShape

        Return
        -------
        None

        Description
        -----------
        Stores in <L> all the edges of Type <T> on the face <F>.

        """
        return _BRepOffset.BRepOffset_Analyse_Edges(self, *args)

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

        Parameters
        ----------
        theL: TopTools_ListOfShape
        theType: ChFiDS_TypeOfConcavity

        Return
        -------
        None

        Description
        -----------
        Explode in compounds of faces where all the connex edges are of type <Side>.

        Parameters
        ----------
        theL: TopTools_ListOfShape
        theType1: ChFiDS_TypeOfConcavity
        theType2: ChFiDS_TypeOfConcavity

        Return
        -------
        None

        Description
        -----------
        Explode in compounds of faces where all the connex edges are of type <Side1> or <Side2>.

        """
        return _BRepOffset.BRepOffset_Analyse_Explode(self, *args)

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

        Parameters
        ----------
        theS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the new face constructed for the edge connecting the two tangent faces having different offset values.

        """
        return _BRepOffset.BRepOffset_Analyse_Generated(self, *args)

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

        Parameters
        ----------
        theS: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Checks if the given shape has ancestors.

        """
        return _BRepOffset.BRepOffset_Analyse_HasAncestor(self, *args)

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

        Parameters
        ----------
        theS: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Checks if the edge has generated a new face.

        """
        return _BRepOffset.BRepOffset_Analyse_HasGenerated(self, *args)

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

        Description
        -----------
        Returns status of the algorithm.

        """
        return _BRepOffset.BRepOffset_Analyse_IsDone(self, *args)

    def NewFaces(self, *args):
        r"""
        Return
        -------
        TopTools_ListOfShape

        Description
        -----------
        Returns the new faces constructed between tangent faces having different offset values on the shape.

        """
        return _BRepOffset.BRepOffset_Analyse_NewFaces(self, *args)

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

        Parameters
        ----------
        theS: TopoDS_Shape
        theAngle: float
        theRange: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        None

        Description
        -----------
        Performs the analysis.

        """
        return _BRepOffset.BRepOffset_Analyse_Perform(self, *args)

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

        Parameters
        ----------
        theMap: TopTools_DataMapOfShapeReal

        Return
        -------
        None

        Description
        -----------
        Sets the face-offset data map to analyze tangential cases.

        """
        return _BRepOffset.BRepOffset_Analyse_SetFaceOffsetMap(self, *args)

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

        Parameters
        ----------
        theOffset: float

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_Analyse_SetOffsetValue(self, *args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theVertex: TopoDS_Vertex
        theEdges: TopTools_ListOfShape

        Return
        -------
        None

        Description
        -----------
        set in <Edges> all the Edges of <Shape> which are tangent to <Edge> at the vertex <Vertex>.

        """
        return _BRepOffset.BRepOffset_Analyse_TangentEdges(self, *args)

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

        Parameters
        ----------
        theE: TopoDS_Edge

        Return
        -------
        BRepOffset_ListOfInterval

        Description
        -----------
        Returns the connectivity type of the edge.

        """
        return _BRepOffset.BRepOffset_Analyse_Type(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepOffset.delete_BRepOffset_Analyse

# Register BRepOffset_Analyse in _BRepOffset:
_BRepOffset.BRepOffset_Analyse_swigregister(BRepOffset_Analyse)
class BRepOffset_Inter2d(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        AsDes: BRepAlgo_AsDes
        F: TopoDS_Face
        NewEdges: TopTools_IndexedMapOfShape
        Tol: float
        theEdgeIntEdges: TopTools_DataMapOfShapeListOfShape
        theDMVV: TopTools_IndexedDataMapOfShapeListOfShape
        theRange: Message_ProgressRange

        Return
        -------
        None

        Description
        -----------
        Computes the intersections between the edges stored is AsDes as descendants of <F> . Intersections is computed between two edges if one of them is bound in NewEdges. When all faces of the shape are treated the intersection vertices have to be fused using the FuseVertices method. theDMVV contains the vertices that should be fused.

        """
        return _BRepOffset.BRepOffset_Inter2d_Compute(*args)

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

        Parameters
        ----------
        FI: TopoDS_Face
        OFI: BRepOffset_Offset
        MES: TopTools_DataMapOfShapeShape
        Build: TopTools_DataMapOfShapeShape
        theAsDes: BRepAlgo_AsDes
        AsDes2d: BRepAlgo_AsDes
        Offset: float
        Tol: float
        Analyse: BRepOffset_Analyse
        FacesWithVerts: TopTools_IndexedMapOfShape
        theImageVV: BRepAlgo_Image
        theEdgeIntEdges: TopTools_DataMapOfShapeListOfShape
        theDMVV: TopTools_IndexedDataMapOfShapeListOfShape
        theRange: Message_ProgressRange

        Return
        -------
        bool

        Description
        -----------
        Computes the intersection between the offset edges of the <FI>. All intersection vertices will be stored in AsDes2d. When all faces of the shape are treated the intersection vertices have to be fused using the FuseVertices method. theDMVV contains the vertices that should be fused.

        """
        return _BRepOffset.BRepOffset_Inter2d_ConnexIntByInt(*args)

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

        Parameters
        ----------
        FI: TopoDS_Face
        OFI: BRepOffset_Offset
        MES: TopTools_DataMapOfShapeShape
        Build: TopTools_DataMapOfShapeShape
        AsDes: BRepAlgo_AsDes
        AsDes2d: BRepAlgo_AsDes
        Tol: float
        Analyse: BRepOffset_Analyse
        theDMVV: TopTools_IndexedDataMapOfShapeListOfShape
        theRange: Message_ProgressRange

        Return
        -------
        None

        Description
        -----------
        Computes the intersection between the offset edges generated from vertices and stored into AsDes as descendants of the <FI>. All intersection vertices will be stored in AsDes2d. When all faces of the shape are treated the intersection vertices have to be fused using the FuseVertices method. theDMVV contains the vertices that should be fused.

        """
        return _BRepOffset.BRepOffset_Inter2d_ConnexIntByIntInVert(*args)

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

        Parameters
        ----------
        E: TopoDS_Edge
        NE: TopoDS_Edge
        theOffset: float

        Return
        -------
        bool

        Description
        -----------
        extents the edge.

        """
        return _BRepOffset.BRepOffset_Inter2d_ExtentEdge(*args)

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

        Parameters
        ----------
        theDMVV: TopTools_IndexedDataMapOfShapeListOfShape
        theAsDes: BRepAlgo_AsDes
        theImageVV: BRepAlgo_Image

        Return
        -------
        bool

        Description
        -----------
        Fuses the chains of vertices in the theDMVV and updates AsDes by replacing the old vertices with the new ones.

        """
        return _BRepOffset.BRepOffset_Inter2d_FuseVertices(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _BRepOffset.BRepOffset_Inter2d_swiginit(self, _BRepOffset.new_BRepOffset_Inter2d())
    __swig_destroy__ = _BRepOffset.delete_BRepOffset_Inter2d

# Register BRepOffset_Inter2d in _BRepOffset:
_BRepOffset.BRepOffset_Inter2d_swigregister(BRepOffset_Inter2d)
class BRepOffset_Inter3d(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
        ----------
        AsDes: BRepAlgo_AsDes
        Side: TopAbs_State
        Tol: float

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _BRepOffset.BRepOffset_Inter3d_swiginit(self, _BRepOffset.new_BRepOffset_Inter3d(*args))

    def AsDes(self, *args):
        r"""
        Return
        -------
        opencascade::handle<BRepAlgo_AsDes>

        Description
        -----------
        Returns AsDes tool.

        """
        return _BRepOffset.BRepOffset_Inter3d_AsDes(self, *args)

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

        Parameters
        ----------
        SetOfFaces: TopTools_ListOfShape
        InitOffsetFace: BRepAlgo_Image
        theRange: Message_ProgressRange

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_Inter3d_CompletInt(self, *args)

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

        Parameters
        ----------
        SetOfFaces: TopTools_ListOfShape
        ShapeInit: TopoDS_Shape
        Analyse: BRepOffset_Analyse
        InitOffsetFace: BRepAlgo_Image
        theRange: Message_ProgressRange

        Return
        -------
        None

        Description
        -----------
        Computes connections of the offset faces that have to be connected by arcs.

        """
        return _BRepOffset.BRepOffset_Inter3d_ConnexIntByArc(self, *args)

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

        Parameters
        ----------
        SI: TopoDS_Shape
        MapSF: BRepOffset_DataMapOfShapeOffset
        A: BRepOffset_Analyse
        MES: TopTools_DataMapOfShapeShape
        Build: TopTools_DataMapOfShapeShape
        Failed: TopTools_ListOfShape
        theRange: Message_ProgressRange
        bIsPlanar: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Computes intersection of the offset faces that have to be connected by sharp edges, i.e. it computes intersection between extended offset faces.

        """
        return _BRepOffset.BRepOffset_Inter3d_ConnexIntByInt(self, *args)

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

        Parameters
        ----------
        ContextFaces: TopTools_IndexedMapOfShape
        ExtentContext: bool
        Analyse: BRepOffset_Analyse
        InitOffsetFace: BRepAlgo_Image
        InitOffsetEdge: BRepAlgo_Image
        theRange: Message_ProgressRange

        Return
        -------
        None

        Description
        -----------
        Computes connections of the not offset faces that have to be connected by arcs.

        """
        return _BRepOffset.BRepOffset_Inter3d_ContextIntByArc(self, *args)

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

        Parameters
        ----------
        ContextFaces: TopTools_IndexedMapOfShape
        ExtentContext: bool
        MapSF: BRepOffset_DataMapOfShapeOffset
        A: BRepOffset_Analyse
        MES: TopTools_DataMapOfShapeShape
        Build: TopTools_DataMapOfShapeShape
        Failed: TopTools_ListOfShape
        theRange: Message_ProgressRange
        bIsPlanar: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Computes intersection with not offset faces .

        """
        return _BRepOffset.BRepOffset_Inter3d_ContextIntByInt(self, *args)

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

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face
        InitOffsetFace: BRepAlgo_Image

        Return
        -------
        None

        Description
        -----------
        Computes intersection of pair of faces.

        """
        return _BRepOffset.BRepOffset_Inter3d_FaceInter(self, *args)

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

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face

        Return
        -------
        bool

        Description
        -----------
        Checks if the pair of faces has already been treated.

        """
        return _BRepOffset.BRepOffset_Inter3d_IsDone(self, *args)

    def NewEdges(self, *args):
        r"""
        Return
        -------
        TopTools_IndexedMapOfShape

        Description
        -----------
        Returns new edges.

        """
        return _BRepOffset.BRepOffset_Inter3d_NewEdges(self, *args)

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

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Marks the pair of faces as already intersected.

        """
        return _BRepOffset.BRepOffset_Inter3d_SetDone(self, *args)

    def TouchedFaces(self, *args):
        r"""
        Return
        -------
        TopTools_IndexedMapOfShape

        Description
        -----------
        Returns touched faces.

        """
        return _BRepOffset.BRepOffset_Inter3d_TouchedFaces(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepOffset.delete_BRepOffset_Inter3d

# Register BRepOffset_Inter3d in _BRepOffset:
_BRepOffset.BRepOffset_Inter3d_swigregister(BRepOffset_Inter3d)
class BRepOffset_Interval(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"""
        Return
        -------
        None

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

        Parameters
        ----------
        U1: float
        U2: float
        Type: ChFiDS_TypeOfConcavity

        Return
        -------
        None

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

        """
        _BRepOffset.BRepOffset_Interval_swiginit(self, _BRepOffset.new_BRepOffset_Interval(*args))

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

        Parameters
        ----------
        U: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        float

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

        """
        return _BRepOffset.BRepOffset_Interval_First(self, *args)

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

        Parameters
        ----------
        U: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        float

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

        """
        return _BRepOffset.BRepOffset_Interval_Last(self, *args)

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

        Parameters
        ----------
        T: ChFiDS_TypeOfConcavity

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        ChFiDS_TypeOfConcavity

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

        """
        return _BRepOffset.BRepOffset_Interval_Type(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepOffset.delete_BRepOffset_Interval

# Register BRepOffset_Interval in _BRepOffset:
_BRepOffset.BRepOffset_Interval_swigregister(BRepOffset_Interval)
class BRepOffset_MakeLoops(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"""
        Return
        -------
        None

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

        """
        _BRepOffset.BRepOffset_MakeLoops_swiginit(self, _BRepOffset.new_BRepOffset_MakeLoops(*args))

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

        Parameters
        ----------
        LF: TopTools_ListOfShape
        AsDes: BRepAlgo_AsDes
        Image: BRepAlgo_Image
        theImageVV: BRepAlgo_Image
        theRange: Message_ProgressRange

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_MakeLoops_Build(self, *args)

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

        Parameters
        ----------
        LF: TopTools_ListOfShape
        AsDes: BRepAlgo_AsDes
        Image: BRepAlgo_Image
        theRange: Message_ProgressRange

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_MakeLoops_BuildFaces(self, *args)

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

        Parameters
        ----------
        LContext: TopTools_ListOfShape
        Analyse: BRepOffset_Analyse
        AsDes: BRepAlgo_AsDes
        Image: BRepAlgo_Image
        InSide: bool
        theRange: Message_ProgressRange

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_MakeLoops_BuildOnContext(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepOffset.delete_BRepOffset_MakeLoops

# Register BRepOffset_MakeLoops in _BRepOffset:
_BRepOffset.BRepOffset_MakeLoops_swigregister(BRepOffset_MakeLoops)
class BRepOffset_MakeOffset(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"""
        Return
        -------
        None

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

        Parameters
        ----------
        S: TopoDS_Shape
        Offset: float
        Tol: float
        Mode: BRepOffset_Mode (optional, default to BRepOffset_Skin)
        Intersection: bool (optional, default to Standard_False)
        SelfInter: bool (optional, default to Standard_False)
        Join: GeomAbs_JoinType (optional, default to GeomAbs_Arc)
        Thickening: bool (optional, default to Standard_False)
        RemoveIntEdges: bool (optional, default to Standard_False)
        theRange: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        None

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

        """
        _BRepOffset.BRepOffset_MakeOffset_swiginit(self, _BRepOffset.new_BRepOffset_MakeOffset(*args))

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

        Parameters
        ----------
        F: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Add Closing Faces, <F> has to be in the initial shape S.

        """
        return _BRepOffset.BRepOffset_MakeOffset_AddFace(self, *args)

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

        Parameters
        ----------
        theIsAllowed: bool

        Return
        -------
        None

        Description
        -----------
        Changes the flag allowing the linearization.

        """
        return _BRepOffset.BRepOffset_MakeOffset_AllowLinearization(self, *args)

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

        Parameters
        ----------
        theRange: Message_ProgressRange

        Return
        -------
        bool

        Description
        -----------
        Makes pre analysis of possibility offset perform. Use method Error() to get more information. Finds first error. List of checks: 1) Check for existence object with non-null offset. 2) Check for connectivity in offset shell. 3) Check continuity of input surfaces. 4) Check for normals existence on grid. 
        Return: True if possible make computations and false otherwise.

        """
        return _BRepOffset.BRepOffset_MakeOffset_CheckInputData(self, *args)

    def Clear(self, *args):
        r"""
        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_MakeOffset_Clear(self, *args)

    def ClosingFaces(self, *args):
        r"""
        Return
        -------
        TopTools_IndexedMapOfShape

        Description
        -----------
        Returns the list of closing faces stores by AddFace.

        """
        return _BRepOffset.BRepOffset_MakeOffset_ClosingFaces(self, *args)

    def Error(self, *args):
        r"""
        Return
        -------
        BRepOffset_Error

        Description
        -----------
        returns information about offset state.

        """
        return _BRepOffset.BRepOffset_MakeOffset_Error(self, *args)

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

        Parameters
        ----------
        theS: TopoDS_Shape

        Return
        -------
        TopTools_ListOfShape

        Description
        -----------
        Returns the list of shapes generated from the shape <S>.

        """
        return _BRepOffset.BRepOffset_MakeOffset_Generated(self, *args)

    def GetBadShape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Return bad shape, which obtained in CheckInputData.

        """
        return _BRepOffset.BRepOffset_MakeOffset_GetBadShape(self, *args)

    def GetJoinType(self, *args):
        r"""
        Return
        -------
        GeomAbs_JoinType

        Description
        -----------
        Returns myJoin.

        """
        return _BRepOffset.BRepOffset_MakeOffset_GetJoinType(self, *args)

    def InitShape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

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

        """
        return _BRepOffset.BRepOffset_MakeOffset_InitShape(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        Offset: float
        Tol: float
        Mode: BRepOffset_Mode (optional, default to BRepOffset_Skin)
        Intersection: bool (optional, default to Standard_False)
        SelfInter: bool (optional, default to Standard_False)
        Join: GeomAbs_JoinType (optional, default to GeomAbs_Arc)
        Thickening: bool (optional, default to Standard_False)
        RemoveIntEdges: bool (optional, default to Standard_False)

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_MakeOffset_Initialize(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Returns true if the shape S has been deleted.

        """
        return _BRepOffset.BRepOffset_MakeOffset_IsDeleted(self, *args)

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

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

        """
        return _BRepOffset.BRepOffset_MakeOffset_IsDone(self, *args)

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

        Parameters
        ----------
        theRange: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_MakeOffset_MakeOffsetShape(self, *args)

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

        Parameters
        ----------
        theRange: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_MakeOffset_MakeThickSolid(self, *args)

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

        Parameters
        ----------
        theS: TopoDS_Shape

        Return
        -------
        TopTools_ListOfShape

        Description
        -----------
        Returns the list of shapes modified from the shape <S>.

        """
        return _BRepOffset.BRepOffset_MakeOffset_Modified(self, *args)

    def OffsetEdgesFromShapes(self, *args):
        r"""
        Return
        -------
        BRepAlgo_Image

        Description
        -----------
        Returns <Image> containing links between initials shapes and offset edges.

        """
        return _BRepOffset.BRepOffset_MakeOffset_OffsetEdgesFromShapes(self, *args)

    def OffsetFacesFromShapes(self, *args):
        r"""
        Return
        -------
        BRepAlgo_Image

        Description
        -----------
        Returns <Image> containing links between initials shapes and offset faces.

        """
        return _BRepOffset.BRepOffset_MakeOffset_OffsetFacesFromShapes(self, *args)

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

        Parameters
        ----------
        F: TopoDS_Face
        Off: float

        Return
        -------
        None

        Description
        -----------
        set the offset <Off> on the Face <F>.

        """
        return _BRepOffset.BRepOffset_MakeOffset_SetOffsetOnFace(self, *args)

    def Shape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

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

        """
        return _BRepOffset.BRepOffset_MakeOffset_Shape(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def GetAnalyse(self):
    	pass

    __swig_destroy__ = _BRepOffset.delete_BRepOffset_MakeOffset

# Register BRepOffset_MakeOffset in _BRepOffset:
_BRepOffset.BRepOffset_MakeOffset_swigregister(BRepOffset_MakeOffset)
class BRepOffset_MakeSimpleOffset(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"""
        Return
        -------
        None

        Description
        -----------
        Constructor. Does nothing.

        Parameters
        ----------
        theInputShape: TopoDS_Shape
        theOffsetValue: float

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _BRepOffset.BRepOffset_MakeSimpleOffset_swiginit(self, _BRepOffset.new_BRepOffset_MakeSimpleOffset(*args))

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

        Parameters
        ----------
        theShape: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns result shape for the given one (if exists).

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_Generated(self, *args)

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

        Description
        -----------
        Gets solid building flag.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_GetBuildSolidFlag(self, *args)

    def GetError(self, *args):
        r"""
        Return
        -------
        BRepOffsetSimple_Status

        Description
        -----------
        Gets error code.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_GetError(self, *args)

    def GetErrorMessage(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Gets error message.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_GetErrorMessage(self, *args)

    def GetOffsetValue(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Gets offset value.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_GetOffsetValue(self, *args)

    def GetResultShape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns result shape.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_GetResultShape(self, *args)

    def GetTolerance(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Gets tolerance (used for handling singularities).

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_GetTolerance(self, *args)

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

        Parameters
        ----------
        theInputShape: TopoDS_Shape
        theOffsetValue: float

        Return
        -------
        None

        Description
        -----------
        Initialise shape for modifications.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_Initialize(self, *args)

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

        Description
        -----------
        Gets done state.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_IsDone(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns modified shape for the given one (if exists).

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_Modified(self, *args)

    def Perform(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Computes offset shape.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_Perform(self, *args)

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

        Parameters
        ----------
        theBuildFlag: bool

        Return
        -------
        None

        Description
        -----------
        Sets solid building flag.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_SetBuildSolidFlag(self, *args)

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

        Parameters
        ----------
        theOffsetValue: float

        Return
        -------
        None

        Description
        -----------
        Sets offset value.

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_SetOffsetValue(self, *args)

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

        Parameters
        ----------
        theValue: float

        Return
        -------
        None

        Description
        -----------
        Sets tolerance (used for handling singularities).

        """
        return _BRepOffset.BRepOffset_MakeSimpleOffset_SetTolerance(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def GetSafeOffset(self):
    	pass

    __swig_destroy__ = _BRepOffset.delete_BRepOffset_MakeSimpleOffset

# Register BRepOffset_MakeSimpleOffset in _BRepOffset:
_BRepOffset.BRepOffset_MakeSimpleOffset_swigregister(BRepOffset_MakeSimpleOffset)
class BRepOffset_Offset(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"""
        Return
        -------
        None

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

        Parameters
        ----------
        Face: TopoDS_Face
        Offset: float
        OffsetOutside: bool (optional, default to Standard_True)
        JoinType: GeomAbs_JoinType (optional, default to GeomAbs_Arc)

        Return
        -------
        None

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

        Parameters
        ----------
        Face: TopoDS_Face
        Offset: float
        Created: TopTools_DataMapOfShapeShape
        OffsetOutside: bool (optional, default to Standard_True)
        JoinType: GeomAbs_JoinType (optional, default to GeomAbs_Arc)

        Return
        -------
        None

        Description
        -----------
        This method will be called when you want to share the edges soon generated from an other face. e.g. when two faces are tangents the common edge will generate only one edge ( no pipe). //! The Map will be fill as follow: //! Created(E) = E' with: E = an edge of <Face> E' = the image of E in the offsetting of another face sharing E with a continuity at least G1.

        Parameters
        ----------
        Path: TopoDS_Edge
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge
        Offset: float
        Polynomial: bool (optional, default to Standard_False)
        Tol: float (optional, default to 1.0e-4)
        Conti: GeomAbs_Shape (optional, default to GeomAbs_C1)

        Return
        -------
        None

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

        Parameters
        ----------
        Path: TopoDS_Edge
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge
        Offset: float
        FirstEdge: TopoDS_Edge
        LastEdge: TopoDS_Edge
        Polynomial: bool (optional, default to Standard_False)
        Tol: float (optional, default to 1.0e-4)
        Conti: GeomAbs_Shape (optional, default to GeomAbs_C1)

        Return
        -------
        None

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

        Parameters
        ----------
        Vertex: TopoDS_Vertex
        LEdge: TopTools_ListOfShape
        Offset: float
        Polynomial: bool (optional, default to Standard_False)
        Tol: float (optional, default to 1.0e-4)
        Conti: GeomAbs_Shape (optional, default to GeomAbs_C1)

        Return
        -------
        None

        Description
        -----------
        Tol and Conti are only used if Polynomial is True (Used to perform the approximation).

        """
        _BRepOffset.BRepOffset_Offset_swiginit(self, _BRepOffset.new_BRepOffset_Offset(*args))

    def Face(self, *args):
        r"""
        Return
        -------
        TopoDS_Face

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

        """
        return _BRepOffset.BRepOffset_Offset_Face(self, *args)

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

        Parameters
        ----------
        Shape: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

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

        """
        return _BRepOffset.BRepOffset_Offset_Generated(self, *args)

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

        Parameters
        ----------
        Face: TopoDS_Face
        Offset: float
        OffsetOutside: bool (optional, default to Standard_True)
        JoinType: GeomAbs_JoinType (optional, default to GeomAbs_Arc)

        Return
        -------
        None

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

        Parameters
        ----------
        Face: TopoDS_Face
        Offset: float
        Created: TopTools_DataMapOfShapeShape
        OffsetOutside: bool (optional, default to Standard_True)
        JoinType: GeomAbs_JoinType (optional, default to GeomAbs_Arc)

        Return
        -------
        None

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

        Parameters
        ----------
        Path: TopoDS_Edge
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge
        Offset: float
        Polynomial: bool (optional, default to Standard_False)
        Tol: float (optional, default to 1.0e-4)
        Conti: GeomAbs_Shape (optional, default to GeomAbs_C1)

        Return
        -------
        None

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

        Parameters
        ----------
        Path: TopoDS_Edge
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge
        Offset: float
        FirstEdge: TopoDS_Edge
        LastEdge: TopoDS_Edge
        Polynomial: bool (optional, default to Standard_False)
        Tol: float (optional, default to 1.0e-4)
        Conti: GeomAbs_Shape (optional, default to GeomAbs_C1)

        Return
        -------
        None

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

        Parameters
        ----------
        Vertex: TopoDS_Vertex
        LEdge: TopTools_ListOfShape
        Offset: float
        Polynomial: bool (optional, default to Standard_False)
        Tol: float (optional, default to 1.0e-4)
        Conti: GeomAbs_Shape (optional, default to GeomAbs_C1)

        Return
        -------
        None

        Description
        -----------
        Tol and Conti are only used if Polynomial is True (Used to perform the approximation).

        Parameters
        ----------
        Edge: TopoDS_Edge
        Offset: float

        Return
        -------
        None

        Description
        -----------
        Only used in Rolling Ball. Pipe on Free Boundary.

        """
        return _BRepOffset.BRepOffset_Offset_Init(self, *args)

    def InitialShape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

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

        """
        return _BRepOffset.BRepOffset_Offset_InitialShape(self, *args)

    def Status(self, *args):
        r"""
        Return
        -------
        BRepOffset_Status

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

        """
        return _BRepOffset.BRepOffset_Offset_Status(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepOffset.delete_BRepOffset_Offset

# Register BRepOffset_Offset in _BRepOffset:
_BRepOffset.BRepOffset_Offset_swigregister(BRepOffset_Offset)
class BRepOffset_SimpleOffset(OCC.Core.BRepTools.BRepTools_Modification):
    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
        ----------
        theInputShape: TopoDS_Shape
        theOffsetValue: float
        theTolerance: float

        Return
        -------
        None

        Description
        -----------
        Constructor. 
        Parameter theInputShape shape to be offset 
        Parameter theOffsetValue offset distance (signed) 
        Parameter theTolerance tolerance for handling singular points.

        """
        _BRepOffset.BRepOffset_SimpleOffset_swiginit(self, _BRepOffset.new_BRepOffset_SimpleOffset(*args))


    @staticmethod
    def DownCast(t):
      return Handle_BRepOffset_SimpleOffset_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepOffset.delete_BRepOffset_SimpleOffset

# Register BRepOffset_SimpleOffset in _BRepOffset:
_BRepOffset.BRepOffset_SimpleOffset_swigregister(BRepOffset_SimpleOffset)
class BRepOffset_Tool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        W: TopoDS_Wire
        F: TopoDS_Face
        NOnV1: TopTools_DataMapOfShapeShape
        NOnV2: TopTools_DataMapOfShapeShape

        Return
        -------
        None

        Description
        -----------
        Via the wire explorer store in <NOnV1> for an Edge <E> of <W> his Edge neighbour on the first vertex <V1> of <E>. Store in NOnV2 the Neighbour of <E>on the last vertex <V2> of <E>.

        """
        return _BRepOffset.BRepOffset_Tool_BuildNeighbour(*args)

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

        Parameters
        ----------
        F: TopoDS_Face
        Analyse: BRepOffset_Analyse

        Return
        -------
        enlargeU: bool
        enlargeVfirst: bool
        enlargeVlast: bool

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

        """
        return _BRepOffset.BRepOffset_Tool_CheckBounds(*args)

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

        Parameters
        ----------
        theFace1: TopoDS_Face
        theFace2: TopoDS_Face
        theTolAng: float (optional, default to 1e-8)

        Return
        -------
        bool

        Description
        -----------
        Compares the normal directions of the planar faces and returns True if the directions are the same with the given precision.

        """
        return _BRepOffset.BRepOffset_Tool_CheckPlanesNormals(*args)

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

        Parameters
        ----------
        SI: TopoDS_Shape
        NewEdges: TopTools_IndexedMapOfShape
        AsDes: BRepAlgo_AsDes
        InitOffset: BRepAlgo_Image
        Offset: float

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_Tool_CorrectOrientation(*args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        Boundary: TopTools_MapOfShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Remove the non valid part of an offsetshape 1 - Remove all the free boundary and the faces connex to such edges. 2 - Remove all the shapes not valid in the result (according to the side of offsetting) in this version only the first point is implemented.

        """
        return _BRepOffset.BRepOffset_Tool_Deboucle3D(*args)

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

        Parameters
        ----------
        E: TopoDS_Edge
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Return
        -------
        None

        Description
        -----------
        <V1> is the FirstVertex ,<V2> is the Last Vertex of <Edge> taking account the orientation of Edge.

        """
        return _BRepOffset.BRepOffset_Tool_EdgeVertices(*args)

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

        Parameters
        ----------
        F: TopoDS_Face
        NF: TopoDS_Face
        ChangeGeom: bool
        UpDatePCurve: bool (optional, default to Standard_False)
        enlargeU: bool (optional, default to Standard_True)
        enlargeVfirst: bool (optional, default to Standard_True)
        enlargeVlast: bool (optional, default to Standard_True)
        theExtensionMode: int (optional, default to 1)
        theLenBeforeUfirst: float (optional, default to -1)
        theLenAfterUlast: float (optional, default to -1)
        theLenBeforeVfirst: float (optional, default to -1)
        theLenAfterVlast: float (optional, default to -1)

        Return
        -------
        bool

        Description
        -----------
        Returns True if The Surface of <NF> has changed. if <ChangeGeom> is True , the surface can be changed . if <UpdatePCurve> is True, update the pcurves of the edges of <F> on the new surface if the surface has been changed. <enlargeU>, <enlargeVfirst>, <enlargeVlast> allow or forbid enlargement in U and V directions correspondingly. <theExtensionMode> is a mode of extension of the surface of the face: if <theExtensionMode> equals 1, potentially infinite surfaces are extended by maximum value, and limited surfaces are extended by 25%. if <theExtensionMode> equals 2, potentially infinite surfaces are extended by 10*(correspondent size of face), and limited surfaces are extended by 100%. <theLenBeforeUfirst>, <theLenAfterUlast>, <theLenBeforeVfirst>, <theLenAfterVlast> set the values of enlargement on correspondent directions. If some of them equals -1, the default value of enlargement is used.

        """
        return _BRepOffset.BRepOffset_Tool_EnLargeFace(*args)

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

        Parameters
        ----------
        F: TopoDS_Face
        ConstShapes: TopTools_DataMapOfShapeShape
        ToBuild: TopTools_DataMapOfShapeShape
        Side: TopAbs_State
        TolConf: float
        NF: TopoDS_Face

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_Tool_ExtentFace(*args)

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

        Parameters
        ----------
        theF1: TopoDS_Face
        theF2: TopoDS_Face
        theLE: TopTools_ListOfShape
        theLV: TopTools_ListOfShape

        Return
        -------
        bool

        Description
        -----------
        Looks for the common Vertices and Edges between faces <theF1> and <theF2>. Returns True if common shapes have been found. <theLE> will contain the found common edges; <theLV> will contain the found common vertices.

        Parameters
        ----------
        theS1: TopoDS_Shape
        theS2: TopoDS_Shape
        theType: TopAbs_ShapeEnum
        theLSC: TopTools_ListOfShape

        Return
        -------
        bool

        Description
        -----------
        Looks for the common shapes of type <theType> between shapes <theS1> and <theS2>. Returns True if common shapes have been found. <theLSC> will contain the found common shapes.

        """
        return _BRepOffset.BRepOffset_Tool_FindCommonShapes(*args)

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

        Parameters
        ----------
        aCurve: Geom_Curve

        Return
        -------
        float

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

        """
        return _BRepOffset.BRepOffset_Tool_Gabarit(*args)

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

        Parameters
        ----------
        F: TopoDS_Face
        E1: TopoDS_Edge
        E2: TopoDS_Edge
        LV: TopTools_ListOfShape
        Tol: float

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_Tool_Inter2d(*args)

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

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face
        LInt1: TopTools_ListOfShape
        LInt2: TopTools_ListOfShape
        Side: TopAbs_State
        RefEdge: TopoDS_Edge
        RefFace1: TopoDS_Face
        RefFace2: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Computes the Section between <F1> and <F2> the edges solution are stored in <LInt1> with the orientation on <F1>, the sames edges are stored in <Lint2> with the orientation on <F2>.

        """
        return _BRepOffset.BRepOffset_Tool_Inter3D(*args)

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

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face
        LInt1: TopTools_ListOfShape
        LInt2: TopTools_ListOfShape
        Side: TopAbs_State

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_Tool_InterOrExtent(*args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        MVE: TopTools_DataMapOfShapeListOfShape

        Return
        -------
        None

        Description
        -----------
        Store in MVE for a vertex <V> in <S> the incident edges <E> in <S>. An Edge is Store only one Time for a vertex.

        """
        return _BRepOffset.BRepOffset_Tool_MapVertexEdges(*args)

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

        Parameters
        ----------
        E: TopoDS_Edge
        F1: TopoDS_Face
        F2: TopoDS_Face

        Return
        -------
        O1: TopAbs_Orientation
        O2: TopAbs_Orientation

        Description
        -----------
        <E> is a section between <F1> and <F2>. Computes <O1> the orientation of <E> in <F1> influenced by <F2>. idem for <O2>.

        """
        return _BRepOffset.BRepOffset_Tool_OrientSection(*args)

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

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face
        LInt1: TopTools_ListOfShape
        LInt2: TopTools_ListOfShape
        Side: TopAbs_State

        Return
        -------
        None

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

        """
        return _BRepOffset.BRepOffset_Tool_PipeInter(*args)

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

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face
        Edges: TopTools_ListOfShape
        LInt1: TopTools_ListOfShape
        LInt2: TopTools_ListOfShape
        Side: TopAbs_State
        TolConf: float

        Return
        -------
        bool

        Description
        -----------
        Find if the edges <Edges> of the face <F2> are on the face <F1>. Set in <LInt1> <LInt2> the updated edges. If all the edges are computed, returns true.

        """
        return _BRepOffset.BRepOffset_Tool_TryProject(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _BRepOffset.BRepOffset_Tool_swiginit(self, _BRepOffset.new_BRepOffset_Tool())
    __swig_destroy__ = _BRepOffset.delete_BRepOffset_Tool

# Register BRepOffset_Tool in _BRepOffset:
_BRepOffset.BRepOffset_Tool_swigregister(BRepOffset_Tool)



@deprecated
def brepoffset_CollapseSingularities(*args):
	return brepoffset.CollapseSingularities(*args)

@deprecated
def brepoffset_Surface(*args):
	return brepoffset.Surface(*args)

@deprecated
def BRepOffset_Inter2d_Compute(*args):
	return BRepOffset_Inter2d.Compute(*args)

@deprecated
def BRepOffset_Inter2d_ConnexIntByInt(*args):
	return BRepOffset_Inter2d.ConnexIntByInt(*args)

@deprecated
def BRepOffset_Inter2d_ConnexIntByIntInVert(*args):
	return BRepOffset_Inter2d.ConnexIntByIntInVert(*args)

@deprecated
def BRepOffset_Inter2d_ExtentEdge(*args):
	return BRepOffset_Inter2d.ExtentEdge(*args)

@deprecated
def BRepOffset_Inter2d_FuseVertices(*args):
	return BRepOffset_Inter2d.FuseVertices(*args)

@deprecated
def BRepOffset_Tool_BuildNeighbour(*args):
	return BRepOffset_Tool.BuildNeighbour(*args)

@deprecated
def BRepOffset_Tool_CheckBounds(*args):
	return BRepOffset_Tool.CheckBounds(*args)

@deprecated
def BRepOffset_Tool_CheckPlanesNormals(*args):
	return BRepOffset_Tool.CheckPlanesNormals(*args)

@deprecated
def BRepOffset_Tool_CorrectOrientation(*args):
	return BRepOffset_Tool.CorrectOrientation(*args)

@deprecated
def BRepOffset_Tool_Deboucle3D(*args):
	return BRepOffset_Tool.Deboucle3D(*args)

@deprecated
def BRepOffset_Tool_EdgeVertices(*args):
	return BRepOffset_Tool.EdgeVertices(*args)

@deprecated
def BRepOffset_Tool_EnLargeFace(*args):
	return BRepOffset_Tool.EnLargeFace(*args)

@deprecated
def BRepOffset_Tool_ExtentFace(*args):
	return BRepOffset_Tool.ExtentFace(*args)

@deprecated
def BRepOffset_Tool_FindCommonShapes(*args):
	return BRepOffset_Tool.FindCommonShapes(*args)

@deprecated
def BRepOffset_Tool_FindCommonShapes(*args):
	return BRepOffset_Tool.FindCommonShapes(*args)

@deprecated
def BRepOffset_Tool_Gabarit(*args):
	return BRepOffset_Tool.Gabarit(*args)

@deprecated
def BRepOffset_Tool_Inter2d(*args):
	return BRepOffset_Tool.Inter2d(*args)

@deprecated
def BRepOffset_Tool_Inter3D(*args):
	return BRepOffset_Tool.Inter3D(*args)

@deprecated
def BRepOffset_Tool_InterOrExtent(*args):
	return BRepOffset_Tool.InterOrExtent(*args)

@deprecated
def BRepOffset_Tool_MapVertexEdges(*args):
	return BRepOffset_Tool.MapVertexEdges(*args)

@deprecated
def BRepOffset_Tool_OrientSection(*args):
	return BRepOffset_Tool.OrientSection(*args)

@deprecated
def BRepOffset_Tool_PipeInter(*args):
	return BRepOffset_Tool.PipeInter(*args)

@deprecated
def BRepOffset_Tool_TryProject(*args):
	return BRepOffset_Tool.TryProject(*args)



