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





from sys import version_info
if version_info >= (3,0,0):
    new_instancemethod = lambda func, inst, cls: _GeomTools.SWIG_PyInstanceMethod_New(func)
else:
    from new import instancemethod as new_instancemethod
if version_info >= (2,6,0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_GeomTools', [dirname(__file__)])
        except ImportError:
            import _GeomTools
            return _GeomTools
        if fp is not None:
            try:
                _mod = imp.load_module('_GeomTools', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _GeomTools = swig_import_helper()
    del swig_import_helper
else:
    import _GeomTools
del version_info
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError(name)

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

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0


def _swig_setattr_nondynamic_method(set):
    def set_attr(self,name,value):
        if (name == "thisown"): return self.this.own(value)
        if hasattr(self,name) or (name == "this"):
            set(self,name,value)
        else:
            raise AttributeError("You cannot add attributes to %s" % self)
    return set_attr


class SwigPyIterator(object):
    thisown = _swig_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__ = _GeomTools.delete_SwigPyIterator
    def __iter__(self): return self
SwigPyIterator.value = new_instancemethod(_GeomTools.SwigPyIterator_value,None,SwigPyIterator)
SwigPyIterator.incr = new_instancemethod(_GeomTools.SwigPyIterator_incr,None,SwigPyIterator)
SwigPyIterator.decr = new_instancemethod(_GeomTools.SwigPyIterator_decr,None,SwigPyIterator)
SwigPyIterator.distance = new_instancemethod(_GeomTools.SwigPyIterator_distance,None,SwigPyIterator)
SwigPyIterator.equal = new_instancemethod(_GeomTools.SwigPyIterator_equal,None,SwigPyIterator)
SwigPyIterator.copy = new_instancemethod(_GeomTools.SwigPyIterator_copy,None,SwigPyIterator)
SwigPyIterator.next = new_instancemethod(_GeomTools.SwigPyIterator_next,None,SwigPyIterator)
SwigPyIterator.__next__ = new_instancemethod(_GeomTools.SwigPyIterator___next__,None,SwigPyIterator)
SwigPyIterator.previous = new_instancemethod(_GeomTools.SwigPyIterator_previous,None,SwigPyIterator)
SwigPyIterator.advance = new_instancemethod(_GeomTools.SwigPyIterator_advance,None,SwigPyIterator)
SwigPyIterator.__eq__ = new_instancemethod(_GeomTools.SwigPyIterator___eq__,None,SwigPyIterator)
SwigPyIterator.__ne__ = new_instancemethod(_GeomTools.SwigPyIterator___ne__,None,SwigPyIterator)
SwigPyIterator.__iadd__ = new_instancemethod(_GeomTools.SwigPyIterator___iadd__,None,SwigPyIterator)
SwigPyIterator.__isub__ = new_instancemethod(_GeomTools.SwigPyIterator___isub__,None,SwigPyIterator)
SwigPyIterator.__add__ = new_instancemethod(_GeomTools.SwigPyIterator___add__,None,SwigPyIterator)
SwigPyIterator.__sub__ = new_instancemethod(_GeomTools.SwigPyIterator___sub__,None,SwigPyIterator)
SwigPyIterator_swigregister = _GeomTools.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)

import OCC.Geom
import OCC.MMgt
import OCC.Standard
import OCC.gp
import OCC.TCollection
import OCC.GeomAbs
import OCC.TColgp
import OCC.TColStd
import OCC.Geom2d
import OCC.Message
class geomtools(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def Dump(*args):
        """
        * A set of Curves from Geom2d. Dumps the surface on the stream.

        :param S:
        :type S: Handle_Geom_Surface &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        * Dumps the Curve on the stream.

        :param C:
        :type C: Handle_Geom_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        * Dumps the Curve on the stream.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        """
        return _GeomTools.geomtools_Dump(*args)

    Dump = staticmethod(Dump)
    def Write(*args):
        """
        * Writes the surface on the stream.

        :param S:
        :type S: Handle_Geom_Surface &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        * Writes the Curve on the stream.

        :param C:
        :type C: Handle_Geom_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        * Writes the Curve on the stream.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        """
        return _GeomTools.geomtools_Write(*args)

    Write = staticmethod(Write)
    def Read(*args):
        """
        * Reads the surface from the stream.

        :param S:
        :type S: Handle_Geom_Surface &
        :param IS:
        :type IS: Standard_IStream &
        :rtype: void

        * Reads the Curve from the stream.

        :param C:
        :type C: Handle_Geom_Curve &
        :param IS:
        :type IS: Standard_IStream &
        :rtype: void

        * Reads the Curve from the stream.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :param IS:
        :type IS: Standard_IStream &
        :rtype: void

        """
        return _GeomTools.geomtools_Read(*args)

    Read = staticmethod(Read)
    def SetUndefinedTypeHandler(*args):
        """
        :param aHandler:
        :type aHandler: Handle_GeomTools_UndefinedTypeHandler &
        :rtype: void

        """
        return _GeomTools.geomtools_SetUndefinedTypeHandler(*args)

    SetUndefinedTypeHandler = staticmethod(SetUndefinedTypeHandler)
    def GetUndefinedTypeHandler(*args):
        """
        :rtype: Handle_GeomTools_UndefinedTypeHandler

        """
        return _GeomTools.geomtools_GetUndefinedTypeHandler(*args)

    GetUndefinedTypeHandler = staticmethod(GetUndefinedTypeHandler)
    def __init__(self): 
        _GeomTools.geomtools_swiginit(self,_GeomTools.new_geomtools())
    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


geomtools._kill_pointed = new_instancemethod(_GeomTools.geomtools__kill_pointed,None,geomtools)
geomtools_swigregister = _GeomTools.geomtools_swigregister
geomtools_swigregister(geomtools)

def geomtools_Dump(*args):
  """
    * A set of Curves from Geom2d. Dumps the surface on the stream.

    :param S:
    :type S: Handle_Geom_Surface &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    * Dumps the Curve on the stream.

    :param C:
    :type C: Handle_Geom_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    * Dumps the Curve on the stream.

    :param C:
    :type C: Handle_Geom2d_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    """
  return _GeomTools.geomtools_Dump(*args)

def geomtools_Write(*args):
  """
    * Writes the surface on the stream.

    :param S:
    :type S: Handle_Geom_Surface &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    * Writes the Curve on the stream.

    :param C:
    :type C: Handle_Geom_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    * Writes the Curve on the stream.

    :param C:
    :type C: Handle_Geom2d_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    """
  return _GeomTools.geomtools_Write(*args)

def geomtools_Read(*args):
  """
    * Reads the surface from the stream.

    :param S:
    :type S: Handle_Geom_Surface &
    :param IS:
    :type IS: Standard_IStream &
    :rtype: void

    * Reads the Curve from the stream.

    :param C:
    :type C: Handle_Geom_Curve &
    :param IS:
    :type IS: Standard_IStream &
    :rtype: void

    * Reads the Curve from the stream.

    :param C:
    :type C: Handle_Geom2d_Curve &
    :param IS:
    :type IS: Standard_IStream &
    :rtype: void

    """
  return _GeomTools.geomtools_Read(*args)

def geomtools_SetUndefinedTypeHandler(*args):
  """
    :param aHandler:
    :type aHandler: Handle_GeomTools_UndefinedTypeHandler &
    :rtype: void

    """
  return _GeomTools.geomtools_SetUndefinedTypeHandler(*args)

def geomtools_GetUndefinedTypeHandler(*args):
  """
    :rtype: Handle_GeomTools_UndefinedTypeHandler

    """
  return _GeomTools.geomtools_GetUndefinedTypeHandler(*args)

class GeomTools_Curve2dSet(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        """
        * Returns an empty set of Curves.

        :rtype: None

        """
        _GeomTools.GeomTools_Curve2dSet_swiginit(self,_GeomTools.new_GeomTools_Curve2dSet(*args))
    def Clear(self, *args):
        """
        * Clears the content of the set.

        :rtype: None

        """
        return _GeomTools.GeomTools_Curve2dSet_Clear(self, *args)

    def Add(self, *args):
        """
        * Incorporate a new Curve in the set and returns its index.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :rtype: int

        """
        return _GeomTools.GeomTools_Curve2dSet_Add(self, *args)

    def Curve2d(self, *args):
        """
        * Returns the Curve of index <I>.

        :param I:
        :type I: int
        :rtype: Handle_Geom2d_Curve

        """
        return _GeomTools.GeomTools_Curve2dSet_Curve2d(self, *args)

    def Index(self, *args):
        """
        * Returns the index of <L>.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :rtype: int

        """
        return _GeomTools.GeomTools_Curve2dSet_Index(self, *args)

    def DumpToString(self):
        """DumpToString(GeomTools_Curve2dSet self) -> std::string"""
        return _GeomTools.GeomTools_Curve2dSet_DumpToString(self)

    def WriteToString(self):
        """WriteToString(GeomTools_Curve2dSet self) -> std::string"""
        return _GeomTools.GeomTools_Curve2dSet_WriteToString(self)

    def ReadFromString(self, *args):
        """ReadFromString(GeomTools_Curve2dSet self, std::string src)"""
        return _GeomTools.GeomTools_Curve2dSet_ReadFromString(self, *args)

    def PrintCurve2d(*args):
        """
        * Dumps the curve on the stream, if compact is True use the compact format that can be read back.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_Curve2dSet_PrintCurve2d(*args)

    PrintCurve2d = staticmethod(PrintCurve2d)
    def ReadCurve2d(*args):
        """
        * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).

        :param IS:
        :type IS: Standard_IStream &
        :param C:
        :type C: Handle_Geom2d_Curve &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_Curve2dSet_ReadCurve2d(*args)

    ReadCurve2d = staticmethod(ReadCurve2d)
    def SetProgress(self, *args):
        """
        :param PR:
        :type PR: Handle_Message_ProgressIndicator &
        :rtype: None

        """
        return _GeomTools.GeomTools_Curve2dSet_SetProgress(self, *args)

    def GetProgress(self, *args):
        """
        :rtype: Handle_Message_ProgressIndicator

        """
        return _GeomTools.GeomTools_Curve2dSet_GetProgress(self, *args)

    def _kill_pointed(self):
        """_kill_pointed(GeomTools_Curve2dSet self)"""
        return _GeomTools.GeomTools_Curve2dSet__kill_pointed(self)

    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


GeomTools_Curve2dSet.Clear = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_Clear,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.Add = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_Add,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.Curve2d = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_Curve2d,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.Index = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_Index,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.DumpToString = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_DumpToString,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.WriteToString = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_WriteToString,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.ReadFromString = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_ReadFromString,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.SetProgress = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_SetProgress,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.GetProgress = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_GetProgress,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet._kill_pointed = new_instancemethod(_GeomTools.GeomTools_Curve2dSet__kill_pointed,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet_swigregister = _GeomTools.GeomTools_Curve2dSet_swigregister
GeomTools_Curve2dSet_swigregister(GeomTools_Curve2dSet)

def GeomTools_Curve2dSet_PrintCurve2d(*args):
  """
    * Dumps the curve on the stream, if compact is True use the compact format that can be read back.

    :param C:
    :type C: Handle_Geom2d_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :param compact: default value is Standard_False
    :type compact: bool
    :rtype: void

    """
  return _GeomTools.GeomTools_Curve2dSet_PrintCurve2d(*args)

def GeomTools_Curve2dSet_ReadCurve2d(*args):
  """
    * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).

    :param IS:
    :type IS: Standard_IStream &
    :param C:
    :type C: Handle_Geom2d_Curve &
    :rtype: Standard_IStream

    """
  return _GeomTools.GeomTools_Curve2dSet_ReadCurve2d(*args)

class GeomTools_CurveSet(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        """
        * Returns an empty set of Curves.

        :rtype: None

        """
        _GeomTools.GeomTools_CurveSet_swiginit(self,_GeomTools.new_GeomTools_CurveSet(*args))
    def Clear(self, *args):
        """
        * Clears the content of the set.

        :rtype: None

        """
        return _GeomTools.GeomTools_CurveSet_Clear(self, *args)

    def Add(self, *args):
        """
        * Incorporate a new Curve in the set and returns its index.

        :param C:
        :type C: Handle_Geom_Curve &
        :rtype: int

        """
        return _GeomTools.GeomTools_CurveSet_Add(self, *args)

    def Curve(self, *args):
        """
        * Returns the Curve of index <I>.

        :param I:
        :type I: int
        :rtype: Handle_Geom_Curve

        """
        return _GeomTools.GeomTools_CurveSet_Curve(self, *args)

    def Index(self, *args):
        """
        * Returns the index of <L>.

        :param C:
        :type C: Handle_Geom_Curve &
        :rtype: int

        """
        return _GeomTools.GeomTools_CurveSet_Index(self, *args)

    def DumpToString(self):
        """DumpToString(GeomTools_CurveSet self) -> std::string"""
        return _GeomTools.GeomTools_CurveSet_DumpToString(self)

    def WriteToString(self):
        """WriteToString(GeomTools_CurveSet self) -> std::string"""
        return _GeomTools.GeomTools_CurveSet_WriteToString(self)

    def ReadFromString(self, *args):
        """ReadFromString(GeomTools_CurveSet self, std::string src)"""
        return _GeomTools.GeomTools_CurveSet_ReadFromString(self, *args)

    def PrintCurve(*args):
        """
        * Dumps the curve on the stream, if compact is True use the compact format that can be read back.

        :param C:
        :type C: Handle_Geom_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_CurveSet_PrintCurve(*args)

    PrintCurve = staticmethod(PrintCurve)
    def ReadCurve(*args):
        """
        * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).

        :param IS:
        :type IS: Standard_IStream &
        :param C:
        :type C: Handle_Geom_Curve &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_CurveSet_ReadCurve(*args)

    ReadCurve = staticmethod(ReadCurve)
    def SetProgress(self, *args):
        """
        :param PR:
        :type PR: Handle_Message_ProgressIndicator &
        :rtype: None

        """
        return _GeomTools.GeomTools_CurveSet_SetProgress(self, *args)

    def GetProgress(self, *args):
        """
        :rtype: Handle_Message_ProgressIndicator

        """
        return _GeomTools.GeomTools_CurveSet_GetProgress(self, *args)

    def _kill_pointed(self):
        """_kill_pointed(GeomTools_CurveSet self)"""
        return _GeomTools.GeomTools_CurveSet__kill_pointed(self)

    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


GeomTools_CurveSet.Clear = new_instancemethod(_GeomTools.GeomTools_CurveSet_Clear,None,GeomTools_CurveSet)
GeomTools_CurveSet.Add = new_instancemethod(_GeomTools.GeomTools_CurveSet_Add,None,GeomTools_CurveSet)
GeomTools_CurveSet.Curve = new_instancemethod(_GeomTools.GeomTools_CurveSet_Curve,None,GeomTools_CurveSet)
GeomTools_CurveSet.Index = new_instancemethod(_GeomTools.GeomTools_CurveSet_Index,None,GeomTools_CurveSet)
GeomTools_CurveSet.DumpToString = new_instancemethod(_GeomTools.GeomTools_CurveSet_DumpToString,None,GeomTools_CurveSet)
GeomTools_CurveSet.WriteToString = new_instancemethod(_GeomTools.GeomTools_CurveSet_WriteToString,None,GeomTools_CurveSet)
GeomTools_CurveSet.ReadFromString = new_instancemethod(_GeomTools.GeomTools_CurveSet_ReadFromString,None,GeomTools_CurveSet)
GeomTools_CurveSet.SetProgress = new_instancemethod(_GeomTools.GeomTools_CurveSet_SetProgress,None,GeomTools_CurveSet)
GeomTools_CurveSet.GetProgress = new_instancemethod(_GeomTools.GeomTools_CurveSet_GetProgress,None,GeomTools_CurveSet)
GeomTools_CurveSet._kill_pointed = new_instancemethod(_GeomTools.GeomTools_CurveSet__kill_pointed,None,GeomTools_CurveSet)
GeomTools_CurveSet_swigregister = _GeomTools.GeomTools_CurveSet_swigregister
GeomTools_CurveSet_swigregister(GeomTools_CurveSet)

def GeomTools_CurveSet_PrintCurve(*args):
  """
    * Dumps the curve on the stream, if compact is True use the compact format that can be read back.

    :param C:
    :type C: Handle_Geom_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :param compact: default value is Standard_False
    :type compact: bool
    :rtype: void

    """
  return _GeomTools.GeomTools_CurveSet_PrintCurve(*args)

def GeomTools_CurveSet_ReadCurve(*args):
  """
    * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).

    :param IS:
    :type IS: Standard_IStream &
    :param C:
    :type C: Handle_Geom_Curve &
    :rtype: Standard_IStream

    """
  return _GeomTools.GeomTools_CurveSet_ReadCurve(*args)

class GeomTools_SurfaceSet(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        """
        * Returns an empty set of Surfaces.

        :rtype: None

        """
        _GeomTools.GeomTools_SurfaceSet_swiginit(self,_GeomTools.new_GeomTools_SurfaceSet(*args))
    def Clear(self, *args):
        """
        * Clears the content of the set.

        :rtype: None

        """
        return _GeomTools.GeomTools_SurfaceSet_Clear(self, *args)

    def Add(self, *args):
        """
        * Incorporate a new Surface in the set and returns its index.

        :param S:
        :type S: Handle_Geom_Surface &
        :rtype: int

        """
        return _GeomTools.GeomTools_SurfaceSet_Add(self, *args)

    def Surface(self, *args):
        """
        * Returns the Surface of index <I>.

        :param I:
        :type I: int
        :rtype: Handle_Geom_Surface

        """
        return _GeomTools.GeomTools_SurfaceSet_Surface(self, *args)

    def Index(self, *args):
        """
        * Returns the index of <L>.

        :param S:
        :type S: Handle_Geom_Surface &
        :rtype: int

        """
        return _GeomTools.GeomTools_SurfaceSet_Index(self, *args)

    def DumpToString(self):
        """DumpToString(GeomTools_SurfaceSet self) -> std::string"""
        return _GeomTools.GeomTools_SurfaceSet_DumpToString(self)

    def WriteToString(self):
        """WriteToString(GeomTools_SurfaceSet self) -> std::string"""
        return _GeomTools.GeomTools_SurfaceSet_WriteToString(self)

    def ReadFromString(self, *args):
        """ReadFromString(GeomTools_SurfaceSet self, std::string src)"""
        return _GeomTools.GeomTools_SurfaceSet_ReadFromString(self, *args)

    def PrintSurface(*args):
        """
        * Dumps the surface on the stream, if compact is True use the compact format that can be read back.

        :param S:
        :type S: Handle_Geom_Surface &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_SurfaceSet_PrintSurface(*args)

    PrintSurface = staticmethod(PrintSurface)
    def ReadSurface(*args):
        """
        * Reads the surface from the stream. The surface is assumed to have been writtent with the Print method (compact = True).

        :param IS:
        :type IS: Standard_IStream &
        :param S:
        :type S: Handle_Geom_Surface &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_SurfaceSet_ReadSurface(*args)

    ReadSurface = staticmethod(ReadSurface)
    def SetProgress(self, *args):
        """
        :param PR:
        :type PR: Handle_Message_ProgressIndicator &
        :rtype: None

        """
        return _GeomTools.GeomTools_SurfaceSet_SetProgress(self, *args)

    def GetProgress(self, *args):
        """
        :rtype: Handle_Message_ProgressIndicator

        """
        return _GeomTools.GeomTools_SurfaceSet_GetProgress(self, *args)

    def _kill_pointed(self):
        """_kill_pointed(GeomTools_SurfaceSet self)"""
        return _GeomTools.GeomTools_SurfaceSet__kill_pointed(self)

    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


GeomTools_SurfaceSet.Clear = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_Clear,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.Add = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_Add,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.Surface = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_Surface,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.Index = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_Index,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.DumpToString = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_DumpToString,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.WriteToString = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_WriteToString,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.ReadFromString = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_ReadFromString,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.SetProgress = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_SetProgress,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.GetProgress = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_GetProgress,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet._kill_pointed = new_instancemethod(_GeomTools.GeomTools_SurfaceSet__kill_pointed,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet_swigregister = _GeomTools.GeomTools_SurfaceSet_swigregister
GeomTools_SurfaceSet_swigregister(GeomTools_SurfaceSet)

def GeomTools_SurfaceSet_PrintSurface(*args):
  """
    * Dumps the surface on the stream, if compact is True use the compact format that can be read back.

    :param S:
    :type S: Handle_Geom_Surface &
    :param OS:
    :type OS: Standard_OStream &
    :param compact: default value is Standard_False
    :type compact: bool
    :rtype: void

    """
  return _GeomTools.GeomTools_SurfaceSet_PrintSurface(*args)

def GeomTools_SurfaceSet_ReadSurface(*args):
  """
    * Reads the surface from the stream. The surface is assumed to have been writtent with the Print method (compact = True).

    :param IS:
    :type IS: Standard_IStream &
    :param S:
    :type S: Handle_Geom_Surface &
    :rtype: Standard_IStream

    """
  return _GeomTools.GeomTools_SurfaceSet_ReadSurface(*args)

class GeomTools_UndefinedTypeHandler(OCC.MMgt.MMgt_TShared):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        """
        :rtype: None

        """
        _GeomTools.GeomTools_UndefinedTypeHandler_swiginit(self,_GeomTools.new_GeomTools_UndefinedTypeHandler(*args))
    def PrintCurve(self, *args):
        """
        :param C:
        :type C: Handle_Geom_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_PrintCurve(self, *args)

    def ReadCurve(self, *args):
        """
        :param ctype:
        :type ctype: int
        :param IS:
        :type IS: Standard_IStream &
        :param C:
        :type C: Handle_Geom_Curve &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_ReadCurve(self, *args)

    def PrintCurve2d(self, *args):
        """
        :param C:
        :type C: Handle_Geom2d_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_PrintCurve2d(self, *args)

    def ReadCurve2d(self, *args):
        """
        :param ctype:
        :type ctype: int
        :param IS:
        :type IS: Standard_IStream &
        :param C:
        :type C: Handle_Geom2d_Curve &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_ReadCurve2d(self, *args)

    def PrintSurface(self, *args):
        """
        :param S:
        :type S: Handle_Geom_Surface &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_PrintSurface(self, *args)

    def ReadSurface(self, *args):
        """
        :param ctype:
        :type ctype: int
        :param IS:
        :type IS: Standard_IStream &
        :param S:
        :type S: Handle_Geom_Surface &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_ReadSurface(self, *args)

    def _kill_pointed(self):
        """_kill_pointed(GeomTools_UndefinedTypeHandler self)"""
        return _GeomTools.GeomTools_UndefinedTypeHandler__kill_pointed(self)

    def GetHandle(self):
        """GetHandle(GeomTools_UndefinedTypeHandler self) -> Handle_GeomTools_UndefinedTypeHandler"""
        return _GeomTools.GeomTools_UndefinedTypeHandler_GetHandle(self)

    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


GeomTools_UndefinedTypeHandler.PrintCurve = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_PrintCurve,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.ReadCurve = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_ReadCurve,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.PrintCurve2d = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_PrintCurve2d,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.ReadCurve2d = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_ReadCurve2d,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.PrintSurface = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_PrintSurface,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.ReadSurface = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_ReadSurface,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler._kill_pointed = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler__kill_pointed,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.GetHandle = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_GetHandle,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler_swigregister = _GeomTools.GeomTools_UndefinedTypeHandler_swigregister
GeomTools_UndefinedTypeHandler_swigregister(GeomTools_UndefinedTypeHandler)

class Handle_GeomTools_UndefinedTypeHandler(OCC.MMgt.Handle_MMgt_TShared):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        _GeomTools.Handle_GeomTools_UndefinedTypeHandler_swiginit(self,_GeomTools.new_Handle_GeomTools_UndefinedTypeHandler(*args))
    DownCast = staticmethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler_DownCast)
    def __del__(self):
        try:
            self.thisown = False
            GarbageCollector.garbage.collect_object(self)
        except:
            pass


Handle_GeomTools_UndefinedTypeHandler.Nullify = new_instancemethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler_Nullify,None,Handle_GeomTools_UndefinedTypeHandler)
Handle_GeomTools_UndefinedTypeHandler.IsNull = new_instancemethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler_IsNull,None,Handle_GeomTools_UndefinedTypeHandler)
Handle_GeomTools_UndefinedTypeHandler.GetObject = new_instancemethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler_GetObject,None,Handle_GeomTools_UndefinedTypeHandler)
Handle_GeomTools_UndefinedTypeHandler._kill_pointed = new_instancemethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler__kill_pointed,None,Handle_GeomTools_UndefinedTypeHandler)
Handle_GeomTools_UndefinedTypeHandler_swigregister = _GeomTools.Handle_GeomTools_UndefinedTypeHandler_swigregister
Handle_GeomTools_UndefinedTypeHandler_swigregister(Handle_GeomTools_UndefinedTypeHandler)

