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

"""
BRepOffset module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_brepoffset.html
"""

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

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _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 == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


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


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


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


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) -> "PyObject *":
        return _BRepOffset.SwigPyIterator_value(self)

    def incr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _BRepOffset.SwigPyIterator_incr(self, n)

    def decr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _BRepOffset.SwigPyIterator_decr(self, n)

    def distance(self, x: "SwigPyIterator") -> "ptrdiff_t":
        return _BRepOffset.SwigPyIterator_distance(self, x)

    def equal(self, x: "SwigPyIterator") -> "bool":
        return _BRepOffset.SwigPyIterator_equal(self, x)

    def copy(self) -> "swig::SwigPyIterator *":
        return _BRepOffset.SwigPyIterator_copy(self)

    def next(self) -> "PyObject *":
        return _BRepOffset.SwigPyIterator_next(self)

    def __next__(self) -> "PyObject *":
        return _BRepOffset.SwigPyIterator___next__(self)

    def previous(self) -> "PyObject *":
        return _BRepOffset.SwigPyIterator_previous(self)

    def advance(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _BRepOffset.SwigPyIterator_advance(self, n)

    def __eq__(self, x: "SwigPyIterator") -> "bool":
        return _BRepOffset.SwigPyIterator___eq__(self, x)

    def __ne__(self, x: "SwigPyIterator") -> "bool":
        return _BRepOffset.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _BRepOffset.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _BRepOffset.SwigPyIterator___isub__(self, n)

    def __add__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _BRepOffset.SwigPyIterator___add__(self, n)

    def __sub__(self, *args) -> "ptrdiff_t":
        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: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _BRepOffset.process_exception(error, method_name, class_name)

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

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.BRepAdaptor
import OCC.Core.GeomAdaptor
import OCC.Core.Geom2dAdaptor
import OCC.Core.Law
import OCC.Core.BRepAlgo
import OCC.Core.BRepBuilderAPI
import OCC.Core.BRepTools
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.BRep
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.TopOpeBRepBuild
import OCC.Core.TopOpeBRepDS
import OCC.Core.TopOpeBRepTool
import OCC.Core.BRepClass3d
import OCC.Core.IntCurveSurface
import OCC.Core.Intf
import OCC.Core.IntSurf
import OCC.Core.IntCurvesFace
import OCC.Core.TopExp
import OCC.Core.Extrema

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
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_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

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() -> "opencascade::handle< BRepOffset_SimpleOffset >":
    return _BRepOffset.Handle_BRepOffset_SimpleOffset_Create()

def Handle_BRepOffset_SimpleOffset_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepOffset_SimpleOffset >":
    return _BRepOffset.Handle_BRepOffset_SimpleOffset_DownCast(t)

def Handle_BRepOffset_SimpleOffset_IsNull(t: "opencascade::handle< BRepOffset_SimpleOffset > const &") -> "bool":
    return _BRepOffset.Handle_BRepOffset_SimpleOffset_IsNull(t)
class BRepOffset_DataMapOfShapeListOfInterval(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self) -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_ListOfInterval,TopTools_ShapeMapHasher >::iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_ListOfInterval,TopTools_ShapeMapHasher >::iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_ListOfInterval,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_ListOfInterval,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_cend(self)

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

    def Exchange(self, theOther: "BRepOffset_DataMapOfShapeListOfInterval") -> "void":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Exchange(self, theOther)

    def Assign(self, theOther: "BRepOffset_DataMapOfShapeListOfInterval") -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_ListOfInterval,TopTools_ShapeMapHasher > &":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Assign(self, theOther)

    def Set(self, theOther: "BRepOffset_DataMapOfShapeListOfInterval") -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_ListOfInterval,TopTools_ShapeMapHasher > &":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "BRepOffset_ListOfInterval") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "BRepOffset_ListOfInterval") -> "BRepOffset_ListOfInterval *":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "BRepOffset_ListOfInterval const *":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "BRepOffset_ListOfInterval *":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "BRepOffset_ListOfInterval &":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_ChangeFind(self, theKey)

    def __call__(self, *args) -> "BRepOffset_ListOfInterval &":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        return _BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_Size(self)

# Register BRepOffset_DataMapOfShapeListOfInterval in _BRepOffset:
_BRepOffset.BRepOffset_DataMapOfShapeListOfInterval_swigregister(BRepOffset_DataMapOfShapeListOfInterval)

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

    def begin(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher >,TopTools_ShapeMapHasher >::iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher >,TopTools_ShapeMapHasher >::iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_cend(self)

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

    def Exchange(self, theOther: "BRepOffset_DataMapOfShapeMapOfShape") -> "void":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Exchange(self, theOther)

    def Assign(self, theOther: "BRepOffset_DataMapOfShapeMapOfShape") -> "NCollection_DataMap< TopoDS_Shape,TopTools_MapOfShape,TopTools_ShapeMapHasher > &":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Assign(self, theOther)

    def Set(self, theOther: "BRepOffset_DataMapOfShapeMapOfShape") -> "NCollection_DataMap< TopoDS_Shape,TopTools_MapOfShape,TopTools_ShapeMapHasher > &":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "TopTools_MapOfShape") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "TopTools_MapOfShape") -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > *":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > const *":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > *":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > &":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > &":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        return _BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_Size(self)

