/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.15.3
 *
 * Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
 * 
 * This file is part of PyQt3D.
 * 
 * This file may be used under the terms of the GNU General Public License
 * version 3.0 as published by the Free Software Foundation and appearing in
 * the file LICENSE included in the packaging of this file.  Please review the
 * following information to ensure the GNU General Public License version 3.0
 * requirements will be met: http://www.gnu.org/copyleft/gpl.html.
 * 
 * If you do not wish to use this file under the terms of the GPL version 3.0
 * then you may purchase a commercial license.  For more information contact
 * info@riverbankcomputing.com.
 * 
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

#include "sipAPIQt3DRender.h"

#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qabstractfunctor.sip"
#include <qabstractfunctor.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qabstractlight.sip"
#include <qabstractlight.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qabstractraycaster.sip"
#include <qabstractraycaster.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qabstracttexture.sip"
#include <qabstracttexture.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qabstracttextureimage.sip"
#include <qabstracttextureimage.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qalphacoverage.sip"
#include <qalphacoverage.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qalphatest.sip"
#include <qalphatest.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qattribute.sip"
#include <qattribute.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qblendequation.sip"
#include <qblendequation.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qblendequationarguments.sip"
#include <qblendequationarguments.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qblitframebuffer.sip"
#include <qblitframebuffer.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qbuffer.sip"
#include <qbuffer.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qbufferdatagenerator.sip"
#include <qbufferdatagenerator.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qcamera.sip"
#include <qcamera.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qcameralens.sip"
#include <qcameralens.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qcameraselector.sip"
#include <qcameraselector.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qclearbuffers.sip"
#include <qclearbuffers.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qclipplane.sip"
#include <qclipplane.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qcomputecommand.sip"
#include <qcomputecommand.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qcolormask.sip"
#include <qcolormask.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qcullface.sip"
#include <qcullface.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qdepthrange.sip"
#include <qdepthrange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qdepthtest.sip"
#include <qdepthtest.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qdirectionallight.sip"
#include <qdirectionallight.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qdispatchcompute.sip"
#include <qdispatchcompute.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qdithering.sip"
#include <qdithering.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qeffect.sip"
#include <qeffect.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qenvironmentlight.sip"
#include <qenvironmentlight.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qfilterkey.sip"
#include <qfilterkey.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qframegraphnode.sip"
#include <qframegraphnode.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qfrontface.sip"
#include <qfrontface.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qfrustumculling.sip"
#include <qfrustumculling.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qgeometry.sip"
#include <qgeometry.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qgeometryfactory.sip"
#include <qgeometryfactory.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qgeometryrenderer.sip"
#include <qgeometryrenderer.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qgraphicsapifilter.sip"
#include <qgraphicsapifilter.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qlayer.sip"
#include <qlayer.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qlayerfilter.sip"
#include <qlayerfilter.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qlevelofdetail.sip"
#include <qlevelofdetail.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qlevelofdetailboundingsphere.sip"
#include <qlevelofdetailboundingsphere.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qlevelofdetailswitch.sip"
#include <qlevelofdetailswitch.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qlinewidth.sip"
#include <qlinewidth.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qmaterial.sip"
#include <qmaterial.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qmemorybarrier.sip"
#include <qmemorybarrier.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qmesh.sip"
#include <qmesh.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qmultisampleantialiasing.sip"
#include <qmultisampleantialiasing.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qnodepthmask.sip"
#include <qnodepthmask.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qnodraw.sip"
#include <qnodraw.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qnopicking.sip"
#include <qnopicking.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qobjectpicker.sip"
#include <qobjectpicker.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpaintedtextureimage.sip"
#include <qpaintedtextureimage.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qparameter.sip"
#include <qparameter.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpickevent.sip"
#include <qpickevent.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpickingsettings.sip"
#include <qpickingsettings.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpicklineevent.sip"
#include <qpicklineevent.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpickpointevent.sip"
#include <qpickpointevent.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpicktriangleevent.sip"
#include <qpicktriangleevent.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpointlight.sip"
#include <qpointlight.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpointsize.sip"
#include <qpointsize.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qpolygonoffset.sip"
#include <qpolygonoffset.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qproximityfilter.sip"
#include <qproximityfilter.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qrastermode.sip"
#include <qrastermode.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qraycaster.sip"
#include <qraycaster.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qraycasterhit.sip"
#include <qraycasterhit.h>
#line 34 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DRender/qraycasterhit.sip"
#include <qraycasterhit.h>
#line 157 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DRender/sipQt3DRenderQt3DRenderQRayCasterHit.cpp"

