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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

endl_cb_ptr = _BRepSweep.endl_cb_ptr
endl = _BRepSweep.endl
ends_cb_ptr = _BRepSweep.ends_cb_ptr
ends = _BRepSweep.ends
flush_cb_ptr = _BRepSweep.flush_cb_ptr
flush = _BRepSweep.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.BRep
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.GeomAbs
import OCC.Core.Geom
import OCC.Core.TColgp
import OCC.Core.Poly
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.TShort
import OCC.Core.Geom2d
import OCC.Core.Sweep

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



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

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

        Parameters
        ----------
        aBuilder: BRep_Builder

        Return
        -------
        None

        Description
        -----------
        Creates a Builder.

        """
        _BRepSweep.BRepSweep_Builder_swiginit(self, _BRepSweep.new_BRepSweep_Builder(*args))

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

        Parameters
        ----------
        aShape1: TopoDS_Shape
        aShape2: TopoDS_Shape
        Orient: TopAbs_Orientation

        Return
        -------
        None

        Description
        -----------
        Adds the Shape 1 in the Shape 2, set to <Orient> orientation.

        Parameters
        ----------
        aShape1: TopoDS_Shape
        aShape2: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Adds the Shape 1 in the Shape 2.

        """
        return _BRepSweep.BRepSweep_Builder_Add(self, *args)

    def Builder(self, *args):
        r"""
        Return
        -------
        BRep_Builder

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

        """
        return _BRepSweep.BRepSweep_Builder_Builder(self, *args)

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

        Parameters
        ----------
        aCompSolid: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Returns an empty CompSolid.

        """
        return _BRepSweep.BRepSweep_Builder_MakeCompSolid(self, *args)

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

        Parameters
        ----------
        aCompound: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Returns an empty Compound.

        """
        return _BRepSweep.BRepSweep_Builder_MakeCompound(self, *args)

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

        Parameters
        ----------
        aShell: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Returns an empty Shell.

        """
        return _BRepSweep.BRepSweep_Builder_MakeShell(self, *args)

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

        Parameters
        ----------
        aSolid: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Returns an empty Solid.

        """
        return _BRepSweep.BRepSweep_Builder_MakeSolid(self, *args)

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

        Parameters
        ----------
        aWire: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Returns an empty Wire.

        """
        return _BRepSweep.BRepSweep_Builder_MakeWire(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_Builder

# Register BRepSweep_Builder in _BRepSweep:
_BRepSweep.BRepSweep_Builder_swigregister(BRepSweep_Builder)
class BRepSweep_Iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _BRepSweep.BRepSweep_Iterator_swiginit(self, _BRepSweep.new_BRepSweep_Iterator(*args))

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

        Parameters
        ----------
        aShape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Reset the Iterator on sub-shapes of <aShape>.

        """
        return _BRepSweep.BRepSweep_Iterator_Init(self, *args)

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

        Description
        -----------
        Returns True if there is a current sub-shape.

        """
        return _BRepSweep.BRepSweep_Iterator_More(self, *args)

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

        Description
        -----------
        Moves to the next sub-shape.

        """
        return _BRepSweep.BRepSweep_Iterator_Next(self, *args)

    def Orientation(self, *args):
        r"""
        Return
        -------
        TopAbs_Orientation

        Description
        -----------
        Returns the orientation of the current sub-shape.

        """
        return _BRepSweep.BRepSweep_Iterator_Orientation(self, *args)

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

        Description
        -----------
        Returns the current sub-shape.

        """
        return _BRepSweep.BRepSweep_Iterator_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_Iterator

# Register BRepSweep_Iterator in _BRepSweep:
_BRepSweep.BRepSweep_Iterator_swigregister(BRepSweep_Iterator)
class BRepSweep_NumLinearRegularSweep(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

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

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

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_Closed(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape
        aDirS: Sweep_NumShape

        Return
        -------
        TopAbs_Orientation

        Description
        -----------
        Returns the Orientation of the shell in the solid generated by the face aGenS with the edge aDirS. It is REVERSED if the surface is swept in the direction of the normal.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_DirectSolid(self, *args)

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

        Description
        -----------
        Returns the resulting Shape indexed by the first Vertex of myDirWire and myGenShape.

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the resulting Shape indexed by the first Vertex of myDirWire and aGenS.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_FirstShape(self, *args)

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

        Parameters
        ----------
        aNewShape: TopoDS_Shape
        aNewSubShape: TopoDS_Shape
        aGenS: TopoDS_Shape
        aDirS: Sweep_NumShape
        aSubDirS: Sweep_NumShape

        Return
        -------
        bool

        Description
        -----------
        Returns true if aNewSubShape (addressed by aGenS and aSubDirS) must be added in aNewShape (addressed by aGenS and aDirS).

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_GDDShapeIsToAdd(self, *args)

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

        Parameters
        ----------
        aNewShape: TopoDS_Shape
        aNewSubShape: TopoDS_Shape
        aGenS: TopoDS_Shape
        aSubGenS: TopoDS_Shape
        aDirS: Sweep_NumShape

        Return
        -------
        bool

        Description
        -----------
        Returns true if aNewSubShape (addressed by aSubGenS and aDirS) must be added in aNewShape (addressed by aGenS and aDirS).

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_GGDShapeIsToAdd(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns true if the shape, generated from theS is used in result shape.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_GenIsUsed(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape
        aDirS: Sweep_NumShape

        Return
        -------
        bool

        Description
        -----------
        Returns true if aDirS and aGenS addresses a resulting Shape. In some specific cases the shape can be geometrically inexsistant, then this function returns false.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_HasShape(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Returns true if aGenS cannot be transformed.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_IsInvariant(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Returns true if the initial shape aGenS is used in result shape.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_IsUsed(self, *args)

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

        Description
        -----------
        Returns the resulting Shape indexed by the last Vertex of myDirWire and myGenShape.

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the resulting Shape indexed by the last Vertex of myDirWire and aGenS.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_LastShape(self, *args)

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

        Parameters
        ----------
        aGenV: TopoDS_Shape
        aDirE: Sweep_NumShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Builds the edge addressed by [aGenV,aDirE], with its geometric part, but without subcomponents.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_MakeEmptyDirectingEdge(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape
        aDirS: Sweep_NumShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Builds the face addressed by [aGenS,aDirS], with its geometric part, but without subcomponents. The couple aGenS, aDirS can be a 'generating face and a directing vertex' or 'a generating edge and a directing edge'.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_MakeEmptyFace(self, *args)

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

        Parameters
        ----------
        aGenE: TopoDS_Shape
        aDirV: Sweep_NumShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Builds the edge addressed by [aGenE,aDirV], with its geometric part, but without subcomponents.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_MakeEmptyGeneratingEdge(self, *args)

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

        Parameters
        ----------
        aGenV: TopoDS_Shape
        aDirV: Sweep_NumShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Builds the vertex addressed by [aGenV,aDirV], with its geometric part, but without subcomponents.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_MakeEmptyVertex(self, *args)

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

        Parameters
        ----------
        aNewShape: TopoDS_Shape
        aNewSubShape: TopoDS_Shape
        aGenS: TopoDS_Shape
        aSubGenS: TopoDS_Shape
        aDirS: Sweep_NumShape

        Return
        -------
        bool

        Description
        -----------
        In some particular cases the topology of a generated face must be composed of independent closed wires, in this case this function returns true.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SeparatedWires(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape
        aDirS: Sweep_NumShape

        Return
        -------
        None

        Description
        -----------
        Called to propagate the continuity of every vertex between two edges of the generating wire aGenS on the generated edge and faces.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SetContinuity(self, *args)

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

        Parameters
        ----------
        aNewFace: TopoDS_Shape
        aNewEdge: TopoDS_Shape
        aGenE: TopoDS_Shape
        aGenV: TopoDS_Shape
        aDirE: Sweep_NumShape
        orien: TopAbs_Orientation

        Return
        -------
        None

        Description
        -----------
        Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenE, aDirE and aGenV.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SetDirectingPCurve(self, *args)

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

        Parameters
        ----------
        aNewEdge: TopoDS_Shape
        aNewVertex: TopoDS_Shape
        aGenV: TopoDS_Shape
        aDirE: Sweep_NumShape
        aDirV: Sweep_NumShape

        Return
        -------
        None

        Description
        -----------
        Sets the parameter of the new vertex on the new edge. The new edge and new vertex where generated from aGenV aDirE, and aDirV.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SetDirectingParameter(self, *args)

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

        Parameters
        ----------
        aNewFace: TopoDS_Shape
        aNewEdge: TopoDS_Shape
        aGenE: TopoDS_Shape
        aDirE: Sweep_NumShape
        aDirV: Sweep_NumShape
        orien: TopAbs_Orientation

        Return
        -------
        None

        Description
        -----------
        Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenE, aDirE and aDirV.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SetGeneratingPCurve(self, *args)

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

        Parameters
        ----------
        aNewEdge: TopoDS_Shape
        aNewVertex: TopoDS_Shape
        aGenE: TopoDS_Shape
        aGenV: TopoDS_Shape
        aDirV: Sweep_NumShape

        Return
        -------
        None

        Description
        -----------
        Sets the parameter of the new vertex on the new edge. The new edge and new vertex where generated from aGenE, aGenV and aDirV .

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SetGeneratingParameter(self, *args)

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

        Parameters
        ----------
        aNewFace: TopoDS_Shape
        aNewEdge: TopoDS_Shape
        aGenF: TopoDS_Shape
        aGenE: TopoDS_Shape
        aDirV: Sweep_NumShape
        orien: TopAbs_Orientation

        Return
        -------
        None

        Description
        -----------
        Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenF, aGenE and aDirV.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SetPCurve(self, *args)

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

        Parameters
        ----------
        aNewFace: TopoDS_Shape
        aNewVertex: TopoDS_Shape
        aGenF: TopoDS_Shape
        aGenV: TopoDS_Shape
        aDirV: Sweep_NumShape

        Return
        -------
        None

        Description
        -----------
        Sets the parameters of the new vertex on the new face. The new face and new vertex where generated from aGenF, aGenV and aDirV .

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SetParameters(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape
        aDirS: Sweep_NumShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the resulting Shape indexed by aDirS and aGenS.

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the resulting Shape indexed by myDirWire and aGenS.
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the resulting Shape indexed by myDirWire and myGenShape.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_Shape(self, *args)

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

        Parameters
        ----------
        aNewShape: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        In some particular cases the topology of a generated Shell must be composed of independent closed Shells, in this case this function returns a Compound of independent Shells.

        """
        return _BRepSweep.BRepSweep_NumLinearRegularSweep_SplitShell(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_NumLinearRegularSweep

# Register BRepSweep_NumLinearRegularSweep in _BRepSweep:
_BRepSweep.BRepSweep_NumLinearRegularSweep_swigregister(BRepSweep_NumLinearRegularSweep)
class BRepSweep_Prism(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        S: TopoDS_Shape
        V: gp_Vec
        Copy: bool (optional, default to Standard_False)
        Canonize: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Builds the prism of base S and vector V. If C is true, S is copied. If Canonize is true then generated surfaces are attempted to be canonized in simple types.

        Parameters
        ----------
        S: TopoDS_Shape
        D: gp_Dir
        Inf: bool (optional, default to Standard_True)
        Copy: bool (optional, default to Standard_False)
        Canonize: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Builds a semi-infinite or an infinite prism of base S. If Copy is true S is copied. If Inf is true the prism is infinite, if Inf is false the prism is infinite in the direction D. If Canonize is true then generated surfaces are attempted to be canonized in simple types.

        """
        _BRepSweep.BRepSweep_Prism_swiginit(self, _BRepSweep.new_BRepSweep_Prism(*args))

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

        Description
        -----------
        Returns the TopoDS Shape of the bottom of the prism.

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the TopoDS Shape of the bottom of the prism. generated with aGenS (subShape of the generating shape).

        """
        return _BRepSweep.BRepSweep_Prism_FirstShape(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns true if the shape, generated from theS is used in result shape.

        """
        return _BRepSweep.BRepSweep_Prism_GenIsUsed(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Returns true if the aGenS is used in resulting shape.

        """
        return _BRepSweep.BRepSweep_Prism_IsUsed(self, *args)

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

        Description
        -----------
        Returns the TopoDS Shape of the top of the prism.

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the TopoDS Shape of the top of the prism. generated with aGenS (subShape of the generating shape).

        """
        return _BRepSweep.BRepSweep_Prism_LastShape(self, *args)

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

        Description
        -----------
        Returns the TopoDS Shape attached to the prism.

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the TopoDS Shape generated with aGenS (subShape of the generating shape).

        """
        return _BRepSweep.BRepSweep_Prism_Shape(self, *args)

    def Vec(self, *args):
        r"""
        Return
        -------
        gp_Vec

        Description
        -----------
        Returns the Vector of the Prism, if it is an infinite prism the Vec is unitar.

        """
        return _BRepSweep.BRepSweep_Prism_Vec(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_Prism

# Register BRepSweep_Prism in _BRepSweep:
_BRepSweep.BRepSweep_Prism_swigregister(BRepSweep_Prism)
class BRepSweep_Revol(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        S: TopoDS_Shape
        A: gp_Ax1
        D: float
        C: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Builds the Revol of meridian S axis A and angle D. If C is true S is copied.

        Parameters
        ----------
        S: TopoDS_Shape
        A: gp_Ax1
        C: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Builds the Revol of meridian S axis A and angle 2*Pi. If C is true S is copied.

        """
        _BRepSweep.BRepSweep_Revol_swiginit(self, _BRepSweep.new_BRepSweep_Revol(*args))

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

        Description
        -----------
        returns the angle.

        """
        return _BRepSweep.BRepSweep_Revol_Angle(self, *args)

    def Axe(self, *args):
        r"""
        Return
        -------
        gp_Ax1

        Description
        -----------
        returns the axis.

        """
        return _BRepSweep.BRepSweep_Revol_Axe(self, *args)

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

        Description
        -----------
        Returns the first shape of the revol (coinciding with the generating shape).

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the first shape of the revol (coinciding with the generating shape).

        """
        return _BRepSweep.BRepSweep_Revol_FirstShape(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Returns true if the aGenS is used in resulting Shape.

        """
        return _BRepSweep.BRepSweep_Revol_IsUsed(self, *args)

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

        Description
        -----------
        Returns the TopoDS Shape of the top of the prism.

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the TopoDS Shape of the top of the prism. generated with aGenS (subShape of the generating shape).

        """
        return _BRepSweep.BRepSweep_Revol_LastShape(self, *args)

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

        Description
        -----------
        Returns the TopoDS Shape attached to the Revol.

        Parameters
        ----------
        aGenS: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the TopoDS Shape generated with aGenS (subShape of the generating shape).

        """
        return _BRepSweep.BRepSweep_Revol_Shape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_Revol

# Register BRepSweep_Revol in _BRepSweep:
_BRepSweep.BRepSweep_Revol_swigregister(BRepSweep_Revol)
class BRepSweep_Tool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aShape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Initialize the tool with <aShape>. The IndexTool must prepare an indexation for all the subshapes of this shape.

        """
        _BRepSweep.BRepSweep_Tool_swiginit(self, _BRepSweep.new_BRepSweep_Tool(*args))

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

        Parameters
        ----------
        aShape: TopoDS_Shape

        Return
        -------
        int

        Description
        -----------
        Returns the index of <aShape>.

        """
        return _BRepSweep.BRepSweep_Tool_Index(self, *args)

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

        Description
        -----------
        Returns the number of subshapes in the shape.

        """
        return _BRepSweep.BRepSweep_Tool_NbShapes(self, *args)

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

        Parameters
        ----------
        aShape: TopoDS_Shape

        Return
        -------
        TopAbs_Orientation

        Description
        -----------
        Returns the Orientation of <aShape>.

        """
        return _BRepSweep.BRepSweep_Tool_Orientation(self, *args)

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        Or: TopAbs_Orientation

        Return
        -------
        None

        Description
        -----------
        Set the Orientation of <aShape> with Or.

        """
        return _BRepSweep.BRepSweep_Tool_SetOrientation(self, *args)

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

        Parameters
        ----------
        anIndex: int

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the Shape at Index anIdex.

        """
        return _BRepSweep.BRepSweep_Tool_Shape(self, *args)

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

        Parameters
        ----------
        aShape: TopoDS_Shape

        Return
        -------
        TopAbs_ShapeEnum

        Description
        -----------
        Returns the type of <aShape>.

        """
        return _BRepSweep.BRepSweep_Tool_Type(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_Tool

# Register BRepSweep_Tool in _BRepSweep:
_BRepSweep.BRepSweep_Tool_swigregister(BRepSweep_Tool)
class BRepSweep_Trsf(BRepSweep_NumLinearRegularSweep):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

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

        Description
        -----------
        ends the construction of the swept primitive calling the virtual geometric functions that can't be called in the initialize.

        """
        return _BRepSweep.BRepSweep_Trsf_Init(self, *args)

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

        Parameters
        ----------
        aGenS: TopoDS_Shape
        aDirV: Sweep_NumShape

        Return
        -------
        bool

        Description
        -----------
        function called to analyze the way of construction of the shapes generated by aGenS and aDirV.

        """
        return _BRepSweep.BRepSweep_Trsf_Process(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_Trsf

# Register BRepSweep_Trsf in _BRepSweep:
_BRepSweep.BRepSweep_Trsf_swigregister(BRepSweep_Trsf)
class BRepSweep_Rotation(BRepSweep_Trsf):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        S: TopoDS_Shape
        N: Sweep_NumShape
        L: TopLoc_Location
        A: gp_Ax1
        D: float
        C: bool

        Return
        -------
        None

        Description
        -----------
        Creates a topology by rotating <S> around A with the angle D.

        """
        _BRepSweep.BRepSweep_Rotation_swiginit(self, _BRepSweep.new_BRepSweep_Rotation(*args))

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

        Description
        -----------
        returns the angle.

        """
        return _BRepSweep.BRepSweep_Rotation_Angle(self, *args)

    def Axe(self, *args):
        r"""
        Return
        -------
        gp_Ax1

        Description
        -----------
        returns the axis.

        """
        return _BRepSweep.BRepSweep_Rotation_Axe(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_Rotation

# Register BRepSweep_Rotation in _BRepSweep:
_BRepSweep.BRepSweep_Rotation_swigregister(BRepSweep_Rotation)
class BRepSweep_Translation(BRepSweep_Trsf):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        S: TopoDS_Shape
        N: Sweep_NumShape
        L: TopLoc_Location
        V: gp_Vec
        C: bool
        Canonize: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates a topology by translating <S> with the vector <V>. If C is true S Sucomponents are copied. If Canonize is true then generated surfaces are attempted to be canonized in simple types.

        """
        _BRepSweep.BRepSweep_Translation_swiginit(self, _BRepSweep.new_BRepSweep_Translation(*args))

    def Vec(self, *args):
        r"""
        Return
        -------
        gp_Vec

        Description
        -----------
        Returns the Vector of the Prism, if it is an infinite prism the Vec is unitar.

        """
        return _BRepSweep.BRepSweep_Translation_Vec(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepSweep.delete_BRepSweep_Translation

# Register BRepSweep_Translation in _BRepSweep:
_BRepSweep.BRepSweep_Translation_swigregister(BRepSweep_Translation)