# Register BRepOffset_DataMapOfShapeMapOfShape in _BRepOffset:
_BRepOffset.BRepOffset_DataMapOfShapeMapOfShape_swigregister(BRepOffset_DataMapOfShapeMapOfShape)

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

    def begin(self) -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_Offset,TopTools_ShapeMapHasher >::iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_Offset,TopTools_ShapeMapHasher >::iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_Offset,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_Offset,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_cend(self)

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

    def Exchange(self, theOther: "BRepOffset_DataMapOfShapeOffset") -> "void":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Exchange(self, theOther)

    def Assign(self, theOther: "BRepOffset_DataMapOfShapeOffset") -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_Offset,TopTools_ShapeMapHasher > &":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Assign(self, theOther)

    def Set(self, theOther: "BRepOffset_DataMapOfShapeOffset") -> "NCollection_DataMap< TopoDS_Shape,BRepOffset_Offset,TopTools_ShapeMapHasher > &":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "BRepOffset_Offset") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "BRepOffset_Offset") -> "BRepOffset_Offset *":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "BRepOffset_Offset const *":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "BRepOffset_Offset *":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "BRepOffset_Offset &":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset_ChangeFind(self, theKey)

    def __call__(self, *args) -> "BRepOffset_Offset &":
        return _BRepOffset.BRepOffset_DataMapOfShapeOffset___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "Standard_Boolean":
        return _BRepOffset.BRepOffset_ListIteratorOfListOfInterval_More(self)

    def Next(self) -> "void":
        return _BRepOffset.BRepOffset_ListIteratorOfListOfInterval_Next(self)

    def Value(self) -> "BRepOffset_Interval const &":
        return _BRepOffset.BRepOffset_ListIteratorOfListOfInterval_Value(self)

    def ChangeValue(self) -> "BRepOffset_Interval &":
        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(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self) -> "NCollection_List< BRepOffset_Interval >::iterator":
        return _BRepOffset.BRepOffset_ListOfInterval_begin(self)

    def end(self) -> "NCollection_List< BRepOffset_Interval >::iterator":
        return _BRepOffset.BRepOffset_ListOfInterval_end(self)

    def cbegin(self) -> "NCollection_List< BRepOffset_Interval >::const_iterator":
        return _BRepOffset.BRepOffset_ListOfInterval_cbegin(self)

    def cend(self) -> "NCollection_List< BRepOffset_Interval >::const_iterator":
        return _BRepOffset.BRepOffset_ListOfInterval_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _BRepOffset.BRepOffset_ListOfInterval_Size(self)

    def Assign(self, theOther: "BRepOffset_ListOfInterval") -> "NCollection_List< BRepOffset_Interval > &":
        return _BRepOffset.BRepOffset_ListOfInterval_Assign(self, theOther)

    def Set(self, theOther: "BRepOffset_ListOfInterval") -> "NCollection_List< BRepOffset_Interval > &":
        return _BRepOffset.BRepOffset_ListOfInterval_Set(self, theOther)

    def Clear(self, theAllocator: "IntSurf_Allocator"=0) -> "void":
        return _BRepOffset.BRepOffset_ListOfInterval_Clear(self, theAllocator)

    def First(self) -> "BRepOffset_Interval const &":
        return _BRepOffset.BRepOffset_ListOfInterval_First(self)

    def Last(self) -> "BRepOffset_Interval const &":
        return _BRepOffset.BRepOffset_ListOfInterval_Last(self)

    def Append(self, *args) -> "void":
        return _BRepOffset.BRepOffset_ListOfInterval_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _BRepOffset.BRepOffset_ListOfInterval_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _BRepOffset.BRepOffset_ListOfInterval_RemoveFirst(self)

    def Remove(self, theIter: "BRepOffset_ListIteratorOfListOfInterval") -> "void":
        return _BRepOffset.BRepOffset_ListOfInterval_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _BRepOffset.BRepOffset_ListOfInterval_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _BRepOffset.BRepOffset_ListOfInterval_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        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) -> "opencascade::handle< Geom_Surface >":
        r"""
        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).

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

        Returns
        -------
        opencascade::handle<Geom_Surface>

        """
        return _BRepOffset.brepoffset_CollapseSingularities(*args)

    @staticmethod
    def Surface(*args) -> "opencascade::handle< Geom_Surface >":
        r"""
        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.

        Parameters
        ----------
        Surface: Geom_Surface
        Offset: float
        theStatus: BRepOffset_Status
        allowC0: bool,optional
        	default value is Standard_False

        Returns
        -------
        opencascade::handle<Geom_Surface>

        """
        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)

