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

"""
NLPlate module, see official documentation at
https://www.opencascade.com/doc/occt-7.7.0/refman/html/package_nlplate.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 _NLPlate
else:
    import _NLPlate

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _NLPlate:
_NLPlate.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 _NLPlate.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.gp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.Plate
import OCC.Core.TColgp
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.Geom
import OCC.Core.GeomAbs

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




def Handle_NLPlate_HGPPConstraint_Create():
    return _NLPlate.Handle_NLPlate_HGPPConstraint_Create()

def Handle_NLPlate_HGPPConstraint_DownCast(t):
    return _NLPlate.Handle_NLPlate_HGPPConstraint_DownCast(t)

def Handle_NLPlate_HGPPConstraint_IsNull(t):
    return _NLPlate.Handle_NLPlate_HGPPConstraint_IsNull(t)

def Handle_NLPlate_HPG0Constraint_Create():
    return _NLPlate.Handle_NLPlate_HPG0Constraint_Create()

def Handle_NLPlate_HPG0Constraint_DownCast(t):
    return _NLPlate.Handle_NLPlate_HPG0Constraint_DownCast(t)

def Handle_NLPlate_HPG0Constraint_IsNull(t):
    return _NLPlate.Handle_NLPlate_HPG0Constraint_IsNull(t)

def Handle_NLPlate_HPG1Constraint_Create():
    return _NLPlate.Handle_NLPlate_HPG1Constraint_Create()

def Handle_NLPlate_HPG1Constraint_DownCast(t):
    return _NLPlate.Handle_NLPlate_HPG1Constraint_DownCast(t)

def Handle_NLPlate_HPG1Constraint_IsNull(t):
    return _NLPlate.Handle_NLPlate_HPG1Constraint_IsNull(t)

def Handle_NLPlate_HPG0G1Constraint_Create():
    return _NLPlate.Handle_NLPlate_HPG0G1Constraint_Create()

def Handle_NLPlate_HPG0G1Constraint_DownCast(t):
    return _NLPlate.Handle_NLPlate_HPG0G1Constraint_DownCast(t)

def Handle_NLPlate_HPG0G1Constraint_IsNull(t):
    return _NLPlate.Handle_NLPlate_HPG0G1Constraint_IsNull(t)

def Handle_NLPlate_HPG2Constraint_Create():
    return _NLPlate.Handle_NLPlate_HPG2Constraint_Create()

def Handle_NLPlate_HPG2Constraint_DownCast(t):
    return _NLPlate.Handle_NLPlate_HPG2Constraint_DownCast(t)

def Handle_NLPlate_HPG2Constraint_IsNull(t):
    return _NLPlate.Handle_NLPlate_HPG2Constraint_IsNull(t)

def Handle_NLPlate_HPG0G2Constraint_Create():
    return _NLPlate.Handle_NLPlate_HPG0G2Constraint_Create()

def Handle_NLPlate_HPG0G2Constraint_DownCast(t):
    return _NLPlate.Handle_NLPlate_HPG0G2Constraint_DownCast(t)

def Handle_NLPlate_HPG0G2Constraint_IsNull(t):
    return _NLPlate.Handle_NLPlate_HPG0G2Constraint_IsNull(t)

def Handle_NLPlate_HPG3Constraint_Create():
    return _NLPlate.Handle_NLPlate_HPG3Constraint_Create()

def Handle_NLPlate_HPG3Constraint_DownCast(t):
    return _NLPlate.Handle_NLPlate_HPG3Constraint_DownCast(t)

def Handle_NLPlate_HPG3Constraint_IsNull(t):
    return _NLPlate.Handle_NLPlate_HPG3Constraint_IsNull(t)

def Handle_NLPlate_HPG0G3Constraint_Create():
    return _NLPlate.Handle_NLPlate_HPG0G3Constraint_Create()

def Handle_NLPlate_HPG0G3Constraint_DownCast(t):
    return _NLPlate.Handle_NLPlate_HPG0G3Constraint_DownCast(t)

def Handle_NLPlate_HPG0G3Constraint_IsNull(t):
    return _NLPlate.Handle_NLPlate_HPG0G3Constraint_IsNull(t)
class NLPlate_ListIteratorOfStackOfPlate(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):
        _NLPlate.NLPlate_ListIteratorOfStackOfPlate_swiginit(self, _NLPlate.new_NLPlate_ListIteratorOfStackOfPlate(*args))

    def More(self):
        return _NLPlate.NLPlate_ListIteratorOfStackOfPlate_More(self)

    def Next(self):
        return _NLPlate.NLPlate_ListIteratorOfStackOfPlate_Next(self)

    def Value(self):
        return _NLPlate.NLPlate_ListIteratorOfStackOfPlate_Value(self)

    def ChangeValue(self):
        return _NLPlate.NLPlate_ListIteratorOfStackOfPlate_ChangeValue(self)
    __swig_destroy__ = _NLPlate.delete_NLPlate_ListIteratorOfStackOfPlate

# Register NLPlate_ListIteratorOfStackOfPlate in _NLPlate:
_NLPlate.NLPlate_ListIteratorOfStackOfPlate_swigregister(NLPlate_ListIteratorOfStackOfPlate)
class NLPlate_SequenceOfHGPPConstraint(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_begin(self)

    def end(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_end(self)

    def cbegin(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_cbegin(self)

    def cend(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_cend(self)

    def __init__(self, *args):
        _NLPlate.NLPlate_SequenceOfHGPPConstraint_swiginit(self, _NLPlate.new_NLPlate_SequenceOfHGPPConstraint(*args))

    def Size(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Size(self)

    def Length(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Length(self)

    def Lower(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Lower(self)

    def Upper(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Upper(self)

    def IsEmpty(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_IsEmpty(self)

    def Reverse(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Reverse(self)

    def Exchange(self, I, J):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Assign(self, theOther)

    def Set(self, theOther):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Set(self, theOther)

    def Remove(self, *args):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Remove(self, *args)

    def Append(self, *args):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Append(self, *args)

    def Prepend(self, *args):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Split(self, theIndex, theSeq)

    def First(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_First(self)

    def ChangeFirst(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_ChangeFirst(self)

    def Last(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Last(self)

    def ChangeLast(self):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_ChangeLast(self)

    def Value(self, theIndex):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _NLPlate.NLPlate_SequenceOfHGPPConstraint_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _NLPlate.delete_NLPlate_SequenceOfHGPPConstraint

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


# Register NLPlate_SequenceOfHGPPConstraint in _NLPlate:
_NLPlate.NLPlate_SequenceOfHGPPConstraint_swigregister(NLPlate_SequenceOfHGPPConstraint)
class NLPlate_StackOfPlate(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _NLPlate.NLPlate_StackOfPlate_begin(self)

    def end(self):
        return _NLPlate.NLPlate_StackOfPlate_end(self)

    def cbegin(self):
        return _NLPlate.NLPlate_StackOfPlate_cbegin(self)

    def cend(self):
        return _NLPlate.NLPlate_StackOfPlate_cend(self)

    def __init__(self, *args):
        _NLPlate.NLPlate_StackOfPlate_swiginit(self, _NLPlate.new_NLPlate_StackOfPlate(*args))

    def Size(self):
        return _NLPlate.NLPlate_StackOfPlate_Size(self)

    def Assign(self, theOther):
        return _NLPlate.NLPlate_StackOfPlate_Assign(self, theOther)

    def Set(self, theOther):
        return _NLPlate.NLPlate_StackOfPlate_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _NLPlate.NLPlate_StackOfPlate_Clear(self, theAllocator)

    def First(self):
        return _NLPlate.NLPlate_StackOfPlate_First(self)

    def Last(self):
        return _NLPlate.NLPlate_StackOfPlate_Last(self)

    def Append(self, *args):
        return _NLPlate.NLPlate_StackOfPlate_Append(self, *args)

    def Prepend(self, *args):
        return _NLPlate.NLPlate_StackOfPlate_Prepend(self, *args)

    def RemoveFirst(self):
        return _NLPlate.NLPlate_StackOfPlate_RemoveFirst(self)

    def Remove(self, theIter):
        return _NLPlate.NLPlate_StackOfPlate_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _NLPlate.NLPlate_StackOfPlate_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _NLPlate.NLPlate_StackOfPlate_InsertAfter(self, *args)

    def Reverse(self):
        return _NLPlate.NLPlate_StackOfPlate_Reverse(self)
    __swig_destroy__ = _NLPlate.delete_NLPlate_StackOfPlate

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


# Register NLPlate_StackOfPlate in _NLPlate:
_NLPlate.NLPlate_StackOfPlate_swigregister(NLPlate_StackOfPlate)
class NLPlate_HGPPConstraint(OCC.Core.Standard.Standard_Transient):
    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 ActiveOrder(self, *args):
        r"""
        Return
        -------
        int

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_ActiveOrder(self, *args)

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

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_G0Criterion(self, *args)

    def G0Target(self, *args):
        r"""
        Return
        -------
        gp_XYZ

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_G0Target(self, *args)

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

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_G1Criterion(self, *args)

    def G1Target(self, *args):
        r"""
        Return
        -------
        Plate_D1

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_G1Target(self, *args)

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

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_G2Criterion(self, *args)

    def G2Target(self, *args):
        r"""
        Return
        -------
        Plate_D2

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_G2Target(self, *args)

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

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_G3Criterion(self, *args)

    def G3Target(self, *args):
        r"""
        Return
        -------
        Plate_D3

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_G3Target(self, *args)

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

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_IncrementalLoadAllowed(self, *args)

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

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_IsG0(self, *args)

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

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_Orientation(self, *args)

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

        Parameters
        ----------
        ActiveOrder: int

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetActiveOrder(self, *args)

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

        Parameters
        ----------
        TolDist: float

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetG0Criterion(self, *args)

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

        Parameters
        ----------
        TolAng: float

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetG1Criterion(self, *args)

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

        Parameters
        ----------
        TolCurv: float

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetG2Criterion(self, *args)

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

        Parameters
        ----------
        TolG3: float

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetG3Criterion(self, *args)

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

        Parameters
        ----------
        ILA: bool

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetIncrementalLoadAllowed(self, *args)

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

        Parameters
        ----------
        Orient: int (optional, default to 0)

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetOrientation(self, *args)

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

        Parameters
        ----------
        UV: gp_XY

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetUV(self, *args)

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

        Parameters
        ----------
        UVFree: bool

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_SetUVFreeSliding(self, *args)

    def UV(self, *args):
        r"""
        Return
        -------
        gp_XY

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_UV(self, *args)

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

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

        """
        return _NLPlate.NLPlate_HGPPConstraint_UVFreeSliding(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_HGPPConstraint

# Register NLPlate_HGPPConstraint in _NLPlate:
_NLPlate.NLPlate_HGPPConstraint_swigregister(NLPlate_HGPPConstraint)
class NLPlate_NLPlate(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        InitialSurface: Geom_Surface

        Return
        -------
        None

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

        """
        _NLPlate.NLPlate_NLPlate_swiginit(self, _NLPlate.new_NLPlate_NLPlate(*args))

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

        Parameters
        ----------
        NbIterations: int (optional, default to 3)

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_NLPlate_ConstraintsSliding(self, *args)

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

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

        """
        return _NLPlate.NLPlate_NLPlate_Continuity(self, *args)

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

        Parameters
        ----------
        point2d: gp_XY

        Return
        -------
        gp_XYZ

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

        """
        return _NLPlate.NLPlate_NLPlate_Evaluate(self, *args)

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

        Parameters
        ----------
        point2d: gp_XY
        iu: int
        iv: int

        Return
        -------
        gp_XYZ

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

        """
        return _NLPlate.NLPlate_NLPlate_EvaluateDerivative(self, *args)

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

        Parameters
        ----------
        ord: int (optional, default to 2)
        InitialConsraintOrder: int (optional, default to 1)
        NbIncrements: int (optional, default to 4)
        UVSliding: bool (optional, default to Standard_False)

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_NLPlate_IncrementalSolve(self, *args)

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

        Description
        -----------
        Reset the plate in the initial state ( same as after create((surface)).

        """
        return _NLPlate.NLPlate_NLPlate_Init(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _NLPlate.NLPlate_NLPlate_IsDone(self, *args)

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

        Parameters
        ----------
        GConst: NLPlate_HGPPConstraint

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_NLPlate_Load(self, *args)

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

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

        """
        return _NLPlate.NLPlate_NLPlate_MaxActiveConstraintOrder(self, *args)

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

        Parameters
        ----------
        ord: int (optional, default to 2)
        InitialConsraintOrder: int (optional, default to 1)

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_NLPlate_Solve(self, *args)

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

        Parameters
        ----------
        ord: int (optional, default to 2)
        InitialConsraintOrder: int (optional, default to 1)

        Return
        -------
        None

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

        """
        return _NLPlate.NLPlate_NLPlate_Solve2(self, *args)

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

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

        """
        return _NLPlate.NLPlate_NLPlate_destroy(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_NLPlate

# Register NLPlate_NLPlate in _NLPlate:
_NLPlate.NLPlate_NLPlate_swigregister(NLPlate_NLPlate)
class NLPlate_HPG0Constraint(NLPlate_HGPPConstraint):
    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
        ----------
        UV: gp_XY
        Value: gp_XYZ

        Return
        -------
        None

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

        """
        _NLPlate.NLPlate_HPG0Constraint_swiginit(self, _NLPlate.new_NLPlate_HPG0Constraint(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_HPG0Constraint

# Register NLPlate_HPG0Constraint in _NLPlate:
_NLPlate.NLPlate_HPG0Constraint_swigregister(NLPlate_HPG0Constraint)
class NLPlate_HPG1Constraint(NLPlate_HGPPConstraint):
    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
        ----------
        UV: gp_XY
        D1T: Plate_D1

        Return
        -------
        None

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

        """
        _NLPlate.NLPlate_HPG1Constraint_swiginit(self, _NLPlate.new_NLPlate_HPG1Constraint(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_HPG1Constraint

# Register NLPlate_HPG1Constraint in _NLPlate:
_NLPlate.NLPlate_HPG1Constraint_swigregister(NLPlate_HPG1Constraint)
class NLPlate_HPG0G1Constraint(NLPlate_HPG0Constraint):
    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
        ----------
        UV: gp_XY
        Value: gp_XYZ
        D1T: Plate_D1

        Return
        -------
        None

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

        """
        _NLPlate.NLPlate_HPG0G1Constraint_swiginit(self, _NLPlate.new_NLPlate_HPG0G1Constraint(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_HPG0G1Constraint

# Register NLPlate_HPG0G1Constraint in _NLPlate:
_NLPlate.NLPlate_HPG0G1Constraint_swigregister(NLPlate_HPG0G1Constraint)
class NLPlate_HPG2Constraint(NLPlate_HPG1Constraint):
    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
        ----------
        UV: gp_XY
        D1T: Plate_D1
        D2T: Plate_D2

        Return
        -------
        None

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

        """
        _NLPlate.NLPlate_HPG2Constraint_swiginit(self, _NLPlate.new_NLPlate_HPG2Constraint(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_HPG2Constraint

# Register NLPlate_HPG2Constraint in _NLPlate:
_NLPlate.NLPlate_HPG2Constraint_swigregister(NLPlate_HPG2Constraint)
class NLPlate_HPG0G2Constraint(NLPlate_HPG0G1Constraint):
    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
        ----------
        UV: gp_XY
        Value: gp_XYZ
        D1T: Plate_D1
        D2T: Plate_D2

        Return
        -------
        None

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

        """
        _NLPlate.NLPlate_HPG0G2Constraint_swiginit(self, _NLPlate.new_NLPlate_HPG0G2Constraint(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_HPG0G2Constraint

# Register NLPlate_HPG0G2Constraint in _NLPlate:
_NLPlate.NLPlate_HPG0G2Constraint_swigregister(NLPlate_HPG0G2Constraint)
class NLPlate_HPG3Constraint(NLPlate_HPG2Constraint):
    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
        ----------
        UV: gp_XY
        D1T: Plate_D1
        D2T: Plate_D2
        D3T: Plate_D3

        Return
        -------
        None

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

        """
        _NLPlate.NLPlate_HPG3Constraint_swiginit(self, _NLPlate.new_NLPlate_HPG3Constraint(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_HPG3Constraint

# Register NLPlate_HPG3Constraint in _NLPlate:
_NLPlate.NLPlate_HPG3Constraint_swigregister(NLPlate_HPG3Constraint)
class NLPlate_HPG0G3Constraint(NLPlate_HPG0G2Constraint):
    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
        ----------
        UV: gp_XY
        Value: gp_XYZ
        D1T: Plate_D1
        D2T: Plate_D2
        D3T: Plate_D3

        Return
        -------
        None

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

        """
        _NLPlate.NLPlate_HPG0G3Constraint_swiginit(self, _NLPlate.new_NLPlate_HPG0G3Constraint(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _NLPlate.delete_NLPlate_HPG0G3Constraint

# Register NLPlate_HPG0G3Constraint in _NLPlate:
_NLPlate.NLPlate_HPG0G3Constraint_swigregister(NLPlate_HPG0G3Constraint)



