/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.15.1
 *
 *     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() -> float");

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) -> None");

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) -> None");

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() -> float");

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) -> None");

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) -> None");

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() -> float");

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) -> None");

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) -> None");

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() -> float");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None");

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) -> None\n"
"Inset(left, top, right, bottom) -> None\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) -> None");

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) -> None");

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;
        const ::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) -> None\n"
"Intersect(src1, src2, dest) -> None\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) -> None\n"
"Union(pt) -> None\n"
"Union(src1, src2, dest) -> None\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) -> None\n"
"Scale(num, denum) -> None\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() -> Any\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);

    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);

    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 array_delete_wxRect2DDouble(void *);}
static void array_delete_wxRect2DDouble(void *sipCpp)
{
    delete[] reinterpret_cast< ::wxRect2DDouble *>(sipCpp);
}


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


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


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,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxRect2DDouble,
    assign_wxRect2DDouble,
    array_wxRect2DDouble,
    copy_wxRect2DDouble,
    release_wxRect2DDouble,
    SIP_NULLPTR,
    convertTo_wxRect2DDouble,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_wxRect2DDouble,
    sizeof (::wxRect2DDouble),
};