def brepoffset_CollapseSingularities(*args) -> "opencascade::handle< Geom_Surface >":
    r"""
    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).

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

    Returns
    -------
    opencascade::handle<Geom_Surface>

    """
    return _BRepOffset.brepoffset_CollapseSingularities(*args)

def brepoffset_Surface(*args) -> "opencascade::handle< Geom_Surface >":
    r"""
    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.

    Parameters
    ----------
    Surface: Geom_Surface
    Offset: float
    theStatus: BRepOffset_Status
    allowC0: bool,optional
    	default value is Standard_False

    Returns
    -------
    opencascade::handle<Geom_Surface>

    """
    return _BRepOffset.brepoffset_Surface(*args)

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"""
        Empty c-tor.

        Returns
        -------
        None
        C-tor performing the job inside.

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

        Returns
        -------
        None

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

    def AddFaces(self, *args) -> "void":
        r"""
        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
        theType: ChFiDS_TypeOfConcavity

        Returns
        -------
        None
        Add in <co> the faces of the shell containing <face> where all the connex edges are of type <side1> or <side2>.

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

        Returns
        -------
        None

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

    def Ancestors(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns ancestors for the shape.

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

        Returns
        -------
        TopTools_ListOfShape

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

    def Clear(self, *args) -> "void":
        r"""
        Clears the content of the algorithm.

        Returns
        -------
        None

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

    def Descendants(self, *args) -> "TopTools_ListOfShape const *":
        r"""
        Returns the shape descendants.

        Parameters
        ----------
        theS: TopoDS_Shape
        theUpdate: bool,optional
        	default value is Standard_False

        Returns
        -------
        TopTools_ListOfShape *

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

    def EdgeReplacement(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the replacement of the edge in the face. if no replacement exists, returns the edge.

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

        Returns
        -------
        TopoDS_Edge

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

    def Edges(self, *args) -> "void":
        r"""
        Stores in <l> all the edges of type <t> on the vertex <v>.

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

        Returns
        -------
        None
        Stores in <l> all the edges of type <t> on the face <f>.

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

        Returns
        -------
        None

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

    def Explode(self, *args) -> "void":
        r"""
        Explode in compounds of faces where all the connex edges are of type <side>.

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

        Returns
        -------
        None
        Explode in compounds of faces where all the connex edges are of type <side1> or <side2>.

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

        Returns
        -------
        None

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

    def Generated(self, *args) -> "TopoDS_Shape":
        r"""
        Returns the new face constructed for the edge connecting the two tangent faces having different offset values.

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

        Returns
        -------
        TopoDS_Shape

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

    def HasAncestor(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the given shape has ancestors.

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

        Returns
        -------
        bool

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

    def HasGenerated(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the edge has generated a new face.

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

        Returns
        -------
        bool

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

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Returns status of the algorithm.

        Returns
        -------
        bool

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

    def NewFaces(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the new faces constructed between tangent faces having different offset values on the shape.

        Returns
        -------
        TopTools_ListOfShape

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

    def Perform(self, *args) -> "void":
        r"""
        Performs the analysis.

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

        Returns
        -------
        None

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

    def SetFaceOffsetMap(self, *args) -> "void":
        r"""
        Sets the face-offset data map to analyze tangential cases.

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

        Returns
        -------
        None

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

    def SetOffsetValue(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

    def TangentEdges(self, *args) -> "void":
        r"""
        Set in <edges> all the edges of <shape> which are tangent to <edge> at the vertex <vertex>.

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

        Returns
        -------
        None

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

    def Type(self, *args) -> "BRepOffset_ListOfInterval const &":
        r"""
        Returns the connectivity type of the edge.

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

        Returns
        -------
        BRepOffset_ListOfInterval

        """
        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) -> "void":
        r"""
        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.

        Parameters
        ----------
        AsDes: BRepAlgo_AsDes
        F: TopoDS_Face
        NewEdges: TopTools_IndexedMapOfShape
        Tol: float
        theDMVV: TopTools_IndexedDataMapOfShapeListOfShape

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Inter2d_Compute(*args)

    @staticmethod
    def ConnexIntByInt(*args) -> "Standard_Boolean":
        r"""
        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.

        Parameters
        ----------
        FI: TopoDS_Face
        OFI: BRepOffset_Offset
        MES: TopTools_DataMapOfShapeShape
        Build: TopTools_DataMapOfShapeShape
        AsDes2d: BRepAlgo_AsDes
        Offset: float
        Tol: float
        Analyse: BRepOffset_Analyse
        FacesWithVerts: TopTools_IndexedMapOfShape
        theDMVV: TopTools_IndexedDataMapOfShapeListOfShape

        Returns
        -------
        bool

        """
        return _BRepOffset.BRepOffset_Inter2d_ConnexIntByInt(*args)

    @staticmethod
    def ConnexIntByIntInVert(*args) -> "void":
        r"""
        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.

        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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Inter2d_ConnexIntByIntInVert(*args)

    @staticmethod
    def ExtentEdge(*args) -> "Standard_Boolean":
        r"""
        Extents the edge.

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

        Returns
        -------
        bool

        """
        return _BRepOffset.BRepOffset_Inter2d_ExtentEdge(*args)

    @staticmethod
    def FuseVertices(*args) -> "Standard_Boolean":
        r"""
        Fuses the chains of vertices in the thedmvv and updates asdes by replacing the old vertices with the new ones.

        Parameters
        ----------
        theDMVV: TopTools_IndexedDataMapOfShapeListOfShape
        theAsDes: BRepAlgo_AsDes

        Returns
        -------
        bool

        """
        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)