#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qabstractaspect.sip"
#include <qabstractaspect.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qaspectengine.sip"
#include <qaspectengine.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qabstractskeleton.sip"
#include <qabstractskeleton.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qarmature.sip"
#include <qarmature.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qbackendnode.sip"
#include <qbackendnode.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qcomponent.sip"
#include <qcomponent.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qcomponentaddedchange.sip"
#include <qcomponentaddedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qcomponentremovedchange.sip"
#include <qcomponentremovedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qdynamicpropertyupdatedchange.sip"
#include <qdynamicpropertyupdatedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qentity.sip"
#include <qentity.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qjoint.sip"
#include <qjoint.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qnode.sip"
#include <qnode.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qnodecommand.sip"
#include <qnodecommand.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qnodecreatedchange.sip"
#include <qnodecreatedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qnodedestroyedchange.sip"
#include <qnodedestroyedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qnodeid.sip"
#include <qnodeid.h>
#line 32 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qnodeid.sip"
#include <qnodeid.h>
#line 193 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DRender/sipQt3DRenderQt3DRenderQRayCasterHit.cpp"
#line 30 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtGui/qvector3d.sip"
#include <qvector3d.h>
#line 196 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DRender/sipQt3DRenderQt3DRenderQRayCasterHit.cpp"
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qabstractaspect.sip"
#include <qabstractaspect.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qaspectengine.sip"
#include <qaspectengine.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qabstractskeleton.sip"
#include <qabstractskeleton.h>
#line 28 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qarmature.sip"
#include <qarmature.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qbackendnode.sip"
#include <qbackendnode.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qcomponent.sip"
#include <qcomponent.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qcomponentaddedchange.sip"
#include <qcomponentaddedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qcomponentremovedchange.sip"
#include <qcomponentremovedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qdynamicpropertyupdatedchange.sip"
#include <qdynamicpropertyupdatedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qentity.sip"
#include <qentity.h>
#line 34 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qentity.sip"
#include <qentity.h>
#line 219 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DRender/sipQt3DRenderQt3DRenderQRayCasterHit.cpp"


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_type, "type(self) -> QRayCasterHit.HitType");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_Qt3DRender_QRayCasterHit, &sipCpp))
        {
            ::Qt3DRender::QRayCasterHit::HitType sipRes;

            sipRes = sipCpp->type();

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

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_type, doc_Qt3DRender_QRayCasterHit_type);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_entityId, "entityId(self) -> QNodeId");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_Qt3DRender_QRayCasterHit, &sipCpp))
        {
            ::Qt3DCore::QNodeId*sipRes;

            sipRes = new ::Qt3DCore::QNodeId(sipCpp->entityId());

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

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_entityId, doc_Qt3DRender_QRayCasterHit_entityId);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_entity, "entity(self) -> QEntity|None");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_Qt3DRender_QRayCasterHit, &sipCpp))
        {
            ::Qt3DCore::QEntity*sipRes;

            sipRes = sipCpp->entity();

            return sipConvertFromType(sipRes, sipType_Qt3DCore_QEntity, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_entity, doc_Qt3DRender_QRayCasterHit_entity);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_distance, "distance(self) -> float");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_Qt3DRender_QRayCasterHit, &sipCpp))
        {
            float sipRes;

            sipRes = sipCpp->distance();

            return PyFloat_FromDouble((double)sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_distance, doc_Qt3DRender_QRayCasterHit_distance);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_localIntersection, "localIntersection(self) -> QVector3D");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

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

            sipRes = new ::QVector3D(sipCpp->localIntersection());

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

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_localIntersection, doc_Qt3DRender_QRayCasterHit_localIntersection);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_worldIntersection, "worldIntersection(self) -> QVector3D");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

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

            sipRes = new ::QVector3D(sipCpp->worldIntersection());

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

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_worldIntersection, doc_Qt3DRender_QRayCasterHit_worldIntersection);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_primitiveIndex, "primitiveIndex(self) -> int");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

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

            sipRes = sipCpp->primitiveIndex();

            return PyLong_FromUnsignedLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_primitiveIndex, doc_Qt3DRender_QRayCasterHit_primitiveIndex);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_vertex1Index, "vertex1Index(self) -> int");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

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

            sipRes = sipCpp->vertex1Index();

            return PyLong_FromUnsignedLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_vertex1Index, doc_Qt3DRender_QRayCasterHit_vertex1Index);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_vertex2Index, "vertex2Index(self) -> int");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

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

            sipRes = sipCpp->vertex2Index();

            return PyLong_FromUnsignedLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_vertex2Index, doc_Qt3DRender_QRayCasterHit_vertex2Index);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit_vertex3Index, "vertex3Index(self) -> int");

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

    {
        const ::Qt3DRender::QRayCasterHit *sipCpp;

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

            sipRes = sipCpp->vertex3Index();

            return PyLong_FromUnsignedLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QRayCasterHit, sipName_vertex3Index, doc_Qt3DRender_QRayCasterHit_vertex3Index);

    return SIP_NULLPTR;
}


