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

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

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

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


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


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


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


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

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

    def value(self) -> "PyObject *":
        return _BRepPrim.SwigPyIterator_value(self)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        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: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    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.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"""
        Creates an empty, useless builder. necesseray for compilation.

        Returns
        -------
        None
        Creates from a builder.

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

        Returns
        -------
        None

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

    def AddEdgeVertex(self, *args) -> "void":
        r"""
        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
        P: float
        direct: bool

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

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

        Returns
        -------
        None

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

    def AddFaceWire(self, *args) -> "void":
        r"""
        Adds the wire <w> in the face <f>.

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

        Returns
        -------
        None

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

    def AddShellFace(self, *args) -> "void":
        r"""
        Adds the face <f> in the shell <sh>.

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

        Returns
        -------
        None

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

    def AddWireEdge(self, *args) -> "void":
        r"""
        Adds the edge <e> in the wire <w>, if direct is false the edge is reversed.

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

        Returns
        -------
        None

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

    def Builder(self, *args) -> "BRep_Builder const &":
        r"""
        No available documentation.

        Returns
        -------
        BRep_Builder

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

    def CompleteEdge(self, *args) -> "void":
        r"""
        This is called once an edge is completed. it gives the opportunity to perform any post treatment.

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

        Returns
        -------
        None

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

    def CompleteFace(self, *args) -> "void":
        r"""
        This is called once a face is completed. it gives the opportunity to perform any post treatment.

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

        Returns
        -------
        None

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

    def CompleteShell(self, *args) -> "void":
        r"""
        This is called once a shell is completed. it gives the opportunity to perform any post treatment.

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

        Returns
        -------
        None

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

    def CompleteWire(self, *args) -> "void":
        r"""
        This is called once a wire is completed. it gives the opportunity to perform any post treatment.

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

        Returns
        -------
        None

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

    def MakeDegeneratedEdge(self, *args) -> "void":
        r"""
        Returns in <e> a degenerated edge.

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

        Returns
        -------
        None

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

    def MakeEdge(self, *args) -> "void":
        r"""
        Returns in <e> an edge built with the line equation <l>.

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

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

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

        Returns
        -------
        None

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

    def MakeFace(self, *args) -> "void":
        r"""
        Returns in <f> a face built with the plane equation <p>. used by all primitives.

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

        Returns
        -------
        None

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

    def MakeShell(self, *args) -> "void":
        r"""
        Make a empty shell.

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

        Returns
        -------
        None

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

    def MakeVertex(self, *args) -> "void":
        r"""
        Returns in <v> a vertex built with the point <p>.

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

        Returns
        -------
        None

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

    def MakeWire(self, *args) -> "void":
        r"""
        Returns in <w> an empty wire.

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

        Returns
        -------
        None

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

    def ReverseFace(self, *args) -> "void":
        r"""
        Reverses the face <f>.

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

        Returns
        -------
        None

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

    def SetPCurve(self, *args) -> "void":
        r"""
        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
        L: gp_Lin2d

        Returns
        -------
        None
        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
        L1: gp_Lin2d
        L2: gp_Lin2d

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

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

        Returns
        -------
        None

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

    def SetParameters(self, *args) -> "void":
        r"""
        <p1,p2> are the parameters of the vertex on the edge. the edge is a closed curve.

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

        Returns
        -------
        None

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

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

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

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

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

        Returns
        -------
        None

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

    def Edge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the edge of index <i> 1 - edge vmin 2 - edge umax 3 - edge vmax 4 - edge umin.

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

        Returns
        -------
        TopoDS_Edge

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

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

        Returns
        -------
        TopoDS_Face

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

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

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

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

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

        Returns
        -------
        None

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

    def Vertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the vertex of index <i> 1 - vertex umin,vmin 2 - vertex umax,vmin 3 - vertex umax,vmax 4 - vertex umin,vmax.

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

        Returns
        -------
        TopoDS_Vertex

        """
        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"""
        Default constructor.

        Returns
        -------
        None
        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

        Returns
        -------
        None
        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
        dx: float
        dy: float
        dz: float
        ltx: float

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

        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

        Returns
        -------
        None

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

    def Axes(self, *args) -> "gp_Ax2":
        r"""
        Returns the coordinates system from <self>.

        Returns
        -------
        gp_Ax2

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

    def Close(self, *args) -> "void":
        r"""
        Closes <self> in <d1> direction. a face and its edges or vertices are said existant.

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

        Returns
        -------
        None

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

    def Edge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the edge of <self> located in <d1><d2> direction.

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

        Returns
        -------
        TopoDS_Edge

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

    def Face(self, *args) -> "TopoDS_Face const":
        r"""
        Returns the face of <self> located in <d1> direction.

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

        Returns
        -------
        TopoDS_Face

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

    def GetX2Max(self, *args) -> "Standard_Real":
        r"""
        Returns x2max value from <self>.

        Returns
        -------
        float

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

    def GetX2Min(self, *args) -> "Standard_Real":
        r"""
        Returns x2min value from <self>.

        Returns
        -------
        float

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

    def GetXMax(self, *args) -> "Standard_Real":
        r"""
        Returns xmax value from <self>.

        Returns
        -------
        float

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

    def GetXMin(self, *args) -> "Standard_Real":
        r"""
        Returns xmin value from <self>.

        Returns
        -------
        float

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

    def GetYMax(self, *args) -> "Standard_Real":
        r"""
        Returns ymax value from <self>.

        Returns
        -------
        float

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

    def GetYMin(self, *args) -> "Standard_Real":
        r"""
        Returns ymin value from <self>.

        Returns
        -------
        float

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

    def GetZ2Max(self, *args) -> "Standard_Real":
        r"""
        Returns z2max value from <self>.

        Returns
        -------
        float

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

    def GetZ2Min(self, *args) -> "Standard_Real":
        r"""
        Returns z2min value from <self>.

        Returns
        -------
        float

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

    def GetZMax(self, *args) -> "Standard_Real":
        r"""
        Returns zmax value from <self>.

        Returns
        -------
        float

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

    def GetZMin(self, *args) -> "Standard_Real":
        r"""
        Returns zmin value from <self>.

        Returns
        -------
        float

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

    def HasEdge(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <self> has an edge in <d1><d2> direction.

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

        Returns
        -------
        bool

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

    def HasFace(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <self> has a face in <d1> direction.

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

        Returns
        -------
        bool

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

    def HasVertex(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <self> has a vertex in <d1><d2><d3> direction.

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

        Returns
        -------
        bool

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

    def HasWire(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <self> has a wire in <d1> direction.

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

        Returns
        -------
        bool

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

    def IsDegeneratedShape(self, *args) -> "Standard_Boolean":
        r"""
        Checkes a shape on degeneracy returns true if a shape is degenerated.

        Returns
        -------
        bool

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

    def IsInfinite(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <self> is open in <d1> direction.

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

        Returns
        -------
        bool

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

    def Line(self, *args) -> "gp_Lin":
        r"""
        Returns the line of the edge of <self> located in <d1><d2> direction.

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

        Returns
        -------
        gp_Lin

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

    def Open(self, *args) -> "void":
        r"""
        Opens <self> in <d1> direction. a face and its edges or vertices are said nonexistant.

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

        Returns
        -------
        None

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

    def Plane(self, *args) -> "gp_Pln":
        r"""
        Returns the plane of the face of <self> located in <d1> direction.

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

        Returns
        -------
        gp_Pln

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

    def Point(self, *args) -> "gp_Pnt":
        r"""
        Returns the point of the vertex of <self> located in <d1><d2><d3> direction.

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

        Returns
        -------
        gp_Pnt

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

    def Shell(self, *args) -> "TopoDS_Shell const":
        r"""
        Returns the shell containing the faces of <self>.

        Returns
        -------
        TopoDS_Shell

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

    def Vertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the vertex of <self> located in <d1><d2><d3> direction.

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

        Returns
        -------
        TopoDS_Vertex

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

    def Wire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire of <self> located in <d1> direction.

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

        Returns
        -------
        TopoDS_Wire

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

        Returns
        -------
        float
        No available documentation.

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

        Returns
        -------
        None

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

    def Axes(self, *args) -> "void":
        r"""
        Returns the ax2 from <self>.

        Returns
        -------
        gp_Ax2
        No available documentation.

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

        Returns
        -------
        None

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

    def AxisBottomVertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the vertex at the bottom altitude on the axis.

        Returns
        -------
        TopoDS_Vertex

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

    def AxisEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the edge built along the axis and oriented on +z of the axis.

        Returns
        -------
        TopoDS_Edge

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

    def AxisEndWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire in the end face with the axisedge.

        Returns
        -------
        TopoDS_Wire

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

    def AxisStartWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire in the start face with the axisedge.

        Returns
        -------
        TopoDS_Wire

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

    def AxisTopVertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the vertex at the top altitude on the axis.

        Returns
        -------
        TopoDS_Vertex

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

    def BottomEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the edge at vmin. if meridianclosed() the topedge and the bottomedge are the same edge.

        Returns
        -------
        TopoDS_Edge

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

    def BottomEndVertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the vertex (angle,vmax).

        Returns
        -------
        TopoDS_Vertex

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

    def BottomFace(self, *args) -> "TopoDS_Face const":
        r"""
        Returns the bottom planar face. it is oriented toward the -z axis (outside).

        Returns
        -------
        TopoDS_Face

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

    def BottomStartVertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the vertex (0,vmin).

        Returns
        -------
        TopoDS_Vertex

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

    def BottomWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire in the bottom face.

        Returns
        -------
        TopoDS_Wire

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

    def EndBottomEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the linear edge between end face and bottom face.

        Returns
        -------
        TopoDS_Edge

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

    def EndEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the edge at angle angle. if !hassides() the startedge and the endedge are the same edge.

        Returns
        -------
        TopoDS_Edge

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

    def EndFace(self, *args) -> "TopoDS_Face const":
        r"""
        Returns the face ending the slice, it is oriented toward the exterior of the primitive.

        Returns
        -------
        TopoDS_Face

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

    def EndTopEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the linear edge between end face and top face.

        Returns
        -------
        TopoDS_Edge

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

    def EndWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire in the end face.

        Returns
        -------
        TopoDS_Wire

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

    def HasBottom(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if there is a bottom face. //! that is neither : vmininfinite() meridianclosed() meridianonaxis(vmin).

        Returns
        -------
        bool

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

    def HasSides(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if there are start and end faces. //! that is : 2*pi - angle > precision::angular().

        Returns
        -------
        bool

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

    def HasTop(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if there is a top face. //! that is neither : vmaxinfinite() meridianclosed() meridianonaxis(vmax).

        Returns
        -------
        bool

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

    def LateralEndWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire with in lateral face with the end edge.

        Returns
        -------
        TopoDS_Wire

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

    def LateralFace(self, *args) -> "TopoDS_Face const":
        r"""
        Returns the lateral face. it is oriented toward the outside of the primitive.

        Returns
        -------
        TopoDS_Face

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

    def LateralStartWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire in the lateral face with the start edge.

        Returns
        -------
        TopoDS_Wire

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

    def LateralWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire in the lateral face.

        Returns
        -------
        TopoDS_Wire

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

    def MakeEmptyLateralFace(self, *args) -> "TopoDS_Face":
        r"""
        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.

        Returns
        -------
        TopoDS_Face

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

    def MakeEmptyMeridianEdge(self, *args) -> "TopoDS_Edge":
        r"""
        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.

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

        Returns
        -------
        TopoDS_Edge

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

    def MeridianClosed(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the meridian is closed. default implementation  is meridianvalue(vmin).isequal(meridianvalue(vmax), precision::confusion()).

        Returns
        -------
        bool

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

    def MeridianOnAxis(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the point of parameter <v> on the meridian is on the axis. default implementation is abs(meridianvalue(v).x()) < precision::confusion().

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

        Returns
        -------
        bool

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

    def MeridianValue(self, *args) -> "gp_Pnt2d":
        r"""
        Returns the meridian point at parameter <v> in the plane xz.

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

        Returns
        -------
        gp_Pnt2d

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

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

        Parameters
        ----------
        MeridianOffset: float,optional
        	default value is 0

        Returns
        -------
        None

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

    def SetMeridianPCurve(self, *args) -> "void":
        r"""
        Sets the parametric curve of the edge <e> in the face <f> to be the 2d representation of the meridian.

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

        Returns
        -------
        None

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

    def Shell(self, *args) -> "TopoDS_Shell const":
        r"""
        Returns the shell containing all the faces of the primitive.

        Returns
        -------
        TopoDS_Shell

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

    def StartBottomEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the linear edge between start face and bottom face.

        Returns
        -------
        TopoDS_Edge

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

    def StartEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the edge at angle 0.

        Returns
        -------
        TopoDS_Edge

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

    def StartFace(self, *args) -> "TopoDS_Face const":
        r"""
        Returns the face starting the slice, it is oriented toward the exterior of the primitive.

        Returns
        -------
        TopoDS_Face

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

    def StartTopEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the linear edge between start face and top face.

        Returns
        -------
        TopoDS_Edge

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

    def StartWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire in the start face.

        Returns
        -------
        TopoDS_Wire

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

    def TopEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the edge at vmax. if meridianclosed() the topedge and the bottomedge are the same edge.

        Returns
        -------
        TopoDS_Edge

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

    def TopEndVertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the vertex (angle,vmax).

        Returns
        -------
        TopoDS_Vertex

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

    def TopFace(self, *args) -> "TopoDS_Face const":
        r"""
        Returns the top planar face. it is oriented toward the +z axis (outside).

        Returns
        -------
        TopoDS_Face

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

    def TopStartVertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the vertex (0,vmax).

        Returns
        -------
        TopoDS_Vertex

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

    def TopWire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the wire in the top face.

        Returns
        -------
        TopoDS_Wire

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

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

        Returns
        -------
        float
        No available documentation.

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

        Returns
        -------
        None

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

    def VMaxInfinite(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if vmax is infinite. default precision::ispositiveinfinite(vmax);.

        Returns
        -------
        bool

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

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

        Returns
        -------
        float
        No available documentation.

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

        Returns
        -------
        None

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

    def VMinInfinite(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if vmin is infinite. default precision::isnegativeinfinite(vmax);.

        Returns
        -------
        bool

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

        Parameters
        ----------
        A: gp_Ax2
        VMin: float
        VMax: float
        M: Geom_Curve
        PM: Geom2d_Curve

        Returns
        -------
        None

        """
        _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"""
        Default constructor.

        Returns
        -------
        None
        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

        Returns
        -------
        None
        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
        dx: float
        dy: float
        dz: float
        ltx: float

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

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

        Returns
        -------
        None

        """
        _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"""
        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
        Position: gp_Ax2
        Height: float
        Radius: float,optional
        	default value is 0

        Returns
        -------
        None
        Infinite cone at origin on z negative.

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

        Returns
        -------
        None
        Infinite cone at apex on z negative.

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

        Returns
        -------
        None
        Infinite cone with axes.

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

        Returns
        -------
        None
        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
        ----------
        R1: float
        R2: float
        H: float

        Returns
        -------
        None
        Same as above but at a given point.

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

        Returns
        -------
        None
        Same as above with given axes system.

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

        Returns
        -------
        None

        """
        _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"""
        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
        ----------
        Position: gp_Ax2
        Radius: float
        Height: float

        Returns
        -------
        None
        Infinite cylinder at origin on z negative.

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

        Returns
        -------
        None
        Infinite cylinder at center on z negative.

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

        Returns
        -------
        None
        Infinite cylinder at axes on z negative.

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

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

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

        Returns
        -------
        None
        Same as above but at a given point.

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

        Returns
        -------
        None

        """
        _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"""
        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
        ----------
        Radius: float

        Returns
        -------
        None
        Creates a sphere with center and radius. axes are the referrence axes. this is the step constructor.

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

        Returns
        -------
        None
        Creates a sphere with given axes system.

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

        Returns
        -------
        None

        """
        _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"""
        The step definition position : center and axes major, minor : radii //! errors : major < resolution minor < resolution.

        Parameters
        ----------
        Position: gp_Ax2
        Major: float
        Minor: float

        Returns
        -------
        None
        Torus centered at origin.

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

        Returns
        -------
        None
        Torus at center.

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

        Returns
        -------
        None

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