def BRepOffset_Inter2d_Compute(*args) -> "void":
    r"""
    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.

    Parameters
    ----------
    AsDes: BRepAlgo_AsDes
    F: TopoDS_Face
    NewEdges: TopTools_IndexedMapOfShape
    Tol: float
    theDMVV: TopTools_IndexedDataMapOfShapeListOfShape

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Inter2d_Compute(*args)

def BRepOffset_Inter2d_ConnexIntByInt(*args) -> "Standard_Boolean":
    r"""
    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.

    Parameters
    ----------
    FI: TopoDS_Face
    OFI: BRepOffset_Offset
    MES: TopTools_DataMapOfShapeShape
    Build: TopTools_DataMapOfShapeShape
    AsDes2d: BRepAlgo_AsDes
    Offset: float
    Tol: float
    Analyse: BRepOffset_Analyse
    FacesWithVerts: TopTools_IndexedMapOfShape
    theDMVV: TopTools_IndexedDataMapOfShapeListOfShape

    Returns
    -------
    bool

    """
    return _BRepOffset.BRepOffset_Inter2d_ConnexIntByInt(*args)

def BRepOffset_Inter2d_ConnexIntByIntInVert(*args) -> "void":
    r"""
    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.

    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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Inter2d_ConnexIntByIntInVert(*args)

def BRepOffset_Inter2d_ExtentEdge(*args) -> "Standard_Boolean":
    r"""
    Extents the edge.

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

    Returns
    -------
    bool

    """
    return _BRepOffset.BRepOffset_Inter2d_ExtentEdge(*args)