/* Call the instance's destructor. */
extern "C" {static void release_Qt3DRender_QRayCasterHit(void *, int);}
static void release_Qt3DRender_QRayCasterHit(void *sipCppV, int)
{
    delete reinterpret_cast< ::Qt3DRender::QRayCasterHit *>(sipCppV);
}


extern "C" {static void *array_Qt3DRender_QRayCasterHit(Py_ssize_t);}
static void *array_Qt3DRender_QRayCasterHit(Py_ssize_t sipNrElem)
{
    return new ::Qt3DRender::QRayCasterHit[sipNrElem];
}


extern "C" {static void array_delete_Qt3DRender_QRayCasterHit(void *);}
static void array_delete_Qt3DRender_QRayCasterHit(void *sipCpp)
{
    delete[] reinterpret_cast< ::Qt3DRender::QRayCasterHit *>(sipCpp);
}


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


extern "C" {static void *copy_Qt3DRender_QRayCasterHit(const void *, Py_ssize_t);}
static void *copy_Qt3DRender_QRayCasterHit(const void *sipSrc, Py_ssize_t sipSrcIdx)
{
    return new ::Qt3DRender::QRayCasterHit(reinterpret_cast<const ::Qt3DRender::QRayCasterHit *>(sipSrc)[sipSrcIdx]);
}


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


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

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {
            sipCpp = new ::Qt3DRender::QRayCasterHit();

            return sipCpp;
        }
    }

    {
        ::Qt3DRender::QRayCasterHit::HitType a0;
        ::Qt3DCore::QNodeId* a1;
        float a2;
        const ::QVector3D* a3;
        const ::QVector3D* a4;
        ::uint a5;
        ::uint a6;
        ::uint a7;
        ::uint a8;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "EJ9fJ9J9uuuu", sipType_Qt3DRender_QRayCasterHit_HitType, &a0, sipType_Qt3DCore_QNodeId, &a1, &a2, sipType_QVector3D, &a3, sipType_QVector3D, &a4, &a5, &a6, &a7, &a8))
        {
            sipCpp = new ::Qt3DRender::QRayCasterHit(a0, *a1, a2, *a3, *a4, a5, a6, a7, a8);

            return sipCpp;
        }
    }

    {
        const ::Qt3DRender::QRayCasterHit* a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "J9", sipType_Qt3DRender_QRayCasterHit, &a0))
        {
            sipCpp = new ::Qt3DRender::QRayCasterHit(*a0);

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


static PyMethodDef methods_Qt3DRender_QRayCasterHit[] = {
    {sipName_distance, meth_Qt3DRender_QRayCasterHit_distance, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_distance},
    {sipName_entity, meth_Qt3DRender_QRayCasterHit_entity, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_entity},
    {sipName_entityId, meth_Qt3DRender_QRayCasterHit_entityId, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_entityId},
    {sipName_localIntersection, meth_Qt3DRender_QRayCasterHit_localIntersection, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_localIntersection},
    {sipName_primitiveIndex, meth_Qt3DRender_QRayCasterHit_primitiveIndex, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_primitiveIndex},
    {sipName_type, meth_Qt3DRender_QRayCasterHit_type, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_type},
    {sipName_vertex1Index, meth_Qt3DRender_QRayCasterHit_vertex1Index, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_vertex1Index},
    {sipName_vertex2Index, meth_Qt3DRender_QRayCasterHit_vertex2Index, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_vertex2Index},
    {sipName_vertex3Index, meth_Qt3DRender_QRayCasterHit_vertex3Index, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_vertex3Index},
    {sipName_worldIntersection, meth_Qt3DRender_QRayCasterHit_worldIntersection, METH_VARARGS, doc_Qt3DRender_QRayCasterHit_worldIntersection}
};

static sipEnumMemberDef enummembers_Qt3DRender_QRayCasterHit[] = {
    {sipName_EntityHit, static_cast<int>(::Qt3DRender::QRayCasterHit::EntityHit), 129},
    {sipName_LineHit, static_cast<int>(::Qt3DRender::QRayCasterHit::LineHit), 129},
    {sipName_PointHit, static_cast<int>(::Qt3DRender::QRayCasterHit::PointHit), 129},
    {sipName_TriangleHit, static_cast<int>(::Qt3DRender::QRayCasterHit::TriangleHit), 129},
};

PyDoc_STRVAR(doc_Qt3DRender_QRayCasterHit, "\1QRayCasterHit()\n"
"QRayCasterHit(type: QRayCasterHit.HitType, id: QNodeId, distance: float, localIntersect: QVector3D, worldIntersect: QVector3D, primitiveIndex: int, v1: int, v2: int, v3: int)\n"
"QRayCasterHit(other: QRayCasterHit)");


static pyqt5ClassPluginDef plugin_Qt3DRender_QRayCasterHit = {
    SIP_NULLPTR,
    0,
    SIP_NULLPTR,
    SIP_NULLPTR
};


sipClassTypeDef sipTypeDef_Qt3DRender_Qt3DRender_QRayCasterHit = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SUPER_INIT|SIP_TYPE_LIMITED_API|SIP_TYPE_CLASS,
        sipNameNr_Qt3DRender__QRayCasterHit,
        SIP_NULLPTR,
        &plugin_Qt3DRender_QRayCasterHit,
    },
    {
        sipNameNr_QRayCasterHit,
        {0, 0, 1},
        10, methods_Qt3DRender_QRayCasterHit,
        4, enummembers_Qt3DRender_QRayCasterHit,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_Qt3DRender_QRayCasterHit,
    -1,
    sipNameNr_sip_simplewrapper,
    SIP_NULLPTR,
    SIP_NULLPTR,
    init_type_Qt3DRender_QRayCasterHit,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_Qt3DRender_QRayCasterHit,
    assign_Qt3DRender_QRayCasterHit,
    array_Qt3DRender_QRayCasterHit,
    copy_Qt3DRender_QRayCasterHit,
    release_Qt3DRender_QRayCasterHit,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_Qt3DRender_QRayCasterHit,
    sizeof (::Qt3DRender::QRayCasterHit),
};
