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

"""
BRepPrim module, see official documentation at
https://www.opencascade.com/doc/occt-7.7.0/refman/html/package_brepprim.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _BRepPrim
else:
    import _BRepPrim

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _BRepPrim:
_BRepPrim.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 _BRepPrim.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.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

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

BRepPrim_XMin = _BRepPrim.BRepPrim_XMin
BRepPrim_XMax = _BRepPrim.BRepPrim_XMax
BRepPrim_YMin = _BRepPrim.BRepPrim_YMin
BRepPrim_YMax = _BRepPrim.BRepPrim_YMax
BRepPrim_ZMin = _BRepPrim.BRepPrim_ZMin
BRepPrim_ZMax = _BRepPrim.BRepPrim_ZMax


class BRepPrim_Direction(IntEnum):
	BRepPrim_XMin = 0
	BRepPrim_XMax = 1
	BRepPrim_YMin = 2
	BRepPrim_YMax = 3
	BRepPrim_ZMin = 4
	BRepPrim_ZMax = 5
BRepPrim_XMin = BRepPrim_Direction.BRepPrim_XMin
BRepPrim_XMax = BRepPrim_Direction.BRepPrim_XMax
BRepPrim_YMin = BRepPrim_Direction.BRepPrim_YMin
BRepPrim_YMax = BRepPrim_Direction.BRepPrim_YMax
BRepPrim_ZMin = BRepPrim_Direction.BRepPrim_ZMin
BRepPrim_ZMax = BRepPrim_Direction.BRepPrim_ZMax

class BRepPrim_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"""
        Return
        -------
        None

        Description
        -----------
        Creates an empty, useless builder. necesseray for compilation.

        Parameters
        ----------
        B: BRep_Builder

        Return
        -------
        None

        Description
        -----------
        Creates from a builder.

        """
        _BRepPrim.BRepPrim_Builder_swiginit(self, _BRepPrim.new_BRepPrim_Builder(*args))

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

        Parameters
        ----------
        E: TopoDS_Edge
        V: TopoDS_Vertex
        P: float
        direct: bool

        Return
        -------
        None

        Description
        -----------
        Adds the vertex <v> in the edge <e>. <p> is the parameter of the vertex on the edge. if direct is false the vertex is reversed.

        Parameters
        ----------
        E: TopoDS_Edge
        V: TopoDS_Vertex
        P1: float
        P2: float

        Return
        -------
        None

        Description
        -----------
        Adds the vertex <v> in the edge <e>. <p1,p2> are the parameters of the vertex on the closed edge.

        """
        return _BRepPrim.BRepPrim_Builder_AddEdgeVertex(self, *args)

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

        Parameters
        ----------
        F: TopoDS_Face
        W: TopoDS_Wire

        Return
        -------
        None

        Description
        -----------
        Adds the wire <w> in the face <f>.

        """
        return _BRepPrim.BRepPrim_Builder_AddFaceWire(self, *args)

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

        Parameters
        ----------
        Sh: TopoDS_Shell
        F: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Adds the face <f> in the shell <sh>.

        """
        return _BRepPrim.BRepPrim_Builder_AddShellFace(self, *args)

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

        Parameters
        ----------
        W: TopoDS_Wire
        E: TopoDS_Edge
        direct: bool

        Return
        -------
        None

        Description
        -----------
        Adds the edge <e> in the wire <w>, if direct is false the edge is reversed.

        """
        return _BRepPrim.BRepPrim_Builder_AddWireEdge(self, *args)

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

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

        """
        return _BRepPrim.BRepPrim_Builder_Builder(self, *args)

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

        Parameters
        ----------
        E: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        This is called once an edge is completed. it gives the opportunity to perform any post treatment.

        """
        return _BRepPrim.BRepPrim_Builder_CompleteEdge(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        This is called once a face is completed. it gives the opportunity to perform any post treatment.

        """
        return _BRepPrim.BRepPrim_Builder_CompleteFace(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shell

        Return
        -------
        None

        Description
        -----------
        This is called once a shell is completed. it gives the opportunity to perform any post treatment.

        """
        return _BRepPrim.BRepPrim_Builder_CompleteShell(self, *args)

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

        Parameters
        ----------
        W: TopoDS_Wire

        Return
        -------
        None

        Description
        -----------
        This is called once a wire is completed. it gives the opportunity to perform any post treatment.

        """
        return _BRepPrim.BRepPrim_Builder_CompleteWire(self, *args)

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

        Parameters
        ----------
        E: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        Returns in <e> a degenerated edge.

        """
        return _BRepPrim.BRepPrim_Builder_MakeDegeneratedEdge(self, *args)

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

        Parameters
        ----------
        E: TopoDS_Edge
        L: gp_Lin

        Return
        -------
        None

        Description
        -----------
        Returns in <e> an edge built with the line equation <l>.

        Parameters
        ----------
        E: TopoDS_Edge
        C: gp_Circ

        Return
        -------
        None

        Description
        -----------
        Returns in <e> an edge built with the circle equation <c>.

        """
        return _BRepPrim.BRepPrim_Builder_MakeEdge(self, *args)

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

        Parameters
        ----------
        F: TopoDS_Face
        P: gp_Pln

        Return
        -------
        None

        Description
        -----------
        Returns in <f> a face built with the plane equation <p>. used by all primitives.

        """
        return _BRepPrim.BRepPrim_Builder_MakeFace(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shell

        Return
        -------
        None

        Description
        -----------
        Make a empty shell.

        """
        return _BRepPrim.BRepPrim_Builder_MakeShell(self, *args)

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

        Parameters
        ----------
        V: TopoDS_Vertex
        P: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Returns in <v> a vertex built with the point <p>.

        """
        return _BRepPrim.BRepPrim_Builder_MakeVertex(self, *args)

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

        Parameters
        ----------
        W: TopoDS_Wire

        Return
        -------
        None

        Description
        -----------
        Returns in <w> an empty wire.

        """
        return _BRepPrim.BRepPrim_Builder_MakeWire(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Reverses the face <f>.

        """
        return _BRepPrim.BRepPrim_Builder_ReverseFace(self, *args)

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

        Parameters
        ----------
        E: TopoDS_Edge
        F: TopoDS_Face
        L: gp_Lin2d

        Return
        -------
        None

        Description
        -----------
        Sets the line <l> to be the curve representing the edge <e> in the parametric space of the surface of <f>.

        Parameters
        ----------
        E: TopoDS_Edge
        F: TopoDS_Face
        L1: gp_Lin2d
        L2: gp_Lin2d

        Return
        -------
        None

        Description
        -----------
        Sets the lines <l1,l2> to be the curves representing the edge <e> in the parametric space of the closed surface of <f>.

        Parameters
        ----------
        E: TopoDS_Edge
        F: TopoDS_Face
        C: gp_Circ2d

        Return
        -------
        None

        Description
        -----------
        Sets the circle <c> to be the curve representing the edge <e> in the parametric space of the surface of <f>.

        """
        return _BRepPrim.BRepPrim_Builder_SetPCurve(self, *args)

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

        Parameters
        ----------
        E: TopoDS_Edge
        V: TopoDS_Vertex
        P1: float
        P2: float

        Return
        -------
        None

        Description
        -----------
        <p1,p2> are the parameters of the vertex on the edge. the edge is a closed curve.

        """
        return _BRepPrim.BRepPrim_Builder_SetParameters(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_Builder

# Register BRepPrim_Builder in _BRepPrim:
_BRepPrim.BRepPrim_Builder_swigregister(BRepPrim_Builder)
class BRepPrim_FaceBuilder(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        B: BRep_Builder
        S: Geom_Surface

        Return
        -------
        None

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

        Parameters
        ----------
        B: BRep_Builder
        S: Geom_Surface
        UMin: float
        UMax: float
        VMin: float
        VMax: float

        Return
        -------
        None

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

        """
        _BRepPrim.BRepPrim_FaceBuilder_swiginit(self, _BRepPrim.new_BRepPrim_FaceBuilder(*args))

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

        Parameters
        ----------
        I: int

        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the edge of index <i> 1 - edge vmin 2 - edge umax 3 - edge vmax 4 - edge umin.

        """
        return _BRepPrim.BRepPrim_FaceBuilder_Edge(self, *args)

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

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

        """
        return _BRepPrim.BRepPrim_FaceBuilder_Face(self, *args)

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

        Parameters
        ----------
        B: BRep_Builder
        S: Geom_Surface

        Return
        -------
        None

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

        Parameters
        ----------
        B: BRep_Builder
        S: Geom_Surface
        UMin: float
        UMax: float
        VMin: float
        VMax: float

        Return
        -------
        None

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

        """
        return _BRepPrim.BRepPrim_FaceBuilder_Init(self, *args)

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

        Parameters
        ----------
        I: int

        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the vertex of index <i> 1 - vertex umin,vmin 2 - vertex umax,vmin 3 - vertex umax,vmax 4 - vertex umin,vmax.

        """
        return _BRepPrim.BRepPrim_FaceBuilder_Vertex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_FaceBuilder

# Register BRepPrim_FaceBuilder in _BRepPrim:
_BRepPrim.BRepPrim_FaceBuilder_swigregister(BRepPrim_FaceBuilder)
class BRepPrim_GWedge(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
        -----------
        Default constructor.

        Parameters
        ----------
        B: BRepPrim_Builder
        Axes: gp_Ax2
        dx: float
        dy: float
        dz: float

        Return
        -------
        None

        Description
        -----------
        Creates a gwedge algorithm. <axes> is the axis system for the primitive. //! xmin, ymin, zmin are set to 0 xmax, ymax, zmax are set to dx, dy, dz z2min = zmin z2max = zmax x2min = xmin x2max = xmax the result is a box dx,dy,dz should be positive.

        Parameters
        ----------
        B: BRepPrim_Builder
        Axes: gp_Ax2
        dx: float
        dy: float
        dz: float
        ltx: float

        Return
        -------
        None

        Description
        -----------
        Creates a gwedge primitive. <axes> is the axis system for the primitive. //! xmin, ymin, zmin are set to 0 xmax, ymax, zmax are set to dx, dy, dz z2min = zmin z2max = zmax x2min = ltx x2max = ltx the result is a step right angular wedge dx,dy,dz should be positive ltx should not be negative.

        Parameters
        ----------
        B: BRepPrim_Builder
        Axes: gp_Ax2
        xmin: float
        ymin: float
        zmin: float
        z2min: float
        x2min: float
        xmax: float
        ymax: float
        zmax: float
        z2max: float
        x2max: float

        Return
        -------
        None

        Description
        -----------
        Create a gwedge primitive. <axes> is the axis system for the primitive. //! all the fields are set to the corresponding value xyzmax - xyzmin should be positive zx2max - zx2min should not be negative.

        """
        _BRepPrim.BRepPrim_GWedge_swiginit(self, _BRepPrim.new_BRepPrim_GWedge(*args))

    def Axes(self, *args):
        r"""
        Return
        -------
        gp_Ax2

        Description
        -----------
        Returns the coordinates system from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_Axes(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction

        Return
        -------
        None

        Description
        -----------
        Closes <self> in <d1> direction. a face and its edges or vertices are said existant.

        """
        return _BRepPrim.BRepPrim_GWedge_Close(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction
        d2: BRepPrim_Direction

        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the edge of <self> located in <d1><d2> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_Edge(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction

        Return
        -------
        TopoDS_Face

        Description
        -----------
        Returns the face of <self> located in <d1> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_Face(self, *args)

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

        Description
        -----------
        Returns x2max value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetX2Max(self, *args)

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

        Description
        -----------
        Returns x2min value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetX2Min(self, *args)

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

        Description
        -----------
        Returns xmax value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetXMax(self, *args)

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

        Description
        -----------
        Returns xmin value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetXMin(self, *args)

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

        Description
        -----------
        Returns ymax value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetYMax(self, *args)

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

        Description
        -----------
        Returns ymin value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetYMin(self, *args)

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

        Description
        -----------
        Returns z2max value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetZ2Max(self, *args)

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

        Description
        -----------
        Returns z2min value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetZ2Min(self, *args)

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

        Description
        -----------
        Returns zmax value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetZMax(self, *args)

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

        Description
        -----------
        Returns zmin value from <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_GetZMin(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction
        d2: BRepPrim_Direction

        Return
        -------
        bool

        Description
        -----------
        Returns true if <self> has an edge in <d1><d2> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_HasEdge(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction

        Return
        -------
        bool

        Description
        -----------
        Returns true if <self> has a face in <d1> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_HasFace(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction
        d2: BRepPrim_Direction
        d3: BRepPrim_Direction

        Return
        -------
        bool

        Description
        -----------
        Returns true if <self> has a vertex in <d1><d2><d3> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_HasVertex(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction

        Return
        -------
        bool

        Description
        -----------
        Returns true if <self> has a wire in <d1> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_HasWire(self, *args)

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

        Description
        -----------
        Checks a shape on degeneracy return true if a shape is degenerated.

        """
        return _BRepPrim.BRepPrim_GWedge_IsDegeneratedShape(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction

        Return
        -------
        bool

        Description
        -----------
        Returns true if <self> is open in <d1> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_IsInfinite(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction
        d2: BRepPrim_Direction

        Return
        -------
        gp_Lin

        Description
        -----------
        Returns the line of the edge of <self> located in <d1><d2> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_Line(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction

        Return
        -------
        None

        Description
        -----------
        Opens <self> in <d1> direction. a face and its edges or vertices are said nonexistant.

        """
        return _BRepPrim.BRepPrim_GWedge_Open(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction

        Return
        -------
        gp_Pln

        Description
        -----------
        Returns the plane of the face of <self> located in <d1> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_Plane(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction
        d2: BRepPrim_Direction
        d3: BRepPrim_Direction

        Return
        -------
        gp_Pnt

        Description
        -----------
        Returns the point of the vertex of <self> located in <d1><d2><d3> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_Point(self, *args)

    def Shell(self, *args):
        r"""
        Return
        -------
        TopoDS_Shell

        Description
        -----------
        Returns the shell containing the faces of <self>.

        """
        return _BRepPrim.BRepPrim_GWedge_Shell(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction
        d2: BRepPrim_Direction
        d3: BRepPrim_Direction

        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the vertex of <self> located in <d1><d2><d3> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_Vertex(self, *args)

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

        Parameters
        ----------
        d1: BRepPrim_Direction

        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire of <self> located in <d1> direction.

        """
        return _BRepPrim.BRepPrim_GWedge_Wire(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_GWedge

# Register BRepPrim_GWedge in _BRepPrim:
_BRepPrim.BRepPrim_GWedge_swigregister(BRepPrim_GWedge)
class BRepPrim_OneAxis(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 Angle(self, *args):
        r"""
        Return
        -------
        float

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

        Parameters
        ----------
        A: float

        Return
        -------
        None

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

        """
        return _BRepPrim.BRepPrim_OneAxis_Angle(self, *args)

    def Axes(self, *args):
        r"""
        Return
        -------
        gp_Ax2

        Description
        -----------
        Returns the ax2 from <self>.

        Parameters
        ----------
        A: gp_Ax2

        Return
        -------
        None

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

        """
        return _BRepPrim.BRepPrim_OneAxis_Axes(self, *args)

    def AxisBottomVertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the vertex at the bottom altitude on the axis.

        """
        return _BRepPrim.BRepPrim_OneAxis_AxisBottomVertex(self, *args)

    def AxisEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the edge built along the axis and oriented on +z of the axis.

        """
        return _BRepPrim.BRepPrim_OneAxis_AxisEdge(self, *args)

    def AxisEndWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire in the end face with the axisedge.

        """
        return _BRepPrim.BRepPrim_OneAxis_AxisEndWire(self, *args)

    def AxisStartWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire in the start face with the axisedge.

        """
        return _BRepPrim.BRepPrim_OneAxis_AxisStartWire(self, *args)

    def AxisTopVertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the vertex at the top altitude on the axis.

        """
        return _BRepPrim.BRepPrim_OneAxis_AxisTopVertex(self, *args)

    def BottomEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the edge at vmin. if meridianclosed() the topedge and the bottomedge are the same edge.

        """
        return _BRepPrim.BRepPrim_OneAxis_BottomEdge(self, *args)

    def BottomEndVertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the vertex (angle,vmax).

        """
        return _BRepPrim.BRepPrim_OneAxis_BottomEndVertex(self, *args)

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

        Description
        -----------
        Returns the bottom planar face. it is oriented toward the -z axis (outside).

        """
        return _BRepPrim.BRepPrim_OneAxis_BottomFace(self, *args)

    def BottomStartVertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the vertex (0,vmin).

        """
        return _BRepPrim.BRepPrim_OneAxis_BottomStartVertex(self, *args)

    def BottomWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire in the bottom face.

        """
        return _BRepPrim.BRepPrim_OneAxis_BottomWire(self, *args)

    def EndBottomEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the linear edge between end face and bottom face.

        """
        return _BRepPrim.BRepPrim_OneAxis_EndBottomEdge(self, *args)

    def EndEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the edge at angle angle. if !hassides() the startedge and the endedge are the same edge.

        """
        return _BRepPrim.BRepPrim_OneAxis_EndEdge(self, *args)

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

        Description
        -----------
        Returns the face ending the slice, it is oriented toward the exterior of the primitive.

        """
        return _BRepPrim.BRepPrim_OneAxis_EndFace(self, *args)

    def EndTopEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the linear edge between end face and top face.

        """
        return _BRepPrim.BRepPrim_OneAxis_EndTopEdge(self, *args)

    def EndWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire in the end face.

        """
        return _BRepPrim.BRepPrim_OneAxis_EndWire(self, *args)

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

        Description
        -----------
        Returns true if there is a bottom face. //! that is neither: vmininfinite() meridianclosed() meridianonaxis(vmin).

        """
        return _BRepPrim.BRepPrim_OneAxis_HasBottom(self, *args)

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

        Description
        -----------
        Returns true if there are start and end faces. //! that is: 2*pi - angle > precision::angular().

        """
        return _BRepPrim.BRepPrim_OneAxis_HasSides(self, *args)

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

        Description
        -----------
        Returns true if there is a top face. //! that is neither: vmaxinfinite() meridianclosed() meridianonaxis(vmax).

        """
        return _BRepPrim.BRepPrim_OneAxis_HasTop(self, *args)

    def LateralEndWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire with in lateral face with the end edge.

        """
        return _BRepPrim.BRepPrim_OneAxis_LateralEndWire(self, *args)

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

        Description
        -----------
        Returns the lateral face. it is oriented toward the outside of the primitive.

        """
        return _BRepPrim.BRepPrim_OneAxis_LateralFace(self, *args)

    def LateralStartWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire in the lateral face with the start edge.

        """
        return _BRepPrim.BRepPrim_OneAxis_LateralStartWire(self, *args)

    def LateralWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire in the lateral face.

        """
        return _BRepPrim.BRepPrim_OneAxis_LateralWire(self, *args)

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

        Description
        -----------
        Returns a face with no edges. the surface is the lateral surface with normals pointing outward. the u parameter is the angle with the origin on the x axis. the v parameter is the parameter of the meridian.

        """
        return _BRepPrim.BRepPrim_OneAxis_MakeEmptyLateralFace(self, *args)

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

        Parameters
        ----------
        Ang: float

        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns an edge with a 3d curve made from the meridian in the xz plane rotated by <ang> around the z-axis. ang may be 0 or myangle.

        """
        return _BRepPrim.BRepPrim_OneAxis_MakeEmptyMeridianEdge(self, *args)

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

        Description
        -----------
        Returns true if the meridian is closed. default implementation  is meridianvalue(vmin).isequal(meridianvalue(vmax), precision::confusion()).

        """
        return _BRepPrim.BRepPrim_OneAxis_MeridianClosed(self, *args)

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

        Parameters
        ----------
        V: float

        Return
        -------
        bool

        Description
        -----------
        Returns true if the point of parameter <v> on the meridian is on the axis. default implementation is abs(meridianvalue(v).x()) < precision::confusion().

        """
        return _BRepPrim.BRepPrim_OneAxis_MeridianOnAxis(self, *args)

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

        Parameters
        ----------
        V: float

        Return
        -------
        gp_Pnt2d

        Description
        -----------
        Returns the meridian point at parameter <v> in the plane xz.

        """
        return _BRepPrim.BRepPrim_OneAxis_MeridianValue(self, *args)

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

        Parameters
        ----------
        MeridianOffset: float (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        The meridianoffset is added to the parameters on the meridian curve and to the v values of the pcurves. this is used for the sphere for example, to give a range on the meridian edge which is not vmin, vmax.

        """
        return _BRepPrim.BRepPrim_OneAxis_SetMeridianOffset(self, *args)

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

        Parameters
        ----------
        E: TopoDS_Edge
        F: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Sets the parametric curve of the edge <e> in the face <f> to be the 2d representation of the meridian.

        """
        return _BRepPrim.BRepPrim_OneAxis_SetMeridianPCurve(self, *args)

    def Shell(self, *args):
        r"""
        Return
        -------
        TopoDS_Shell

        Description
        -----------
        Returns the shell containing all the faces of the primitive.

        """
        return _BRepPrim.BRepPrim_OneAxis_Shell(self, *args)

    def StartBottomEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the linear edge between start face and bottom face.

        """
        return _BRepPrim.BRepPrim_OneAxis_StartBottomEdge(self, *args)

    def StartEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the edge at angle 0.

        """
        return _BRepPrim.BRepPrim_OneAxis_StartEdge(self, *args)

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

        Description
        -----------
        Returns the face starting the slice, it is oriented toward the exterior of the primitive.

        """
        return _BRepPrim.BRepPrim_OneAxis_StartFace(self, *args)

    def StartTopEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the linear edge between start face and top face.

        """
        return _BRepPrim.BRepPrim_OneAxis_StartTopEdge(self, *args)

    def StartWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire in the start face.

        """
        return _BRepPrim.BRepPrim_OneAxis_StartWire(self, *args)

    def TopEdge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the edge at vmax. if meridianclosed() the topedge and the bottomedge are the same edge.

        """
        return _BRepPrim.BRepPrim_OneAxis_TopEdge(self, *args)

    def TopEndVertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the vertex (angle,vmax).

        """
        return _BRepPrim.BRepPrim_OneAxis_TopEndVertex(self, *args)

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

        Description
        -----------
        Returns the top planar face. it is oriented toward the +z axis (outside).

        """
        return _BRepPrim.BRepPrim_OneAxis_TopFace(self, *args)

    def TopStartVertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the vertex (0,vmax).

        """
        return _BRepPrim.BRepPrim_OneAxis_TopStartVertex(self, *args)

    def TopWire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the wire in the top face.

        """
        return _BRepPrim.BRepPrim_OneAxis_TopWire(self, *args)

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

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

        Parameters
        ----------
        V: float

        Return
        -------
        None

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

        """
        return _BRepPrim.BRepPrim_OneAxis_VMax(self, *args)

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

        Description
        -----------
        Returns true if vmax is infinite. default precision::ispositiveinfinite(vmax);.

        """
        return _BRepPrim.BRepPrim_OneAxis_VMaxInfinite(self, *args)

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

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

        Parameters
        ----------
        V: float

        Return
        -------
        None

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

        """
        return _BRepPrim.BRepPrim_OneAxis_VMin(self, *args)

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

        Description
        -----------
        Returns true if vmin is infinite. default precision::isnegativeinfinite(vmax);.

        """
        return _BRepPrim.BRepPrim_OneAxis_VMinInfinite(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_OneAxis

# Register BRepPrim_OneAxis in _BRepPrim:
_BRepPrim.BRepPrim_OneAxis_swigregister(BRepPrim_OneAxis)
class BRepPrim_Revolution(BRepPrim_OneAxis):
    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
        ----------
        A: gp_Ax2
        VMin: float
        VMax: float
        M: Geom_Curve
        PM: Geom2d_Curve

        Return
        -------
        None

        Description
        -----------
        Create a revolution body <m> is the meridian nd must be in the xz plane of <a>. <pm> is the meridian in the xz plane.

        """
        _BRepPrim.BRepPrim_Revolution_swiginit(self, _BRepPrim.new_BRepPrim_Revolution(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_Revolution

# Register BRepPrim_Revolution in _BRepPrim:
_BRepPrim.BRepPrim_Revolution_swigregister(BRepPrim_Revolution)
class BRepPrim_Wedge(BRepPrim_GWedge):
    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
        -----------
        Default constructor.

        Parameters
        ----------
        Axes: gp_Ax2
        dx: float
        dy: float
        dz: float

        Return
        -------
        None

        Description
        -----------
        Creates a wedge algorithm. <axes> is the axis system for the primitive. //! xmin, ymin, zmin are set to 0 xmax, ymax, zmax are set to dx, dy, dz z2min = zmin z2max = zmax x2min = xmin x2max = xmax the result is a box dx,dy,dz should be positive.

        Parameters
        ----------
        Axes: gp_Ax2
        dx: float
        dy: float
        dz: float
        ltx: float

        Return
        -------
        None

        Description
        -----------
        Creates a wedge primitive. <axes> is the axis system for the primitive. //! xmin, ymin, zmin are set to 0 xmax, ymax, zmax are set to dx, dy, dz z2min = zmin z2max = zmax x2min = ltx x2max = ltx the result is a step right angular wedge dx,dy,dz should be positive ltx should not be negative.

        Parameters
        ----------
        Axes: gp_Ax2
        xmin: float
        ymin: float
        zmin: float
        z2min: float
        x2min: float
        xmax: float
        ymax: float
        zmax: float
        z2max: float
        x2max: float

        Return
        -------
        None

        Description
        -----------
        Create a wedge primitive. <axes> is the axis system for the primitive. //! all the fields are set to the corresponding value xyzmax - xyzmin should be positive zx2max - zx2min should not be negative.

        """
        _BRepPrim.BRepPrim_Wedge_swiginit(self, _BRepPrim.new_BRepPrim_Wedge(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_Wedge

# Register BRepPrim_Wedge in _BRepPrim:
_BRepPrim.BRepPrim_Wedge_swigregister(BRepPrim_Wedge)
class BRepPrim_Cone(BRepPrim_Revolution):
    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
        ----------
        Angle: float
        Position: gp_Ax2
        Height: float
        Radius: float (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        The step definition angle = semi-angle of the cone position: the coordinate system height: height of the cone. radius: radius of truncated face at z = 0 //! the apex is on z < 0 //! errors: height < resolution angle < resolution / height angle > pi/2 - resolution / height.

        Parameters
        ----------
        Angle: float

        Return
        -------
        None

        Description
        -----------
        Infinite cone at origin on z negative.

        Parameters
        ----------
        Angle: float
        Apex: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Infinite cone at apex on z negative.

        Parameters
        ----------
        Angle: float
        Axes: gp_Ax2

        Return
        -------
        None

        Description
        -----------
        Infinite cone with axes.

        Parameters
        ----------
        R1: float
        R2: float
        H: float

        Return
        -------
        None

        Description
        -----------
        Create a cone at origin on z axis, of height h, radius r1 at z = 0, r2 at z = h, x is the origin of angles. if r1 or r2 is 0 there is an apex. otherwise, it is a truncated cone. //! error: r1 and r2 < resolution r1 or r2 negative abs(r1-r2) < resolution h < resolution h negative.

        Parameters
        ----------
        Center: gp_Pnt
        R1: float
        R2: float
        H: float

        Return
        -------
        None

        Description
        -----------
        Same as above but at a given point.

        Parameters
        ----------
        Axes: gp_Ax2
        R1: float
        R2: float
        H: float

        Return
        -------
        None

        Description
        -----------
        Same as above with given axes system.

        """
        _BRepPrim.BRepPrim_Cone_swiginit(self, _BRepPrim.new_BRepPrim_Cone(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_Cone

# Register BRepPrim_Cone in _BRepPrim:
_BRepPrim.BRepPrim_Cone_swigregister(BRepPrim_Cone)
class BRepPrim_Cylinder(BRepPrim_Revolution):
    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
        ----------
        Position: gp_Ax2
        Radius: float
        Height: float

        Return
        -------
        None

        Description
        -----------
        The step definition position: center of a face and axis radius: radius of cylinder height: distance between faces on positive side //! errors: height < resolution radius < resolution.

        Parameters
        ----------
        Radius: float

        Return
        -------
        None

        Description
        -----------
        Infinite cylinder at origin on z negative.

        Parameters
        ----------
        Center: gp_Pnt
        Radius: float

        Return
        -------
        None

        Description
        -----------
        Infinite cylinder at center on z negative.

        Parameters
        ----------
        Axes: gp_Ax2
        Radius: float

        Return
        -------
        None

        Description
        -----------
        Infinite cylinder at axes on z negative.

        Parameters
        ----------
        R: float
        H: float

        Return
        -------
        None

        Description
        -----------
        Create a cylinder at origin on z axis, of height h and radius r error: radius < resolution h < resolution h negative.

        Parameters
        ----------
        Center: gp_Pnt
        R: float
        H: float

        Return
        -------
        None

        Description
        -----------
        Same as above but at a given point.

        """
        _BRepPrim.BRepPrim_Cylinder_swiginit(self, _BRepPrim.new_BRepPrim_Cylinder(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_Cylinder

# Register BRepPrim_Cylinder in _BRepPrim:
_BRepPrim.BRepPrim_Cylinder_swigregister(BRepPrim_Cylinder)
class BRepPrim_Sphere(BRepPrim_Revolution):
    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
        ----------
        Radius: float

        Return
        -------
        None

        Description
        -----------
        Creates a sphere at origin with radius. the axes of the sphere are the reference axes. an error is raised if the radius is < resolution.

        Parameters
        ----------
        Center: gp_Pnt
        Radius: float

        Return
        -------
        None

        Description
        -----------
        Creates a sphere with center and radius. axes are the reference axes. this is the step constructor.

        Parameters
        ----------
        Axes: gp_Ax2
        Radius: float

        Return
        -------
        None

        Description
        -----------
        Creates a sphere with given axes system.

        """
        _BRepPrim.BRepPrim_Sphere_swiginit(self, _BRepPrim.new_BRepPrim_Sphere(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_Sphere

# Register BRepPrim_Sphere in _BRepPrim:
_BRepPrim.BRepPrim_Sphere_swigregister(BRepPrim_Sphere)
class BRepPrim_Torus(BRepPrim_Revolution):
    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
        ----------
        Position: gp_Ax2
        Major: float
        Minor: float

        Return
        -------
        None

        Description
        -----------
        The step definition position: center and axes major, minor: radii //! errors: major < resolution minor < resolution.

        Parameters
        ----------
        Major: float
        Minor: float

        Return
        -------
        None

        Description
        -----------
        Torus centered at origin.

        Parameters
        ----------
        Center: gp_Pnt
        Major: float
        Minor: float

        Return
        -------
        None

        Description
        -----------
        Torus at center.

        """
        _BRepPrim.BRepPrim_Torus_swiginit(self, _BRepPrim.new_BRepPrim_Torus(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepPrim.delete_BRepPrim_Torus

# Register BRepPrim_Torus in _BRepPrim:
_BRepPrim.BRepPrim_Torus_swigregister(BRepPrim_Torus)