def BRepOffset_Inter2d_FuseVertices(*args) -> "Standard_Boolean":
    r"""
    Fuses the chains of vertices in the thedmvv and updates asdes by replacing the old vertices with the new ones.

    Parameters
    ----------
    theDMVV: TopTools_IndexedDataMapOfShapeListOfShape
    theAsDes: BRepAlgo_AsDes

    Returns
    -------
    bool

    """
    return _BRepOffset.BRepOffset_Inter2d_FuseVertices(*args)

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"""
        No available documentation.

        Parameters
        ----------
        AsDes: BRepAlgo_AsDes
        Side: TopAbs_State
        Tol: float

        Returns
        -------
        None

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

    def AddCommonEdges(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        SetOfFaces: TopTools_ListOfShape

        Returns
        -------
        None

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

    def AsDes(self, *args) -> "opencascade::handle< BRepAlgo_AsDes >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<BRepAlgo_AsDes>

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

    def CompletInt(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        SetOfFaces: TopTools_ListOfShape
        InitOffsetFace: BRepAlgo_Image

        Returns
        -------
        None

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

    def ConnexIntByArc(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

    def ConnexIntByInt(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        SI: TopoDS_Shape
        MapSF: BRepOffset_DataMapOfShapeOffset
        A: BRepOffset_Analyse
        MES: TopTools_DataMapOfShapeShape
        Build: TopTools_DataMapOfShapeShape
        Failed: TopTools_ListOfShape
        bIsPlanar: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

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

    def ContextIntByArc(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

    def ContextIntByInt(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        ContextFaces: TopTools_IndexedMapOfShape
        ExtentContext: bool
        MapSF: BRepOffset_DataMapOfShapeOffset
        A: BRepOffset_Analyse
        MES: TopTools_DataMapOfShapeShape
        Build: TopTools_DataMapOfShapeShape
        Failed: TopTools_ListOfShape
        bIsPlanar: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

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

    def FaceInter(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

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

        Returns
        -------
        bool

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

    def NewEdges(self, *args) -> "TopTools_IndexedMapOfShape &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_IndexedMapOfShape

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

    def SetDone(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

    def TouchedFaces(self, *args) -> "TopTools_IndexedMapOfShape &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_IndexedMapOfShape

        """
        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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None

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

    def First(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        float

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

    def Last(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        float

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

    def Type(self, *args) -> "ChFiDS_TypeOfConcavity":
        r"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        ChFiDS_TypeOfConcavity

        """
        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"""
        No available documentation.

        Returns
        -------
        None

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

    def Build(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

    def BuildFaces(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

    def BuildOnContext(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None

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

    def AddFace(self, *args) -> "void":
        r"""
        Add closing faces, <f> has to be in the initial shape s.

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

        Returns
        -------
        None

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

    def AllowLinearization(self, *args) -> "void":
        r"""
        Changes the flag allowing the linearization.

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

        Returns
        -------
        None

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

    def CheckInputData(self, *args) -> "Standard_Boolean":
        r"""
        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. returns true if possible make computations and false otherwise.

        Returns
        -------
        bool

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

    def Clear(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

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

    def ClosingFaces(self, *args) -> "TopTools_IndexedMapOfShape const &":
        r"""
        Returns the list of closing faces stores by addface.

        Returns
        -------
        TopTools_IndexedMapOfShape

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

    def Error(self, *args) -> "BRepOffset_Error":
        r"""
        Returns information about offset state.

        Returns
        -------
        BRepOffset_Error

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

    def Generated(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of shapes generated from the shape <s>.

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

        Returns
        -------
        TopTools_ListOfShape

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

    def GetBadShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Return bad shape, which obtained in checkinputdata.

        Returns
        -------
        TopoDS_Shape

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

    def GetJoinType(self, *args) -> "GeomAbs_JoinType":
        r"""
        Returns myjoin.

        Returns
        -------
        GeomAbs_JoinType

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

    def InitShape(self, *args) -> "TopoDS_Shape const":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape

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

    def Initialize(self, *args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

    def IsDeleted(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the shape s has been deleted.

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

        Returns
        -------
        bool

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

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

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

    def MakeOffsetShape(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

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

    def MakeThickSolid(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

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

    def Modified(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of shapes modified from the shape <s>.

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

        Returns
        -------
        TopTools_ListOfShape

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

    def OffsetEdgesFromShapes(self, *args) -> "BRepAlgo_Image const &":
        r"""
        Returns <image> containing links between initials shapes and offset edges.

        Returns
        -------
        BRepAlgo_Image

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

    def OffsetFacesFromShapes(self, *args) -> "BRepAlgo_Image const &":
        r"""
        Returns <image> containing links between initials shapes and offset faces.

        Returns
        -------
        BRepAlgo_Image

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

    def SetOffsetOnFace(self, *args) -> "void":
        r"""
        Set the offset <off> on the face <f>.

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

        Returns
        -------
        None

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

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape

        """
        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"""
        Constructor. does nothing.

        Returns
        -------
        None
        Constructor.

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

        Returns
        -------
        None

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

    def Generated(self, *args) -> "TopoDS_Shape const":
        r"""
        Returnes result shape for the given one (if exists).

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

        Returns
        -------
        TopoDS_Shape

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

    def GetBuildSolidFlag(self, *args) -> "Standard_Boolean":
        r"""
        Gets solid building flag.

        Returns
        -------
        bool

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

    def GetError(self, *args) -> "BRepOffsetSimple_Status":
        r"""
        Gets error code.

        Returns
        -------
        BRepOffsetSimple_Status

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

    def GetErrorMessage(self, *args) -> "TCollection_AsciiString":
        r"""
        Gets error message.

        Returns
        -------
        TCollection_AsciiString

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

    def GetOffsetValue(self, *args) -> "Standard_Real":
        r"""
        Gets offset value.

        Returns
        -------
        float

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

    def GetResultShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns result shape.

        Returns
        -------
        TopoDS_Shape

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

    def GetTolerance(self, *args) -> "Standard_Real":
        r"""
        Gets tolerance (used for handling singularities).

        Returns
        -------
        float

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

    def Initialize(self, *args) -> "void":
        r"""
        Initialies shape for modifications.

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

        Returns
        -------
        None

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

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Gets done state.

        Returns
        -------
        bool

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

    def Modified(self, *args) -> "TopoDS_Shape const":
        r"""
        Returnes modified shape for the given one (if exists).

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

        Returns
        -------
        TopoDS_Shape

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

    def Perform(self, *args) -> "void":
        r"""
        Computes offset shape.

        Returns
        -------
        None

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

    def SetBuildSolidFlag(self, *args) -> "void":
        r"""
        Sets solid building flag.

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

        Returns
        -------
        None

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

    def SetOffsetValue(self, *args) -> "void":
        r"""
        Sets offset value.

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

        Returns
        -------
        None

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

    def SetTolerance(self, *args) -> "void":
        r"""
        Sets tolerance (used for handling singularities).

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

        Returns
        -------
        None

        """
        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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        Face: TopoDS_Face
        Offset: float
        OffsetOutside: bool,optional
        	default value is Standard_True
        JoinType: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc

        Returns
        -------
        None
        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 offseting of another face sharing e with a continuity at least g1.

        Parameters
        ----------
        Face: TopoDS_Face
        Offset: float
        Created: TopTools_DataMapOfShapeShape
        OffsetOutside: bool,optional
        	default value is Standard_True
        JoinType: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None
        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 value is Standard_False
        Tol: float,optional
        	default value is 1.0e-4
        Conti: GeomAbs_Shape,optional
        	default value is GeomAbs_C1

        Returns
        -------
        None
        Tol and conti are only used if polynomial is true (used to perfrom the approximation).

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

        Returns
        -------
        None

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

    def Face(self, *args) -> "TopoDS_Face const":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Face

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

    def Generated(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

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

        Returns
        -------
        TopoDS_Shape

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

    def Init(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        Face: TopoDS_Face
        Offset: float
        OffsetOutside: bool,optional
        	default value is Standard_True
        JoinType: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        Face: TopoDS_Face
        Offset: float
        Created: TopTools_DataMapOfShapeShape
        OffsetOutside: bool,optional
        	default value is Standard_True
        JoinType: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None
        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 value is Standard_False
        Tol: float,optional
        	default value is 1.0e-4
        Conti: GeomAbs_Shape,optional
        	default value is GeomAbs_C1

        Returns
        -------
        None
        Tol and conti are only used if polynomial is true (used to perfrom the approximation).

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

        Returns
        -------
        None
        Only used in rolling ball. pipe on free boundary.

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

        Returns
        -------
        None

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

    def InitialShape(self, *args) -> "TopoDS_Shape const":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape

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

    def Status(self, *args) -> "BRepOffset_Status":
        r"""
        No available documentation.

        Returns
        -------
        BRepOffset_Status

        """
        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"""
        Constructor. @param theinputshape shape to be offset @param theoffsetvalue offset distance (signed) @param thetolerance tolerance for handling singular points.

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

        Returns
        -------
        None

        """
        _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) -> "void":
        r"""
        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>.

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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_BuildNeighbour(*args)

    @staticmethod
    def CheckBounds(*args) -> "Standard_Boolean &, Standard_Boolean &, Standard_Boolean &":
        r"""
        No available documentation.

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

        Returns
        -------
        enlargeU: bool
        enlargeVfirst: bool
        enlargeVlast: bool

        """
        return _BRepOffset.BRepOffset_Tool_CheckBounds(*args)

    @staticmethod
    def CheckPlanesNormals(*args) -> "Standard_Boolean":
        r"""
        Compares the normal directions of the planar faces and returns true if the directions are the same with the given precision.

        Parameters
        ----------
        theFace1: TopoDS_Face
        theFace2: TopoDS_Face
        theTolAng: float,optional
        	default value is 1e-8

        Returns
        -------
        bool

        """
        return _BRepOffset.BRepOffset_Tool_CheckPlanesNormals(*args)

    @staticmethod
    def CorrectOrientation(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_CorrectOrientation(*args)

    @staticmethod
    def Deboucle3D(*args) -> "TopoDS_Shape":
        r"""
        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 offseting) in this verion only the first point is implemented.

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

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepOffset.BRepOffset_Tool_Deboucle3D(*args)

    @staticmethod
    def EdgeVertices(*args) -> "void":
        r"""
        <v1> is the firstvertex ,<v2> is the last vertex of <edge> taking account the orientation of edge.

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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_EdgeVertices(*args)

    @staticmethod
    def EnLargeFace(*args) -> "Standard_Boolean":
        r"""
        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.

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

        Returns
        -------
        bool

        """
        return _BRepOffset.BRepOffset_Tool_EnLargeFace(*args)

    @staticmethod
    def ExtentFace(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_ExtentFace(*args)

    @staticmethod
    def FindCommonShapes(*args) -> "Standard_Boolean":
        r"""
        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
        ----------
        theF1: TopoDS_Face
        theF2: TopoDS_Face
        theLE: TopTools_ListOfShape
        theLV: TopTools_ListOfShape

        Returns
        -------
        bool
        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.

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

        Returns
        -------
        bool

        """
        return _BRepOffset.BRepOffset_Tool_FindCommonShapes(*args)

    @staticmethod
    def Gabarit(*args) -> "Standard_Real":
        r"""
        No available documentation.

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

        Returns
        -------
        float

        """
        return _BRepOffset.BRepOffset_Tool_Gabarit(*args)

    @staticmethod
    def Inter2d(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_Inter2d(*args)

    @staticmethod
    def Inter3D(*args) -> "void":
        r"""
        Computes the section betwwen <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>.

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face
        LInt1: TopTools_ListOfShape
        LInt2: TopTools_ListOfShape
        Side: TopAbs_State
        RefEdge: TopoDS_Edge
        IsRefEdgeDefined: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_Inter3D(*args)

    @staticmethod
    def InterOrExtent(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_InterOrExtent(*args)

    @staticmethod
    def MapVertexEdges(*args) -> "void":
        r"""
        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.

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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_MapVertexEdges(*args)

    @staticmethod
    def OrientSection(*args) -> "void":
        r"""
        <e> is a section between <f1> and <f2>. computes <o1> the orientation of <e> in <f1> influenced by <f2>. idem for <o2>.

        Parameters
        ----------
        E: TopoDS_Edge
        F1: TopoDS_Face
        F2: TopoDS_Face
        O1: TopAbs_Orientation
        O2: TopAbs_Orientation

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_OrientSection(*args)

    @staticmethod
    def PipeInter(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _BRepOffset.BRepOffset_Tool_PipeInter(*args)

    @staticmethod
    def TryProject(*args) -> "Standard_Boolean":
        r"""
        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.

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

        Returns
        -------
        bool

        """
        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)

def BRepOffset_Tool_BuildNeighbour(*args) -> "void":
    r"""
    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>.

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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_BuildNeighbour(*args)

def BRepOffset_Tool_CheckBounds(*args) -> "Standard_Boolean &, Standard_Boolean &, Standard_Boolean &":
    r"""
    No available documentation.

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

    Returns
    -------
    enlargeU: bool
    enlargeVfirst: bool
    enlargeVlast: bool

    """
    return _BRepOffset.BRepOffset_Tool_CheckBounds(*args)

def BRepOffset_Tool_CheckPlanesNormals(*args) -> "Standard_Boolean":
    r"""
    Compares the normal directions of the planar faces and returns true if the directions are the same with the given precision.

    Parameters
    ----------
    theFace1: TopoDS_Face
    theFace2: TopoDS_Face
    theTolAng: float,optional
    	default value is 1e-8

    Returns
    -------
    bool

    """
    return _BRepOffset.BRepOffset_Tool_CheckPlanesNormals(*args)

def BRepOffset_Tool_CorrectOrientation(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_CorrectOrientation(*args)

def BRepOffset_Tool_Deboucle3D(*args) -> "TopoDS_Shape":
    r"""
    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 offseting) in this verion only the first point is implemented.

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

    Returns
    -------
    TopoDS_Shape

    """
    return _BRepOffset.BRepOffset_Tool_Deboucle3D(*args)

def BRepOffset_Tool_EdgeVertices(*args) -> "void":
    r"""
    <v1> is the firstvertex ,<v2> is the last vertex of <edge> taking account the orientation of edge.

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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_EdgeVertices(*args)

def BRepOffset_Tool_EnLargeFace(*args) -> "Standard_Boolean":
    r"""
    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.

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

    Returns
    -------
    bool

    """
    return _BRepOffset.BRepOffset_Tool_EnLargeFace(*args)

def BRepOffset_Tool_ExtentFace(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_ExtentFace(*args)

def BRepOffset_Tool_FindCommonShapes(*args) -> "Standard_Boolean":
    r"""
    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
    ----------
    theF1: TopoDS_Face
    theF2: TopoDS_Face
    theLE: TopTools_ListOfShape
    theLV: TopTools_ListOfShape

    Returns
    -------
    bool
    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.

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

    Returns
    -------
    bool

    """
    return _BRepOffset.BRepOffset_Tool_FindCommonShapes(*args)

def BRepOffset_Tool_Gabarit(*args) -> "Standard_Real":
    r"""
    No available documentation.

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

    Returns
    -------
    float

    """
    return _BRepOffset.BRepOffset_Tool_Gabarit(*args)

def BRepOffset_Tool_Inter2d(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_Inter2d(*args)

def BRepOffset_Tool_Inter3D(*args) -> "void":
    r"""
    Computes the section betwwen <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>.

    Parameters
    ----------
    F1: TopoDS_Face
    F2: TopoDS_Face
    LInt1: TopTools_ListOfShape
    LInt2: TopTools_ListOfShape
    Side: TopAbs_State
    RefEdge: TopoDS_Edge
    IsRefEdgeDefined: bool,optional
    	default value is Standard_False

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_Inter3D(*args)

def BRepOffset_Tool_InterOrExtent(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_InterOrExtent(*args)

def BRepOffset_Tool_MapVertexEdges(*args) -> "void":
    r"""
    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.

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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_MapVertexEdges(*args)

def BRepOffset_Tool_OrientSection(*args) -> "void":
    r"""
    <e> is a section between <f1> and <f2>. computes <o1> the orientation of <e> in <f1> influenced by <f2>. idem for <o2>.

    Parameters
    ----------
    E: TopoDS_Edge
    F1: TopoDS_Face
    F2: TopoDS_Face
    O1: TopAbs_Orientation
    O2: TopAbs_Orientation

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_OrientSection(*args)

def BRepOffset_Tool_PipeInter(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _BRepOffset.BRepOffset_Tool_PipeInter(*args)

def BRepOffset_Tool_TryProject(*args) -> "Standard_Boolean":
    r"""
    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.

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

    Returns
    -------
    bool

    """
    return _BRepOffset.BRepOffset_Tool_TryProject(*args)