def Handle_GeomTools_UndefinedTypeHandler_DownCast(*args):
  return _GeomTools.Handle_GeomTools_UndefinedTypeHandler_DownCast(*args)
Handle_GeomTools_UndefinedTypeHandler_DownCast = _GeomTools.Handle_GeomTools_UndefinedTypeHandler_DownCast




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





from sys import version_info
if version_info >= (3,0,0):
    new_instancemethod = lambda func, inst, cls: _GeomTools.SWIG_PyInstanceMethod_New(func)
else:
    from new import instancemethod as new_instancemethod
if version_info >= (2,6,0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_GeomTools', [dirname(__file__)])
        except ImportError:
            import _GeomTools
            return _GeomTools
        if fp is not None:
            try:
                _mod = imp.load_module('_GeomTools', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _GeomTools = swig_import_helper()
    del swig_import_helper
else:
    import _GeomTools
del version_info
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError(name)

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

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0


def _swig_setattr_nondynamic_method(set):
    def set_attr(self,name,value):
        if (name == "thisown"): return self.this.own(value)
        if hasattr(self,name) or (name == "this"):
            set(self,name,value)
        else:
            raise AttributeError("You cannot add attributes to %s" % self)
    return set_attr


class SwigPyIterator(object):
    thisown = _swig_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__ = _GeomTools.delete_SwigPyIterator
    def __iter__(self): return self
SwigPyIterator.value = new_instancemethod(_GeomTools.SwigPyIterator_value,None,SwigPyIterator)
SwigPyIterator.incr = new_instancemethod(_GeomTools.SwigPyIterator_incr,None,SwigPyIterator)
SwigPyIterator.decr = new_instancemethod(_GeomTools.SwigPyIterator_decr,None,SwigPyIterator)
SwigPyIterator.distance = new_instancemethod(_GeomTools.SwigPyIterator_distance,None,SwigPyIterator)
SwigPyIterator.equal = new_instancemethod(_GeomTools.SwigPyIterator_equal,None,SwigPyIterator)
SwigPyIterator.copy = new_instancemethod(_GeomTools.SwigPyIterator_copy,None,SwigPyIterator)
SwigPyIterator.next = new_instancemethod(_GeomTools.SwigPyIterator_next,None,SwigPyIterator)
SwigPyIterator.__next__ = new_instancemethod(_GeomTools.SwigPyIterator___next__,None,SwigPyIterator)
SwigPyIterator.previous = new_instancemethod(_GeomTools.SwigPyIterator_previous,None,SwigPyIterator)
SwigPyIterator.advance = new_instancemethod(_GeomTools.SwigPyIterator_advance,None,SwigPyIterator)
SwigPyIterator.__eq__ = new_instancemethod(_GeomTools.SwigPyIterator___eq__,None,SwigPyIterator)
SwigPyIterator.__ne__ = new_instancemethod(_GeomTools.SwigPyIterator___ne__,None,SwigPyIterator)
SwigPyIterator.__iadd__ = new_instancemethod(_GeomTools.SwigPyIterator___iadd__,None,SwigPyIterator)
SwigPyIterator.__isub__ = new_instancemethod(_GeomTools.SwigPyIterator___isub__,None,SwigPyIterator)
SwigPyIterator.__add__ = new_instancemethod(_GeomTools.SwigPyIterator___add__,None,SwigPyIterator)
SwigPyIterator.__sub__ = new_instancemethod(_GeomTools.SwigPyIterator___sub__,None,SwigPyIterator)
SwigPyIterator_swigregister = _GeomTools.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)

import OCC.Geom
import OCC.MMgt
import OCC.Standard
import OCC.gp
import OCC.TCollection
import OCC.GeomAbs
import OCC.TColgp
import OCC.TColStd
import OCC.Geom2d
import OCC.Message
class geomtools(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def Dump(*args):
        """
        * A set of Curves from Geom2d. Dumps the surface on the stream.

        :param S:
        :type S: Handle_Geom_Surface &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        * Dumps the Curve on the stream.

        :param C:
        :type C: Handle_Geom_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        * Dumps the Curve on the stream.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        """
        return _GeomTools.geomtools_Dump(*args)

    Dump = staticmethod(Dump)
    def Write(*args):
        """
        * Writes the surface on the stream.

        :param S:
        :type S: Handle_Geom_Surface &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        * Writes the Curve on the stream.

        :param C:
        :type C: Handle_Geom_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        * Writes the Curve on the stream.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :rtype: void

        """
        return _GeomTools.geomtools_Write(*args)

    Write = staticmethod(Write)
    def Read(*args):
        """
        * Reads the surface from the stream.

        :param S:
        :type S: Handle_Geom_Surface &
        :param IS:
        :type IS: Standard_IStream &
        :rtype: void

        * Reads the Curve from the stream.

        :param C:
        :type C: Handle_Geom_Curve &
        :param IS:
        :type IS: Standard_IStream &
        :rtype: void

        * Reads the Curve from the stream.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :param IS:
        :type IS: Standard_IStream &
        :rtype: void

        """
        return _GeomTools.geomtools_Read(*args)

    Read = staticmethod(Read)
    def SetUndefinedTypeHandler(*args):
        """
        :param aHandler:
        :type aHandler: Handle_GeomTools_UndefinedTypeHandler &
        :rtype: void

        """
        return _GeomTools.geomtools_SetUndefinedTypeHandler(*args)

    SetUndefinedTypeHandler = staticmethod(SetUndefinedTypeHandler)
    def GetUndefinedTypeHandler(*args):
        """
        :rtype: Handle_GeomTools_UndefinedTypeHandler

        """
        return _GeomTools.geomtools_GetUndefinedTypeHandler(*args)

    GetUndefinedTypeHandler = staticmethod(GetUndefinedTypeHandler)
    def __init__(self): 
        _GeomTools.geomtools_swiginit(self,_GeomTools.new_geomtools())
    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


geomtools._kill_pointed = new_instancemethod(_GeomTools.geomtools__kill_pointed,None,geomtools)
geomtools_swigregister = _GeomTools.geomtools_swigregister
geomtools_swigregister(geomtools)

def geomtools_Dump(*args):
  """
    * A set of Curves from Geom2d. Dumps the surface on the stream.

    :param S:
    :type S: Handle_Geom_Surface &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    * Dumps the Curve on the stream.

    :param C:
    :type C: Handle_Geom_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    * Dumps the Curve on the stream.

    :param C:
    :type C: Handle_Geom2d_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    """
  return _GeomTools.geomtools_Dump(*args)

def geomtools_Write(*args):
  """
    * Writes the surface on the stream.

    :param S:
    :type S: Handle_Geom_Surface &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    * Writes the Curve on the stream.

    :param C:
    :type C: Handle_Geom_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    * Writes the Curve on the stream.

    :param C:
    :type C: Handle_Geom2d_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :rtype: void

    """
  return _GeomTools.geomtools_Write(*args)

def geomtools_Read(*args):
  """
    * Reads the surface from the stream.

    :param S:
    :type S: Handle_Geom_Surface &
    :param IS:
    :type IS: Standard_IStream &
    :rtype: void

    * Reads the Curve from the stream.

    :param C:
    :type C: Handle_Geom_Curve &
    :param IS:
    :type IS: Standard_IStream &
    :rtype: void

    * Reads the Curve from the stream.

    :param C:
    :type C: Handle_Geom2d_Curve &
    :param IS:
    :type IS: Standard_IStream &
    :rtype: void

    """
  return _GeomTools.geomtools_Read(*args)

def geomtools_SetUndefinedTypeHandler(*args):
  """
    :param aHandler:
    :type aHandler: Handle_GeomTools_UndefinedTypeHandler &
    :rtype: void

    """
  return _GeomTools.geomtools_SetUndefinedTypeHandler(*args)

def geomtools_GetUndefinedTypeHandler(*args):
  """
    :rtype: Handle_GeomTools_UndefinedTypeHandler

    """
  return _GeomTools.geomtools_GetUndefinedTypeHandler(*args)

class GeomTools_Curve2dSet(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        """
        * Returns an empty set of Curves.

        :rtype: None

        """
        _GeomTools.GeomTools_Curve2dSet_swiginit(self,_GeomTools.new_GeomTools_Curve2dSet(*args))
    def Clear(self, *args):
        """
        * Clears the content of the set.

        :rtype: None

        """
        return _GeomTools.GeomTools_Curve2dSet_Clear(self, *args)

    def Add(self, *args):
        """
        * Incorporate a new Curve in the set and returns its index.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :rtype: int

        """
        return _GeomTools.GeomTools_Curve2dSet_Add(self, *args)

    def Curve2d(self, *args):
        """
        * Returns the Curve of index <I>.

        :param I:
        :type I: int
        :rtype: Handle_Geom2d_Curve

        """
        return _GeomTools.GeomTools_Curve2dSet_Curve2d(self, *args)

    def Index(self, *args):
        """
        * Returns the index of <L>.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :rtype: int

        """
        return _GeomTools.GeomTools_Curve2dSet_Index(self, *args)

    def DumpToString(self):
        """DumpToString(GeomTools_Curve2dSet self) -> std::string"""
        return _GeomTools.GeomTools_Curve2dSet_DumpToString(self)

    def WriteToString(self):
        """WriteToString(GeomTools_Curve2dSet self) -> std::string"""
        return _GeomTools.GeomTools_Curve2dSet_WriteToString(self)

    def ReadFromString(self, *args):
        """ReadFromString(GeomTools_Curve2dSet self, std::string src)"""
        return _GeomTools.GeomTools_Curve2dSet_ReadFromString(self, *args)

    def PrintCurve2d(*args):
        """
        * Dumps the curve on the stream, if compact is True use the compact format that can be read back.

        :param C:
        :type C: Handle_Geom2d_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_Curve2dSet_PrintCurve2d(*args)

    PrintCurve2d = staticmethod(PrintCurve2d)
    def ReadCurve2d(*args):
        """
        * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).

        :param IS:
        :type IS: Standard_IStream &
        :param C:
        :type C: Handle_Geom2d_Curve &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_Curve2dSet_ReadCurve2d(*args)

    ReadCurve2d = staticmethod(ReadCurve2d)
    def SetProgress(self, *args):
        """
        :param PR:
        :type PR: Handle_Message_ProgressIndicator &
        :rtype: None

        """
        return _GeomTools.GeomTools_Curve2dSet_SetProgress(self, *args)

    def GetProgress(self, *args):
        """
        :rtype: Handle_Message_ProgressIndicator

        """
        return _GeomTools.GeomTools_Curve2dSet_GetProgress(self, *args)

    def _kill_pointed(self):
        """_kill_pointed(GeomTools_Curve2dSet self)"""
        return _GeomTools.GeomTools_Curve2dSet__kill_pointed(self)

    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


GeomTools_Curve2dSet.Clear = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_Clear,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.Add = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_Add,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.Curve2d = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_Curve2d,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.Index = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_Index,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.DumpToString = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_DumpToString,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.WriteToString = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_WriteToString,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.ReadFromString = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_ReadFromString,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.SetProgress = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_SetProgress,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet.GetProgress = new_instancemethod(_GeomTools.GeomTools_Curve2dSet_GetProgress,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet._kill_pointed = new_instancemethod(_GeomTools.GeomTools_Curve2dSet__kill_pointed,None,GeomTools_Curve2dSet)
GeomTools_Curve2dSet_swigregister = _GeomTools.GeomTools_Curve2dSet_swigregister
GeomTools_Curve2dSet_swigregister(GeomTools_Curve2dSet)

def GeomTools_Curve2dSet_PrintCurve2d(*args):
  """
    * Dumps the curve on the stream, if compact is True use the compact format that can be read back.

    :param C:
    :type C: Handle_Geom2d_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :param compact: default value is Standard_False
    :type compact: bool
    :rtype: void

    """
  return _GeomTools.GeomTools_Curve2dSet_PrintCurve2d(*args)

def GeomTools_Curve2dSet_ReadCurve2d(*args):
  """
    * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).

    :param IS:
    :type IS: Standard_IStream &
    :param C:
    :type C: Handle_Geom2d_Curve &
    :rtype: Standard_IStream

    """
  return _GeomTools.GeomTools_Curve2dSet_ReadCurve2d(*args)

class GeomTools_CurveSet(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        """
        * Returns an empty set of Curves.

        :rtype: None

        """
        _GeomTools.GeomTools_CurveSet_swiginit(self,_GeomTools.new_GeomTools_CurveSet(*args))
    def Clear(self, *args):
        """
        * Clears the content of the set.

        :rtype: None

        """
        return _GeomTools.GeomTools_CurveSet_Clear(self, *args)

    def Add(self, *args):
        """
        * Incorporate a new Curve in the set and returns its index.

        :param C:
        :type C: Handle_Geom_Curve &
        :rtype: int

        """
        return _GeomTools.GeomTools_CurveSet_Add(self, *args)

    def Curve(self, *args):
        """
        * Returns the Curve of index <I>.

        :param I:
        :type I: int
        :rtype: Handle_Geom_Curve

        """
        return _GeomTools.GeomTools_CurveSet_Curve(self, *args)

    def Index(self, *args):
        """
        * Returns the index of <L>.

        :param C:
        :type C: Handle_Geom_Curve &
        :rtype: int

        """
        return _GeomTools.GeomTools_CurveSet_Index(self, *args)

    def DumpToString(self):
        """DumpToString(GeomTools_CurveSet self) -> std::string"""
        return _GeomTools.GeomTools_CurveSet_DumpToString(self)

    def WriteToString(self):
        """WriteToString(GeomTools_CurveSet self) -> std::string"""
        return _GeomTools.GeomTools_CurveSet_WriteToString(self)

    def ReadFromString(self, *args):
        """ReadFromString(GeomTools_CurveSet self, std::string src)"""
        return _GeomTools.GeomTools_CurveSet_ReadFromString(self, *args)

    def PrintCurve(*args):
        """
        * Dumps the curve on the stream, if compact is True use the compact format that can be read back.

        :param C:
        :type C: Handle_Geom_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_CurveSet_PrintCurve(*args)

    PrintCurve = staticmethod(PrintCurve)
    def ReadCurve(*args):
        """
        * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).

        :param IS:
        :type IS: Standard_IStream &
        :param C:
        :type C: Handle_Geom_Curve &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_CurveSet_ReadCurve(*args)

    ReadCurve = staticmethod(ReadCurve)
    def SetProgress(self, *args):
        """
        :param PR:
        :type PR: Handle_Message_ProgressIndicator &
        :rtype: None

        """
        return _GeomTools.GeomTools_CurveSet_SetProgress(self, *args)

    def GetProgress(self, *args):
        """
        :rtype: Handle_Message_ProgressIndicator

        """
        return _GeomTools.GeomTools_CurveSet_GetProgress(self, *args)

    def _kill_pointed(self):
        """_kill_pointed(GeomTools_CurveSet self)"""
        return _GeomTools.GeomTools_CurveSet__kill_pointed(self)

    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


GeomTools_CurveSet.Clear = new_instancemethod(_GeomTools.GeomTools_CurveSet_Clear,None,GeomTools_CurveSet)
GeomTools_CurveSet.Add = new_instancemethod(_GeomTools.GeomTools_CurveSet_Add,None,GeomTools_CurveSet)
GeomTools_CurveSet.Curve = new_instancemethod(_GeomTools.GeomTools_CurveSet_Curve,None,GeomTools_CurveSet)
GeomTools_CurveSet.Index = new_instancemethod(_GeomTools.GeomTools_CurveSet_Index,None,GeomTools_CurveSet)
GeomTools_CurveSet.DumpToString = new_instancemethod(_GeomTools.GeomTools_CurveSet_DumpToString,None,GeomTools_CurveSet)
GeomTools_CurveSet.WriteToString = new_instancemethod(_GeomTools.GeomTools_CurveSet_WriteToString,None,GeomTools_CurveSet)
GeomTools_CurveSet.ReadFromString = new_instancemethod(_GeomTools.GeomTools_CurveSet_ReadFromString,None,GeomTools_CurveSet)
GeomTools_CurveSet.SetProgress = new_instancemethod(_GeomTools.GeomTools_CurveSet_SetProgress,None,GeomTools_CurveSet)
GeomTools_CurveSet.GetProgress = new_instancemethod(_GeomTools.GeomTools_CurveSet_GetProgress,None,GeomTools_CurveSet)
GeomTools_CurveSet._kill_pointed = new_instancemethod(_GeomTools.GeomTools_CurveSet__kill_pointed,None,GeomTools_CurveSet)
GeomTools_CurveSet_swigregister = _GeomTools.GeomTools_CurveSet_swigregister
GeomTools_CurveSet_swigregister(GeomTools_CurveSet)

def GeomTools_CurveSet_PrintCurve(*args):
  """
    * Dumps the curve on the stream, if compact is True use the compact format that can be read back.

    :param C:
    :type C: Handle_Geom_Curve &
    :param OS:
    :type OS: Standard_OStream &
    :param compact: default value is Standard_False
    :type compact: bool
    :rtype: void

    """
  return _GeomTools.GeomTools_CurveSet_PrintCurve(*args)

def GeomTools_CurveSet_ReadCurve(*args):
  """
    * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).

    :param IS:
    :type IS: Standard_IStream &
    :param C:
    :type C: Handle_Geom_Curve &
    :rtype: Standard_IStream

    """
  return _GeomTools.GeomTools_CurveSet_ReadCurve(*args)

class GeomTools_SurfaceSet(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        """
        * Returns an empty set of Surfaces.

        :rtype: None

        """
        _GeomTools.GeomTools_SurfaceSet_swiginit(self,_GeomTools.new_GeomTools_SurfaceSet(*args))
    def Clear(self, *args):
        """
        * Clears the content of the set.

        :rtype: None

        """
        return _GeomTools.GeomTools_SurfaceSet_Clear(self, *args)

    def Add(self, *args):
        """
        * Incorporate a new Surface in the set and returns its index.

        :param S:
        :type S: Handle_Geom_Surface &
        :rtype: int

        """
        return _GeomTools.GeomTools_SurfaceSet_Add(self, *args)

    def Surface(self, *args):
        """
        * Returns the Surface of index <I>.

        :param I:
        :type I: int
        :rtype: Handle_Geom_Surface

        """
        return _GeomTools.GeomTools_SurfaceSet_Surface(self, *args)

    def Index(self, *args):
        """
        * Returns the index of <L>.

        :param S:
        :type S: Handle_Geom_Surface &
        :rtype: int

        """
        return _GeomTools.GeomTools_SurfaceSet_Index(self, *args)

    def DumpToString(self):
        """DumpToString(GeomTools_SurfaceSet self) -> std::string"""
        return _GeomTools.GeomTools_SurfaceSet_DumpToString(self)

    def WriteToString(self):
        """WriteToString(GeomTools_SurfaceSet self) -> std::string"""
        return _GeomTools.GeomTools_SurfaceSet_WriteToString(self)

    def ReadFromString(self, *args):
        """ReadFromString(GeomTools_SurfaceSet self, std::string src)"""
        return _GeomTools.GeomTools_SurfaceSet_ReadFromString(self, *args)

    def PrintSurface(*args):
        """
        * Dumps the surface on the stream, if compact is True use the compact format that can be read back.

        :param S:
        :type S: Handle_Geom_Surface &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_SurfaceSet_PrintSurface(*args)

    PrintSurface = staticmethod(PrintSurface)
    def ReadSurface(*args):
        """
        * Reads the surface from the stream. The surface is assumed to have been writtent with the Print method (compact = True).

        :param IS:
        :type IS: Standard_IStream &
        :param S:
        :type S: Handle_Geom_Surface &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_SurfaceSet_ReadSurface(*args)

    ReadSurface = staticmethod(ReadSurface)
    def SetProgress(self, *args):
        """
        :param PR:
        :type PR: Handle_Message_ProgressIndicator &
        :rtype: None

        """
        return _GeomTools.GeomTools_SurfaceSet_SetProgress(self, *args)

    def GetProgress(self, *args):
        """
        :rtype: Handle_Message_ProgressIndicator

        """
        return _GeomTools.GeomTools_SurfaceSet_GetProgress(self, *args)

    def _kill_pointed(self):
        """_kill_pointed(GeomTools_SurfaceSet self)"""
        return _GeomTools.GeomTools_SurfaceSet__kill_pointed(self)

    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


GeomTools_SurfaceSet.Clear = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_Clear,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.Add = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_Add,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.Surface = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_Surface,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.Index = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_Index,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.DumpToString = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_DumpToString,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.WriteToString = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_WriteToString,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.ReadFromString = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_ReadFromString,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.SetProgress = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_SetProgress,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet.GetProgress = new_instancemethod(_GeomTools.GeomTools_SurfaceSet_GetProgress,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet._kill_pointed = new_instancemethod(_GeomTools.GeomTools_SurfaceSet__kill_pointed,None,GeomTools_SurfaceSet)
GeomTools_SurfaceSet_swigregister = _GeomTools.GeomTools_SurfaceSet_swigregister
GeomTools_SurfaceSet_swigregister(GeomTools_SurfaceSet)

def GeomTools_SurfaceSet_PrintSurface(*args):
  """
    * Dumps the surface on the stream, if compact is True use the compact format that can be read back.

    :param S:
    :type S: Handle_Geom_Surface &
    :param OS:
    :type OS: Standard_OStream &
    :param compact: default value is Standard_False
    :type compact: bool
    :rtype: void

    """
  return _GeomTools.GeomTools_SurfaceSet_PrintSurface(*args)

def GeomTools_SurfaceSet_ReadSurface(*args):
  """
    * Reads the surface from the stream. The surface is assumed to have been writtent with the Print method (compact = True).

    :param IS:
    :type IS: Standard_IStream &
    :param S:
    :type S: Handle_Geom_Surface &
    :rtype: Standard_IStream

    """
  return _GeomTools.GeomTools_SurfaceSet_ReadSurface(*args)

class GeomTools_UndefinedTypeHandler(OCC.MMgt.MMgt_TShared):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        """
        :rtype: None

        """
        _GeomTools.GeomTools_UndefinedTypeHandler_swiginit(self,_GeomTools.new_GeomTools_UndefinedTypeHandler(*args))
    def PrintCurve(self, *args):
        """
        :param C:
        :type C: Handle_Geom_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_PrintCurve(self, *args)

    def ReadCurve(self, *args):
        """
        :param ctype:
        :type ctype: int
        :param IS:
        :type IS: Standard_IStream &
        :param C:
        :type C: Handle_Geom_Curve &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_ReadCurve(self, *args)

    def PrintCurve2d(self, *args):
        """
        :param C:
        :type C: Handle_Geom2d_Curve &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_PrintCurve2d(self, *args)

    def ReadCurve2d(self, *args):
        """
        :param ctype:
        :type ctype: int
        :param IS:
        :type IS: Standard_IStream &
        :param C:
        :type C: Handle_Geom2d_Curve &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_ReadCurve2d(self, *args)

    def PrintSurface(self, *args):
        """
        :param S:
        :type S: Handle_Geom_Surface &
        :param OS:
        :type OS: Standard_OStream &
        :param compact: default value is Standard_False
        :type compact: bool
        :rtype: void

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_PrintSurface(self, *args)

    def ReadSurface(self, *args):
        """
        :param ctype:
        :type ctype: int
        :param IS:
        :type IS: Standard_IStream &
        :param S:
        :type S: Handle_Geom_Surface &
        :rtype: Standard_IStream

        """
        return _GeomTools.GeomTools_UndefinedTypeHandler_ReadSurface(self, *args)

    def _kill_pointed(self):
        """_kill_pointed(GeomTools_UndefinedTypeHandler self)"""
        return _GeomTools.GeomTools_UndefinedTypeHandler__kill_pointed(self)

    def GetHandle(self):
        """GetHandle(GeomTools_UndefinedTypeHandler self) -> Handle_GeomTools_UndefinedTypeHandler"""
        return _GeomTools.GeomTools_UndefinedTypeHandler_GetHandle(self)

    def __del__(self):
    	try:
    		self.thisown = False
    		GarbageCollector.garbage.collect_object(self)
    	except:
    		pass


GeomTools_UndefinedTypeHandler.PrintCurve = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_PrintCurve,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.ReadCurve = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_ReadCurve,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.PrintCurve2d = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_PrintCurve2d,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.ReadCurve2d = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_ReadCurve2d,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.PrintSurface = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_PrintSurface,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.ReadSurface = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_ReadSurface,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler._kill_pointed = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler__kill_pointed,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler.GetHandle = new_instancemethod(_GeomTools.GeomTools_UndefinedTypeHandler_GetHandle,None,GeomTools_UndefinedTypeHandler)
GeomTools_UndefinedTypeHandler_swigregister = _GeomTools.GeomTools_UndefinedTypeHandler_swigregister
GeomTools_UndefinedTypeHandler_swigregister(GeomTools_UndefinedTypeHandler)

class Handle_GeomTools_UndefinedTypeHandler(OCC.MMgt.Handle_MMgt_TShared):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        _GeomTools.Handle_GeomTools_UndefinedTypeHandler_swiginit(self,_GeomTools.new_Handle_GeomTools_UndefinedTypeHandler(*args))
    DownCast = staticmethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler_DownCast)
    def __del__(self):
        try:
            self.thisown = False
            GarbageCollector.garbage.collect_object(self)
        except:
            pass


Handle_GeomTools_UndefinedTypeHandler.Nullify = new_instancemethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler_Nullify,None,Handle_GeomTools_UndefinedTypeHandler)
Handle_GeomTools_UndefinedTypeHandler.IsNull = new_instancemethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler_IsNull,None,Handle_GeomTools_UndefinedTypeHandler)
Handle_GeomTools_UndefinedTypeHandler.GetObject = new_instancemethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler_GetObject,None,Handle_GeomTools_UndefinedTypeHandler)
Handle_GeomTools_UndefinedTypeHandler._kill_pointed = new_instancemethod(_GeomTools.Handle_GeomTools_UndefinedTypeHandler__kill_pointed,None,Handle_GeomTools_UndefinedTypeHandler)
Handle_GeomTools_UndefinedTypeHandler_swigregister = _GeomTools.Handle_GeomTools_UndefinedTypeHandler_swigregister
Handle_GeomTools_UndefinedTypeHandler_swigregister(Handle_GeomTools_UndefinedTypeHandler)

def Handle_GeomTools_UndefinedTypeHandler_DownCast(*args):
  return _GeomTools.Handle_GeomTools_UndefinedTypeHandler_DownCast(*args)
Handle_GeomTools_UndefinedTypeHandler_DownCast = _GeomTools.Handle_GeomTools_UndefinedTypeHandler_DownCast




# This file was automatically generated by SWIG (http://www.swig.org). # Version 3.0.1 # # Do not make changes to this file unless you know what you are doing--modify # the SWIG interface file instead. # Python < 2.2 doesn't have 'property'. * A set of Curves from Geom2d. Dumps the surface on the stream.          :param S:         :type S: Handle_Geom_Surface &         :param OS:         :type OS: Standard_OStream &         :rtype: void          * Dumps the Curve on the stream.          :param C:         :type C: Handle_Geom_Curve &         :param OS:         :type OS: Standard_OStream &         :rtype: void          * Dumps the Curve on the stream.          :param C:         :type C: Handle_Geom2d_Curve &         :param OS:         :type OS: Standard_OStream &         :rtype: void * Writes the surface on the stream.          :param S:         :type S: Handle_Geom_Surface &         :param OS:         :type OS: Standard_OStream &         :rtype: void          * Writes the Curve on the stream.          :param C:         :type C: Handle_Geom_Curve &         :param OS:         :type OS: Standard_OStream &         :rtype: void          * Writes the Curve on the stream.          :param C:         :type C: Handle_Geom2d_Curve &         :param OS:         :type OS: Standard_OStream &         :rtype: void * Reads the surface from the stream.          :param S:         :type S: Handle_Geom_Surface &         :param IS:         :type IS: Standard_IStream &         :rtype: void          * Reads the Curve from the stream.          :param C:         :type C: Handle_Geom_Curve &         :param IS:         :type IS: Standard_IStream &         :rtype: void          * Reads the Curve from the stream.          :param C:         :type C: Handle_Geom2d_Curve &         :param IS:         :type IS: Standard_IStream &         :rtype: void :param aHandler:         :type aHandler: Handle_GeomTools_UndefinedTypeHandler &         :rtype: void :rtype: Handle_GeomTools_UndefinedTypeHandler * A set of Curves from Geom2d. Dumps the surface on the stream.      :param S:     :type S: Handle_Geom_Surface &     :param OS:     :type OS: Standard_OStream &     :rtype: void      * Dumps the Curve on the stream.      :param C:     :type C: Handle_Geom_Curve &     :param OS:     :type OS: Standard_OStream &     :rtype: void      * Dumps the Curve on the stream.      :param C:     :type C: Handle_Geom2d_Curve &     :param OS:     :type OS: Standard_OStream &     :rtype: void * Writes the surface on the stream.      :param S:     :type S: Handle_Geom_Surface &     :param OS:     :type OS: Standard_OStream &     :rtype: void      * Writes the Curve on the stream.      :param C:     :type C: Handle_Geom_Curve &     :param OS:     :type OS: Standard_OStream &     :rtype: void      * Writes the Curve on the stream.      :param C:     :type C: Handle_Geom2d_Curve &     :param OS:     :type OS: Standard_OStream &     :rtype: void * Reads the surface from the stream.      :param S:     :type S: Handle_Geom_Surface &     :param IS:     :type IS: Standard_IStream &     :rtype: void      * Reads the Curve from the stream.      :param C:     :type C: Handle_Geom_Curve &     :param IS:     :type IS: Standard_IStream &     :rtype: void      * Reads the Curve from the stream.      :param C:     :type C: Handle_Geom2d_Curve &     :param IS:     :type IS: Standard_IStream &     :rtype: void :param aHandler:     :type aHandler: Handle_GeomTools_UndefinedTypeHandler &     :rtype: void :rtype: Handle_GeomTools_UndefinedTypeHandler * Returns an empty set of Curves.          :rtype: None * Clears the content of the set.          :rtype: None * Incorporate a new Curve in the set and returns its index.          :param C:         :type C: Handle_Geom2d_Curve &         :rtype: int * Returns the Curve of index <I>.          :param I:         :type I: int         :rtype: Handle_Geom2d_Curve * Returns the index of <L>.          :param C:         :type C: Handle_Geom2d_Curve &         :rtype: int DumpToString(GeomTools_Curve2dSet self) -> std::string WriteToString(GeomTools_Curve2dSet self) -> std::string ReadFromString(GeomTools_Curve2dSet self, std::string src) * Dumps the curve on the stream, if compact is True use the compact format that can be read back.          :param C:         :type C: Handle_Geom2d_Curve &         :param OS:         :type OS: Standard_OStream &         :param compact: default value is Standard_False         :type compact: bool         :rtype: void * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).          :param IS:         :type IS: Standard_IStream &         :param C:         :type C: Handle_Geom2d_Curve &         :rtype: Standard_IStream :param PR:         :type PR: Handle_Message_ProgressIndicator &         :rtype: None :rtype: Handle_Message_ProgressIndicator _kill_pointed(GeomTools_Curve2dSet self) * Dumps the curve on the stream, if compact is True use the compact format that can be read back.      :param C:     :type C: Handle_Geom2d_Curve &     :param OS:     :type OS: Standard_OStream &     :param compact: default value is Standard_False     :type compact: bool     :rtype: void * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).      :param IS:     :type IS: Standard_IStream &     :param C:     :type C: Handle_Geom2d_Curve &     :rtype: Standard_IStream * Returns an empty set of Curves.          :rtype: None * Clears the content of the set.          :rtype: None * Incorporate a new Curve in the set and returns its index.          :param C:         :type C: Handle_Geom_Curve &         :rtype: int * Returns the Curve of index <I>.          :param I:         :type I: int         :rtype: Handle_Geom_Curve * Returns the index of <L>.          :param C:         :type C: Handle_Geom_Curve &         :rtype: int DumpToString(GeomTools_CurveSet self) -> std::string WriteToString(GeomTools_CurveSet self) -> std::string ReadFromString(GeomTools_CurveSet self, std::string src) * Dumps the curve on the stream, if compact is True use the compact format that can be read back.          :param C:         :type C: Handle_Geom_Curve &         :param OS:         :type OS: Standard_OStream &         :param compact: default value is Standard_False         :type compact: bool         :rtype: void * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).          :param IS:         :type IS: Standard_IStream &         :param C:         :type C: Handle_Geom_Curve &         :rtype: Standard_IStream :param PR:         :type PR: Handle_Message_ProgressIndicator &         :rtype: None :rtype: Handle_Message_ProgressIndicator _kill_pointed(GeomTools_CurveSet self) * Dumps the curve on the stream, if compact is True use the compact format that can be read back.      :param C:     :type C: Handle_Geom_Curve &     :param OS:     :type OS: Standard_OStream &     :param compact: default value is Standard_False     :type compact: bool     :rtype: void * Reads the curve from the stream. The curve is assumed to have been writtent with the Print method (compact = True).      :param IS:     :type IS: Standard_IStream &     :param C:     :type C: Handle_Geom_Curve &     :rtype: Standard_IStream * Returns an empty set of Surfaces.          :rtype: None * Clears the content of the set.          :rtype: None * Incorporate a new Surface in the set and returns its index.          :param S:         :type S: Handle_Geom_Surface &         :rtype: int * Returns the Surface of index <I>.          :param I:         :type I: int         :rtype: Handle_Geom_Surface * Returns the index of <L>.          :param S:         :type S: Handle_Geom_Surface &         :rtype: int DumpToString(GeomTools_SurfaceSet self) -> std::string WriteToString(GeomTools_SurfaceSet self) -> std::string ReadFromString(GeomTools_SurfaceSet self, std::string src) * Dumps the surface on the stream, if compact is True use the compact format that can be read back.          :param S:         :type S: Handle_Geom_Surface &         :param OS:         :type OS: Standard_OStream &         :param compact: default value is Standard_False         :type compact: bool         :rtype: void * Reads the surface from the stream. The surface is assumed to have been writtent with the Print method (compact = True).          :param IS:         :type IS: Standard_IStream &         :param S:         :type S: Handle_Geom_Surface &         :rtype: Standard_IStream :param PR:         :type PR: Handle_Message_ProgressIndicator &         :rtype: None :rtype: Handle_Message_ProgressIndicator _kill_pointed(GeomTools_SurfaceSet self) * Dumps the surface on the stream, if compact is True use the compact format that can be read back.      :param S:     :type S: Handle_Geom_Surface &     :param OS:     :type OS: Standard_OStream &     :param compact: default value is Standard_False     :type compact: bool     :rtype: void * Reads the surface from the stream. The surface is assumed to have been writtent with the Print method (compact = True).      :param IS:     :type IS: Standard_IStream &     :param S:     :type S: Handle_Geom_Surface &     :rtype: Standard_IStream :rtype: None :param C:         :type C: Handle_Geom_Curve &         :param OS:         :type OS: Standard_OStream &         :param compact: default value is Standard_False         :type compact: bool         :rtype: void :param ctype:         :type ctype: int         :param IS:         :type IS: Standard_IStream &         :param C:         :type C: Handle_Geom_Curve &         :rtype: Standard_IStream :param C:         :type C: Handle_Geom2d_Curve &         :param OS:         :type OS: Standard_OStream &         :param compact: default value is Standard_False         :type compact: bool         :rtype: void :param ctype:         :type ctype: int         :param IS:         :type IS: Standard_IStream &         :param C:         :type C: Handle_Geom2d_Curve &         :rtype: Standard_IStream :param S:         :type S: Handle_Geom_Surface &         :param OS:         :type OS: Standard_OStream &         :param compact: default value is Standard_False         :type compact: bool         :rtype: void :param ctype:         :type ctype: int         :param IS:         :type IS: Standard_IStream &         :param S:         :type S: Handle_Geom_Surface &         :rtype: Standard_IStream _kill_pointed(GeomTools_UndefinedTypeHandler self) GetHandle(GeomTools_UndefinedTypeHandler self) -> Handle_GeomTools_UndefinedTypeHandler