/*
 * Interface wrapper code.
 *
 * Generated by SIP 4.19.24
 *
 *     Copyright: (c) 2020 by Total Control Software
 *     License:   wxWindows License
 */

#include "sipAPI_core.h"

        #include <wx/geometry.h>

        #include <wx/geometry.h>
        #include <wx/gdicmn.h>
    PyObject* _wxRect2DDouble_Get(wxRect2DDouble* self)
    {
        wxPyThreadBlocker blocker;
        return sipBuildResult(0, "(dddd)",
                    self->m_x, self->m_y, self->m_width, self->m_height);
    }


PyDoc_STRVAR(doc_wxRect2DDouble_GetPosition, "GetPosition() -> Point2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_GetPosition(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetPosition(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxPoint2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint2DDouble(sipCpp->GetPosition());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetSize, "GetSize() -> Size");

extern "C" {static PyObject *meth_wxRect2DDouble_GetSize(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->GetSize());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxSize,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetLeft, "GetLeft() -> Double");

extern "C" {static PyObject *meth_wxRect2DDouble_GetLeft(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetLeft(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxDouble sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetLeft();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetLeft, "SetLeft(n)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetLeft(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetLeft(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble n;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &n))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetLeft(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveLeftTo, "MoveLeftTo(n)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveLeftTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveLeftTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble n;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &n))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveLeftTo(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveLeftTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetTop, "GetTop() -> Double");

extern "C" {static PyObject *meth_wxRect2DDouble_GetTop(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetTop(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxDouble sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetTop();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetTop, "SetTop(n)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetTop(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetTop(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble n;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &n))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetTop(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveTopTo, "MoveTopTo(n)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveTopTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveTopTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble n;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &n))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveTopTo(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveTopTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetBottom, "GetBottom() -> Double");

extern "C" {static PyObject *meth_wxRect2DDouble_GetBottom(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetBottom(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxDouble sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetBottom();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetBottom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetBottom, "SetBottom(n)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetBottom(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetBottom(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble n;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &n))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetBottom(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetBottom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveBottomTo, "MoveBottomTo(n)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveBottomTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveBottomTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble n;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &n))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveBottomTo(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveBottomTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetRight, "GetRight() -> Double");

extern "C" {static PyObject *meth_wxRect2DDouble_GetRight(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetRight(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxDouble sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetRight();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetRight, "SetRight(n)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetRight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetRight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble n;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &n))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRight(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveRightTo, "MoveRightTo(n)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveRightTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveRightTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble n;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &n))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveRightTo(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveRightTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetLeftTop, "GetLeftTop() -> Point2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_GetLeftTop(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetLeftTop(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxPoint2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint2DDouble(sipCpp->GetLeftTop());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetLeftTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetLeftTop, "SetLeftTop(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetLeftTop(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetLeftTop(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetLeftTop(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetLeftTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveLeftTopTo, "MoveLeftTopTo(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveLeftTopTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveLeftTopTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveLeftTopTo(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveLeftTopTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetLeftBottom, "GetLeftBottom() -> Point2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_GetLeftBottom(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetLeftBottom(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxPoint2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint2DDouble(sipCpp->GetLeftBottom());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetLeftBottom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetLeftBottom, "SetLeftBottom(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetLeftBottom(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetLeftBottom(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetLeftBottom(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetLeftBottom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveLeftBottomTo, "MoveLeftBottomTo(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveLeftBottomTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveLeftBottomTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveLeftBottomTo(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveLeftBottomTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetRightTop, "GetRightTop() -> Point2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_GetRightTop(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetRightTop(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxPoint2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint2DDouble(sipCpp->GetRightTop());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetRightTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetRightTop, "SetRightTop(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetRightTop(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetRightTop(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRightTop(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetRightTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveRightTopTo, "MoveRightTopTo(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveRightTopTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveRightTopTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveRightTopTo(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveRightTopTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetRightBottom, "GetRightBottom() -> Point2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_GetRightBottom(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetRightBottom(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxPoint2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint2DDouble(sipCpp->GetRightBottom());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetRightBottom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetRightBottom, "SetRightBottom(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetRightBottom(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetRightBottom(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRightBottom(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetRightBottom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveRightBottomTo, "MoveRightBottomTo(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveRightBottomTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveRightBottomTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveRightBottomTo(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveRightBottomTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetCentre, "GetCentre() -> Point2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_GetCentre(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetCentre(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
             ::wxPoint2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint2DDouble(sipCpp->GetCentre());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetCentre, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_SetCentre, "SetCentre(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_SetCentre(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_SetCentre(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCentre(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_SetCentre, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_MoveCentreTo, "MoveCentreTo(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_MoveCentreTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_MoveCentreTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MoveCentreTo(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_MoveCentreTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetOutCode, "GetOutCode(pt) -> OutCode");

extern "C" {static PyObject *meth_wxRect2DDouble_GetOutCode(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetOutCode(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
        const  ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
             ::wxOutCode sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetOutCode(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxOutCode);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetOutCode, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_GetOutcode, "GetOutcode(pt) -> OutCode");

extern "C" {static PyObject *meth_wxRect2DDouble_GetOutcode(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_GetOutcode(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
        const  ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
             ::wxOutCode sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetOutcode(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxOutCode);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_GetOutcode, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Contains, "Contains(pt) -> bool\n"
"Contains(rect) -> bool\n"
"");

extern "C" {static PyObject *meth_wxRect2DDouble_Contains(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Contains(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
        const  ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Contains(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    {
        const  ::wxRect2DDouble* rect;
        int rectState = 0;
        const  ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_rect,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxRect2DDouble, &rect, &rectState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Contains(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(rect),sipType_wxRect2DDouble,rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Contains, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_IsEmpty, "IsEmpty() -> bool");

extern "C" {static PyObject *meth_wxRect2DDouble_IsEmpty(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_IsEmpty(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsEmpty();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_IsEmpty, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_HaveEqualSize, "HaveEqualSize(rect) -> bool");

extern "C" {static PyObject *meth_wxRect2DDouble_HaveEqualSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_HaveEqualSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* rect;
        int rectState = 0;
        const  ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_rect,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxRect2DDouble, &rect, &rectState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->HaveEqualSize(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(rect),sipType_wxRect2DDouble,rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_HaveEqualSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Inset, "Inset(x, y)\n"
"Inset(left, top, right, bottom)\n"
"");

extern "C" {static PyObject *meth_wxRect2DDouble_Inset(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Inset(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble x;
         ::wxDouble y;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bdd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &x, &y))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Inset(x,y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
         ::wxDouble left;
         ::wxDouble top;
         ::wxDouble right;
         ::wxDouble bottom;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_left,
            sipName_top,
            sipName_right,
            sipName_bottom,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bdddd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &left, &top, &right, &bottom))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Inset(left,top,right,bottom);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Inset, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Offset, "Offset(pt)");

extern "C" {static PyObject *meth_wxRect2DDouble_Offset(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Offset(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Offset(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Offset, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_ConstrainTo, "ConstrainTo(rect)");

extern "C" {static PyObject *meth_wxRect2DDouble_ConstrainTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_ConstrainTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* rect;
        int rectState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_rect,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxRect2DDouble, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ConstrainTo(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(rect),sipType_wxRect2DDouble,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_ConstrainTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Interpolate, "Interpolate(widthfactor, heightfactor) -> Point2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_Interpolate(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Interpolate(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxInt32 widthfactor;
         ::wxInt32 heightfactor;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_widthfactor,
            sipName_heightfactor,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &widthfactor, &heightfactor))
        {
             ::wxPoint2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint2DDouble(sipCpp->Interpolate(widthfactor,heightfactor));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Interpolate, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Intersect, "Intersect(otherRect)\n"
"Intersect(src1, src2, dest)\n"
"");

extern "C" {static PyObject *meth_wxRect2DDouble_Intersect(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Intersect(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* otherRect;
        int otherRectState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_otherRect,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxRect2DDouble, &otherRect, &otherRectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Intersect(*otherRect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(otherRect),sipType_wxRect2DDouble,otherRectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::wxRect2DDouble* src1;
        int src1State = 0;
        const  ::wxRect2DDouble* src2;
        int src2State = 0;
         ::wxRect2DDouble* dest;
        int destState = 0;

        static const char *sipKwdList[] = {
            sipName_src1,
            sipName_src2,
            sipName_dest,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J1J1J0", sipType_wxRect2DDouble, &src1, &src1State, sipType_wxRect2DDouble, &src2, &src2State, sipType_wxRect2DDouble, &dest, &destState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
             ::wxRect2DDouble::Intersect(*src1,*src2,dest);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(src1),sipType_wxRect2DDouble,src1State);
            sipReleaseType(const_cast< ::wxRect2DDouble *>(src2),sipType_wxRect2DDouble,src2State);
            sipReleaseType(dest,sipType_wxRect2DDouble,destState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Intersect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_CreateIntersection, "CreateIntersection(otherRect) -> Rect2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_CreateIntersection(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_CreateIntersection(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* otherRect;
        int otherRectState = 0;
        const  ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_otherRect,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxRect2DDouble, &otherRect, &otherRectState))
        {
             ::wxRect2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect2DDouble(sipCpp->CreateIntersection(*otherRect));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(otherRect),sipType_wxRect2DDouble,otherRectState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxRect2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_CreateIntersection, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Intersects, "Intersects(rect) -> bool");

extern "C" {static PyObject *meth_wxRect2DDouble_Intersects(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Intersects(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* rect;
        int rectState = 0;
        const  ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_rect,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxRect2DDouble, &rect, &rectState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Intersects(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(rect),sipType_wxRect2DDouble,rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Intersects, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Union, "Union(otherRect)\n"
"Union(pt)\n"
"Union(src1, src2, dest)\n"
"\n"
"");

extern "C" {static PyObject *meth_wxRect2DDouble_Union(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Union(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* otherRect;
        int otherRectState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_otherRect,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxRect2DDouble, &otherRect, &otherRectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Union(*otherRect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(otherRect),sipType_wxRect2DDouble,otherRectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::wxPoint2DDouble* pt;
        int ptState = 0;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxPoint2DDouble, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Union(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint2DDouble *>(pt),sipType_wxPoint2DDouble,ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::wxRect2DDouble* src1;
        int src1State = 0;
        const  ::wxRect2DDouble* src2;
        int src2State = 0;
         ::wxRect2DDouble* dest;
        int destState = 0;

        static const char *sipKwdList[] = {
            sipName_src1,
            sipName_src2,
            sipName_dest,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J1J1J0", sipType_wxRect2DDouble, &src1, &src1State, sipType_wxRect2DDouble, &src2, &src2State, sipType_wxRect2DDouble, &dest, &destState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
             ::wxRect2DDouble::Union(*src1,*src2,dest);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(src1),sipType_wxRect2DDouble,src1State);
            sipReleaseType(const_cast< ::wxRect2DDouble *>(src2),sipType_wxRect2DDouble,src2State);
            sipReleaseType(dest,sipType_wxRect2DDouble,destState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Union, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_CreateUnion, "CreateUnion(otherRect) -> Rect2DDouble");

extern "C" {static PyObject *meth_wxRect2DDouble_CreateUnion(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_CreateUnion(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* otherRect;
        int otherRectState = 0;
        const  ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_otherRect,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect2DDouble, &sipCpp, sipType_wxRect2DDouble, &otherRect, &otherRectState))
        {
             ::wxRect2DDouble*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect2DDouble(sipCpp->CreateUnion(*otherRect));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(otherRect),sipType_wxRect2DDouble,otherRectState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxRect2DDouble,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_CreateUnion, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Scale, "Scale(f)\n"
"Scale(num, denum)\n"
"");

extern "C" {static PyObject *meth_wxRect2DDouble_Scale(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Scale(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDouble f;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_f,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bd", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &f))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Scale(f);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
         ::wxInt32 num;
         ::wxInt32 denum;
         ::wxRect2DDouble *sipCpp;

        static const char *sipKwdList[] = {
            sipName_num,
            sipName_denum,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxRect2DDouble, &sipCpp, &num, &denum))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Scale(num,denum);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Scale, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect2DDouble_Get, "Get() -> PyObject\n"
"\n"
"Get() -> (x, y, width, height)\n"
"\n"
"Return the rectangle's properties as a tuple.");

extern "C" {static PyObject *meth_wxRect2DDouble_Get(PyObject *, PyObject *);}
static PyObject *meth_wxRect2DDouble_Get(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxRect2DDouble *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect2DDouble, &sipCpp))
        {
            PyObject * sipRes = SIP_NULLPTR;
            int sipIsErr = 0;

        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxRect2DDouble_Get(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect2D, sipName_Get, SIP_NULLPTR);

    return SIP_NULLPTR;
}


extern "C" {static PyObject *slot_wxRect2DDouble___ne__(PyObject *,PyObject *);}
static PyObject *slot_wxRect2DDouble___ne__(PyObject *sipSelf,PyObject *sipArg)
{
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_wxRect2DDouble));

    if (!sipCpp)
        return SIP_NULLPTR;

    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* rect;
        int rectState = 0;

        if (sipParseArgs(&sipParseErr, sipArg, "1J1", sipType_wxRect2DDouble, &rect, &rectState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp-> ::wxRect2DDouble::operator!=(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(rect),sipType_wxRect2DDouble,rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return SIP_NULLPTR;

    return sipPySlotExtend(&sipModuleAPI__core, ne_slot, sipType_wxRect2DDouble, sipSelf, sipArg);
}


extern "C" {static PyObject *slot_wxRect2DDouble___eq__(PyObject *,PyObject *);}
static PyObject *slot_wxRect2DDouble___eq__(PyObject *sipSelf,PyObject *sipArg)
{
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_wxRect2DDouble));

    if (!sipCpp)
        return SIP_NULLPTR;

    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRect2DDouble* rect;
        int rectState = 0;

        if (sipParseArgs(&sipParseErr, sipArg, "1J1", sipType_wxRect2DDouble, &rect, &rectState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp-> ::wxRect2DDouble::operator==(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(rect),sipType_wxRect2DDouble,rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return SIP_NULLPTR;

    return sipPySlotExtend(&sipModuleAPI__core, eq_slot, sipType_wxRect2DDouble, sipSelf, sipArg);
}


/* Call the instance's destructor. */
extern "C" {static void release_wxRect2DDouble(void *, int);}
static void release_wxRect2DDouble(void *sipCppV, int)
{
    Py_BEGIN_ALLOW_THREADS

    delete reinterpret_cast< ::wxRect2DDouble *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void *array_wxRect2DDouble(Py_ssize_t);}
static void *array_wxRect2DDouble(Py_ssize_t sipNrElem)
{
    return new  ::wxRect2DDouble[sipNrElem];
}


extern "C" {static void assign_wxRect2DDouble(void *, SIP_SSIZE_T, void *);}
static void assign_wxRect2DDouble(void *sipDst, SIP_SSIZE_T sipDstIdx, void *sipSrc)
{
    reinterpret_cast< ::wxRect2DDouble *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::wxRect2DDouble *>(sipSrc);
}


extern "C" {static void *copy_wxRect2DDouble(const void *, SIP_SSIZE_T);}
static void *copy_wxRect2DDouble(const void *sipSrc, SIP_SSIZE_T sipSrcIdx)
{
    return new  ::wxRect2DDouble(reinterpret_cast<const  ::wxRect2DDouble *>(sipSrc)[sipSrcIdx]);
}


extern "C" {static void dealloc_wxRect2DDouble(sipSimpleWrapper *);}
static void dealloc_wxRect2DDouble(sipSimpleWrapper *sipSelf)
{
    if (sipIsOwnedByPython(sipSelf))
    {
        release_wxRect2DDouble(sipGetAddress(sipSelf), 0);
    }
}


extern "C" {static void *init_type_wxRect2DDouble(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_wxRect2DDouble(sipSimpleWrapper *, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
     ::wxRect2DDouble *sipCpp = SIP_NULLPTR;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new  ::wxRect2DDouble();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
         ::wxDouble x;
         ::wxDouble y;
         ::wxDouble w;
         ::wxDouble h;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_w,
            sipName_h,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "dddd", &x, &y, &w, &h))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new  ::wxRect2DDouble(x,y,w,h);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        const  ::wxRect2DDouble* a0;
        int a0State = 0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "J1", sipType_wxRect2DDouble, &a0, &a0State))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new  ::wxRect2DDouble(*a0);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect2DDouble *>(a0),sipType_wxRect2DDouble,a0State);

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


extern "C" {static int convertTo_wxRect2DDouble(PyObject *, void **, int *, PyObject *);}
static int convertTo_wxRect2DDouble(PyObject *sipPy,void **sipCppPtrV,int *sipIsErr,PyObject *sipTransferObj)
{
     ::wxRect2DDouble **sipCppPtr = reinterpret_cast< ::wxRect2DDouble **>(sipCppPtrV);

        // is it just a typecheck?
        if (!sipIsErr) {
            // is it already an instance of wxRect2DDouble?
            if (sipCanConvertToType(sipPy, sipType_wxRect2DDouble, SIP_NO_CONVERTORS))
                return 1;
        
            if (wxPyNumberSequenceCheck(sipPy, 4)) {
                return 1;
            }
            return 0;
        }
        
        // otherwise do the conversion
        if (sipCanConvertToType(sipPy, sipType_wxRect2DDouble, SIP_NO_CONVERTORS)) {
            // Just fetch the existing instance
            *sipCppPtr = reinterpret_cast<wxRect2DDouble*>(sipConvertToType(
                    sipPy, sipType_wxRect2DDouble, sipTransferObj, SIP_NO_CONVERTORS, 0, sipIsErr));
            return 0; // not a new instance
        }
        
        // or create a new instance
        PyObject* o1 = PySequence_ITEM(sipPy, 0);
        PyObject* o2 = PySequence_ITEM(sipPy, 1);
        PyObject* o3 = PySequence_ITEM(sipPy, 2);
        PyObject* o4 = PySequence_ITEM(sipPy, 3);
        *sipCppPtr = new wxRect2DDouble(PyFloat_AsDouble(o1), PyFloat_AsDouble(o2),
                                 PyFloat_AsDouble(o3), PyFloat_AsDouble(o4));
        Py_DECREF(o1);
        Py_DECREF(o2);
        Py_DECREF(o3);
        Py_DECREF(o4);
        return SIP_TEMPORARY;
}


/* Define this type's Python slots. */
static sipPySlotDef slots_wxRect2DDouble[] = {
    {(void *)slot_wxRect2DDouble___ne__, ne_slot},
    {(void *)slot_wxRect2DDouble___eq__, eq_slot},
    {0, (sipPySlotType)0}
};


static PyMethodDef methods_wxRect2DDouble[] = {
    {SIP_MLNAME_CAST(sipName_ConstrainTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_ConstrainTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_ConstrainTo)},
    {SIP_MLNAME_CAST(sipName_Contains), SIP_MLMETH_CAST(meth_wxRect2DDouble_Contains), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Contains)},
    {SIP_MLNAME_CAST(sipName_CreateIntersection), SIP_MLMETH_CAST(meth_wxRect2DDouble_CreateIntersection), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_CreateIntersection)},
    {SIP_MLNAME_CAST(sipName_CreateUnion), SIP_MLMETH_CAST(meth_wxRect2DDouble_CreateUnion), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_CreateUnion)},
    {SIP_MLNAME_CAST(sipName_Get), meth_wxRect2DDouble_Get, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Get)},
    {SIP_MLNAME_CAST(sipName_GetBottom), meth_wxRect2DDouble_GetBottom, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetBottom)},
    {SIP_MLNAME_CAST(sipName_GetCentre), meth_wxRect2DDouble_GetCentre, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetCentre)},
    {SIP_MLNAME_CAST(sipName_GetLeft), meth_wxRect2DDouble_GetLeft, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetLeft)},
    {SIP_MLNAME_CAST(sipName_GetLeftBottom), meth_wxRect2DDouble_GetLeftBottom, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetLeftBottom)},
    {SIP_MLNAME_CAST(sipName_GetLeftTop), meth_wxRect2DDouble_GetLeftTop, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetLeftTop)},
    {SIP_MLNAME_CAST(sipName_GetOutCode), SIP_MLMETH_CAST(meth_wxRect2DDouble_GetOutCode), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetOutCode)},
    {SIP_MLNAME_CAST(sipName_GetOutcode), SIP_MLMETH_CAST(meth_wxRect2DDouble_GetOutcode), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetOutcode)},
    {SIP_MLNAME_CAST(sipName_GetPosition), meth_wxRect2DDouble_GetPosition, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetPosition)},
    {SIP_MLNAME_CAST(sipName_GetRight), meth_wxRect2DDouble_GetRight, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetRight)},
    {SIP_MLNAME_CAST(sipName_GetRightBottom), meth_wxRect2DDouble_GetRightBottom, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetRightBottom)},
    {SIP_MLNAME_CAST(sipName_GetRightTop), meth_wxRect2DDouble_GetRightTop, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetRightTop)},
    {SIP_MLNAME_CAST(sipName_GetSize), meth_wxRect2DDouble_GetSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetSize)},
    {SIP_MLNAME_CAST(sipName_GetTop), meth_wxRect2DDouble_GetTop, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_GetTop)},
    {SIP_MLNAME_CAST(sipName_HaveEqualSize), SIP_MLMETH_CAST(meth_wxRect2DDouble_HaveEqualSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_HaveEqualSize)},
    {SIP_MLNAME_CAST(sipName_Inset), SIP_MLMETH_CAST(meth_wxRect2DDouble_Inset), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Inset)},
    {SIP_MLNAME_CAST(sipName_Interpolate), SIP_MLMETH_CAST(meth_wxRect2DDouble_Interpolate), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Interpolate)},
    {SIP_MLNAME_CAST(sipName_Intersect), SIP_MLMETH_CAST(meth_wxRect2DDouble_Intersect), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Intersect)},
    {SIP_MLNAME_CAST(sipName_Intersects), SIP_MLMETH_CAST(meth_wxRect2DDouble_Intersects), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Intersects)},
    {SIP_MLNAME_CAST(sipName_IsEmpty), meth_wxRect2DDouble_IsEmpty, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRect2DDouble_IsEmpty)},
    {SIP_MLNAME_CAST(sipName_MoveBottomTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveBottomTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveBottomTo)},
    {SIP_MLNAME_CAST(sipName_MoveCentreTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveCentreTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveCentreTo)},
    {SIP_MLNAME_CAST(sipName_MoveLeftBottomTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveLeftBottomTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveLeftBottomTo)},
    {SIP_MLNAME_CAST(sipName_MoveLeftTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveLeftTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveLeftTo)},
    {SIP_MLNAME_CAST(sipName_MoveLeftTopTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveLeftTopTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveLeftTopTo)},
    {SIP_MLNAME_CAST(sipName_MoveRightBottomTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveRightBottomTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveRightBottomTo)},
    {SIP_MLNAME_CAST(sipName_MoveRightTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveRightTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveRightTo)},
    {SIP_MLNAME_CAST(sipName_MoveRightTopTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveRightTopTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveRightTopTo)},
    {SIP_MLNAME_CAST(sipName_MoveTopTo), SIP_MLMETH_CAST(meth_wxRect2DDouble_MoveTopTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_MoveTopTo)},
    {SIP_MLNAME_CAST(sipName_Offset), SIP_MLMETH_CAST(meth_wxRect2DDouble_Offset), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Offset)},
    {SIP_MLNAME_CAST(sipName_Scale), SIP_MLMETH_CAST(meth_wxRect2DDouble_Scale), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Scale)},
    {SIP_MLNAME_CAST(sipName_SetBottom), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetBottom), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetBottom)},
    {SIP_MLNAME_CAST(sipName_SetCentre), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetCentre), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetCentre)},
    {SIP_MLNAME_CAST(sipName_SetLeft), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetLeft), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetLeft)},
    {SIP_MLNAME_CAST(sipName_SetLeftBottom), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetLeftBottom), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetLeftBottom)},
    {SIP_MLNAME_CAST(sipName_SetLeftTop), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetLeftTop), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetLeftTop)},
    {SIP_MLNAME_CAST(sipName_SetRight), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetRight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetRight)},
    {SIP_MLNAME_CAST(sipName_SetRightBottom), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetRightBottom), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetRightBottom)},
    {SIP_MLNAME_CAST(sipName_SetRightTop), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetRightTop), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetRightTop)},
    {SIP_MLNAME_CAST(sipName_SetTop), SIP_MLMETH_CAST(meth_wxRect2DDouble_SetTop), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_SetTop)},
    {SIP_MLNAME_CAST(sipName_Union), SIP_MLMETH_CAST(meth_wxRect2DDouble_Union), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRect2DDouble_Union)}
};


extern "C" {static PyObject *varget_wxRect2DDouble_m_height(void *, PyObject *, PyObject *);}
static PyObject *varget_wxRect2DDouble_m_height(void *sipSelf, PyObject *, PyObject *)
{
     ::wxDouble sipVal;
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipSelf);

    sipVal = sipCpp->m_height;

    return PyFloat_FromDouble(sipVal);
}


extern "C" {static int varset_wxRect2DDouble_m_height(void *, PyObject *, PyObject *);}
static int varset_wxRect2DDouble_m_height(void *sipSelf, PyObject *sipPy, PyObject *)
{
     ::wxDouble sipVal;
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipSelf);

    sipVal = PyFloat_AsDouble(sipPy);

    if (PyErr_Occurred() != SIP_NULLPTR)
        return -1;

    sipCpp->m_height = sipVal;

    return 0;
}


extern "C" {static PyObject *varget_wxRect2DDouble_m_width(void *, PyObject *, PyObject *);}
static PyObject *varget_wxRect2DDouble_m_width(void *sipSelf, PyObject *, PyObject *)
{
     ::wxDouble sipVal;
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipSelf);

    sipVal = sipCpp->m_width;

    return PyFloat_FromDouble(sipVal);
}


extern "C" {static int varset_wxRect2DDouble_m_width(void *, PyObject *, PyObject *);}
static int varset_wxRect2DDouble_m_width(void *sipSelf, PyObject *sipPy, PyObject *)
{
     ::wxDouble sipVal;
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipSelf);

    sipVal = PyFloat_AsDouble(sipPy);

    if (PyErr_Occurred() != SIP_NULLPTR)
        return -1;

    sipCpp->m_width = sipVal;

    return 0;
}


extern "C" {static PyObject *varget_wxRect2DDouble_m_x(void *, PyObject *, PyObject *);}
static PyObject *varget_wxRect2DDouble_m_x(void *sipSelf, PyObject *, PyObject *)
{
     ::wxDouble sipVal;
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipSelf);

    sipVal = sipCpp->m_x;

    return PyFloat_FromDouble(sipVal);
}


extern "C" {static int varset_wxRect2DDouble_m_x(void *, PyObject *, PyObject *);}
static int varset_wxRect2DDouble_m_x(void *sipSelf, PyObject *sipPy, PyObject *)
{
     ::wxDouble sipVal;
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipSelf);

    sipVal = PyFloat_AsDouble(sipPy);

    if (PyErr_Occurred() != SIP_NULLPTR)
        return -1;

    sipCpp->m_x = sipVal;

    return 0;
}


extern "C" {static PyObject *varget_wxRect2DDouble_m_y(void *, PyObject *, PyObject *);}
static PyObject *varget_wxRect2DDouble_m_y(void *sipSelf, PyObject *, PyObject *)
{
     ::wxDouble sipVal;
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipSelf);

    sipVal = sipCpp->m_y;

    return PyFloat_FromDouble(sipVal);
}


extern "C" {static int varset_wxRect2DDouble_m_y(void *, PyObject *, PyObject *);}
static int varset_wxRect2DDouble_m_y(void *sipSelf, PyObject *sipPy, PyObject *)
{
     ::wxDouble sipVal;
     ::wxRect2DDouble *sipCpp = reinterpret_cast< ::wxRect2DDouble *>(sipSelf);

    sipVal = PyFloat_AsDouble(sipPy);

    if (PyErr_Occurred() != SIP_NULLPTR)
        return -1;

    sipCpp->m_y = sipVal;

    return 0;
}

sipVariableDef variables_wxRect2DDouble[] = {
    {PropertyVariable, sipName_Top, &methods_wxRect2DDouble[17], &methods_wxRect2DDouble[43], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Size, &methods_wxRect2DDouble[16], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_RightTop, &methods_wxRect2DDouble[15], &methods_wxRect2DDouble[42], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_RightBottom, &methods_wxRect2DDouble[14], &methods_wxRect2DDouble[41], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Right, &methods_wxRect2DDouble[13], &methods_wxRect2DDouble[40], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Position, &methods_wxRect2DDouble[12], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_LeftTop, &methods_wxRect2DDouble[9], &methods_wxRect2DDouble[39], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_LeftBottom, &methods_wxRect2DDouble[8], &methods_wxRect2DDouble[38], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Left, &methods_wxRect2DDouble[7], &methods_wxRect2DDouble[37], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Centre, &methods_wxRect2DDouble[6], &methods_wxRect2DDouble[36], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Bottom, &methods_wxRect2DDouble[5], &methods_wxRect2DDouble[35], SIP_NULLPTR, SIP_NULLPTR},
    {InstanceVariable, sipName_height, (PyMethodDef *)varget_wxRect2DDouble_m_height, (PyMethodDef *)varset_wxRect2DDouble_m_height, SIP_NULLPTR, SIP_NULLPTR},
    {InstanceVariable, sipName_width, (PyMethodDef *)varget_wxRect2DDouble_m_width, (PyMethodDef *)varset_wxRect2DDouble_m_width, SIP_NULLPTR, SIP_NULLPTR},
    {InstanceVariable, sipName_x, (PyMethodDef *)varget_wxRect2DDouble_m_x, (PyMethodDef *)varset_wxRect2DDouble_m_x, SIP_NULLPTR, SIP_NULLPTR},
    {InstanceVariable, sipName_y, (PyMethodDef *)varget_wxRect2DDouble_m_y, (PyMethodDef *)varset_wxRect2DDouble_m_y, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRect2DDouble, "Rect2DDouble()\n"
"Rect2DDouble(x, y, w, h)");


sipClassTypeDef sipTypeDef__core_wxRect2DDouble = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_CLASS,
        sipNameNr_wxRect2DDouble,
        {SIP_NULLPTR},
        SIP_NULLPTR
    },
    {
        sipNameNr_Rect2D,
        {0, 0, 1},
        45, methods_wxRect2DDouble,
        0, SIP_NULLPTR,
        15, variables_wxRect2DDouble,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRect2DDouble,
    -1,
    -1,
    SIP_NULLPTR,
    slots_wxRect2DDouble,
    init_type_wxRect2DDouble,
    SIP_NULLPTR,
    SIP_NULLPTR,
#if PY_MAJOR_VERSION >= 3
    SIP_NULLPTR,
    SIP_NULLPTR,
#else
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#endif
    dealloc_wxRect2DDouble,
    assign_wxRect2DDouble,
    array_wxRect2DDouble,
    copy_wxRect2DDouble,
    release_wxRect2DDouble,
    SIP_NULLPTR,
    convertTo_wxRect2DDouble,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
