/*
 * 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 "sipAPIQt3DCore.h"

#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 34 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qjoint.sip"
#include <qjoint.h>
#line 51 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.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 34 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qnode.sip"
#include <qnode.h>
#line 79 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 27 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qstring.sip"
#include <qstring.h>
#line 82 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 30 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtGui/qmatrix4x4.sip"
#include <qmatrix4x4.h>
#line 85 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 30 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtGui/qvector3d.sip"
#include <qvector3d.h>
#line 88 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 30 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtGui/qquaternion.sip"
#include <qquaternion.h>
#line 91 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 139 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qpycore_qvector.sip"
#include <qvector.h>
#line 94 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qsharedpointer.sip"
#include <qsharedpointer.h>
#line 97 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.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 34 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qnodecommand.sip"
#include <qnodecommand.h>
#line 126 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qvariant.sip"
#include <qvariant.h>
#line 129 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qsharedpointer.sip"
#include <qsharedpointer.h>
#line 132 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.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 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qpropertynodeaddedchange.sip"
#include <qpropertynodeaddedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qpropertynoderemovedchange.sip"
#include <qpropertynoderemovedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qpropertyupdatedchange.sip"
#include <qpropertyupdatedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qpropertyupdatedchangebase.sip"
#include <qpropertyupdatedchangebase.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qpropertyvalueaddedchange.sip"
#include <qpropertyvalueaddedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qpropertyvalueaddedchangebase.sip"
#include <qpropertyvalueaddedchangebase.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qpropertyvalueremovedchange.sip"
#include <qpropertyvalueremovedchange.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qpropertyvalueremovedchangebase.sip"
#include <qpropertyvalueremovedchangebase.h>
#line 26 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qscenechange.sip"
#include <qscenechange.h>
#line 53 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/sip/Qt3DCore/qscenechange.sip"
#include <qscenechange.h>
#line 185 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 28 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qobject.sip"
#include <qobject.h>
#line 188 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 139 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qpycore_qvector.sip"
#include <qvector.h>
#line 191 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.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 226 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 146 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 231 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qmetaobject.sip"
#include <qmetaobject.h>
#line 234 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 237 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 252 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 240 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 240 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 243 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 38 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 246 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 30 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qbytearray.sip"
#include <qbytearray.h>
#line 249 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 149 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 252 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 255 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qthread.sip"
#include <qthread.h>
#line 258 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 261 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qregexp.sip"
#include <qregexp.h>
#line 264 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qregularexpression.sip"
#include <qregularexpression.h>
#line 267 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"
#line 26 "/usr/lib/python3.14/site-packages/PyQt5/bindings/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 270 "/build/python-pyqt5-3d/src/PyQt3D-5.15.7/build/Qt3DCore/sipQt3DCoreQt3DCoreQJoint.cpp"


class sipQt3DCore_QJoint : public ::Qt3DCore::QJoint
{
public:
    sipQt3DCore_QJoint(::Qt3DCore::QNode*);
    virtual ~sipQt3DCore_QJoint();

    int qt_metacall(QMetaObject::Call, int, void **) SIP_OVERRIDE;
    void *qt_metacast(const char *) SIP_OVERRIDE;
    const QMetaObject *metaObject() const SIP_OVERRIDE;

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void disconnectNotify(const ::QMetaMethod&) SIP_OVERRIDE;
    void connectNotify(const ::QMetaMethod&) SIP_OVERRIDE;
    void customEvent(::QEvent*) SIP_OVERRIDE;
    void childEvent(::QChildEvent*) SIP_OVERRIDE;
    void timerEvent(::QTimerEvent*) SIP_OVERRIDE;
    bool eventFilter(::QObject*, ::QEvent*) SIP_OVERRIDE;
    bool event(::QEvent*) SIP_OVERRIDE;
    void sceneChangeEvent(const ::Qt3DCore::QSceneChangePtr&) SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipQt3DCore_QJoint(const sipQt3DCore_QJoint &);
    sipQt3DCore_QJoint &operator = (const sipQt3DCore_QJoint &);

    char sipPyMethods[8];
};

sipQt3DCore_QJoint::sipQt3DCore_QJoint(::Qt3DCore::QNode*a0): ::Qt3DCore::QJoint(a0), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipQt3DCore_QJoint::~sipQt3DCore_QJoint()
{
    sipInstanceDestroyedEx(&sipPySelf);
}

const QMetaObject *sipQt3DCore_QJoint::metaObject() const
{
    if (sipGetInterpreter())
        return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : sip_Qt3DCore_qt_metaobject(sipPySelf, sipType_Qt3DCore_QJoint);

    return ::Qt3DCore::QJoint::metaObject();
}

int sipQt3DCore_QJoint::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = ::Qt3DCore::QJoint::qt_metacall(_c, _id, _a);

    if (_id >= 0)
    {
        SIP_BLOCK_THREADS
        _id = sip_Qt3DCore_qt_metacall(sipPySelf, sipType_Qt3DCore_QJoint, _c, _id, _a);
        SIP_UNBLOCK_THREADS
    }

    return _id;
}

void *sipQt3DCore_QJoint::qt_metacast(const char *_clname)
{
    void *sipCpp;

    return (sip_Qt3DCore_qt_metacast(sipPySelf, sipType_Qt3DCore_QJoint, _clname, &sipCpp) ? sipCpp : ::Qt3DCore::QJoint::qt_metacast(_clname));
}

void sipQt3DCore_QJoint::disconnectNotify(const ::QMetaMethod& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[0], &sipPySelf, SIP_NULLPTR, sipName_disconnectNotify);

    if (!sipMeth)
    {
        ::Qt3DCore::QJoint::disconnectNotify(a0);
        return;
    }

    extern void sipVH_Qt3DCore_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QMetaMethod&);

    sipVH_Qt3DCore_0(sipGILState, sipImportedVirtErrorHandlers_Qt3DCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQt3DCore_QJoint::connectNotify(const ::QMetaMethod& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[1], &sipPySelf, SIP_NULLPTR, sipName_connectNotify);

    if (!sipMeth)
    {
        ::Qt3DCore::QJoint::connectNotify(a0);
        return;
    }

    extern void sipVH_Qt3DCore_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QMetaMethod&);

    sipVH_Qt3DCore_0(sipGILState, sipImportedVirtErrorHandlers_Qt3DCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQt3DCore_QJoint::customEvent(::QEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[2], &sipPySelf, SIP_NULLPTR, sipName_customEvent);

    if (!sipMeth)
    {
        ::Qt3DCore::QJoint::customEvent(a0);
        return;
    }

    extern void sipVH_Qt3DCore_1(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QEvent*);

    sipVH_Qt3DCore_1(sipGILState, sipImportedVirtErrorHandlers_Qt3DCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQt3DCore_QJoint::childEvent(::QChildEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[3], &sipPySelf, SIP_NULLPTR, sipName_childEvent);

    if (!sipMeth)
    {
        ::Qt3DCore::QJoint::childEvent(a0);
        return;
    }

    extern void sipVH_Qt3DCore_2(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QChildEvent*);

    sipVH_Qt3DCore_2(sipGILState, sipImportedVirtErrorHandlers_Qt3DCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQt3DCore_QJoint::timerEvent(::QTimerEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[4], &sipPySelf, SIP_NULLPTR, sipName_timerEvent);

    if (!sipMeth)
    {
        ::Qt3DCore::QJoint::timerEvent(a0);
        return;
    }

    extern void sipVH_Qt3DCore_3(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QTimerEvent*);

    sipVH_Qt3DCore_3(sipGILState, sipImportedVirtErrorHandlers_Qt3DCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipQt3DCore_QJoint::eventFilter(::QObject*a0, ::QEvent*a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[5], &sipPySelf, SIP_NULLPTR, sipName_eventFilter);

    if (!sipMeth)
        return ::Qt3DCore::QJoint::eventFilter(a0, a1);

    extern bool sipVH_Qt3DCore_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QObject*, ::QEvent*);

    return sipVH_Qt3DCore_4(sipGILState, sipImportedVirtErrorHandlers_Qt3DCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

bool sipQt3DCore_QJoint::event(::QEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[6], &sipPySelf, SIP_NULLPTR, sipName_event);

    if (!sipMeth)
        return ::Qt3DCore::QJoint::event(a0);

    extern bool sipVH_Qt3DCore_5(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QEvent*);

    return sipVH_Qt3DCore_5(sipGILState, sipImportedVirtErrorHandlers_Qt3DCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQt3DCore_QJoint::sceneChangeEvent(const ::Qt3DCore::QSceneChangePtr& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[7], &sipPySelf, SIP_NULLPTR, sipName_sceneChangeEvent);

    if (!sipMeth)
    {
        ::Qt3DCore::QJoint::sceneChangeEvent(a0);
        return;
    }

    extern void sipVH_Qt3DCore_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::Qt3DCore::QSceneChangePtr&);

    sipVH_Qt3DCore_6(sipGILState, sipImportedVirtErrorHandlers_Qt3DCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_scale, "scale(self) -> QVector3D");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

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

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

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

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_scale, doc_Qt3DCore_QJoint_scale);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_rotation, "rotation(self) -> QQuaternion");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

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

            sipRes = new ::QQuaternion(sipCpp->rotation());

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

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_rotation, doc_Qt3DCore_QJoint_rotation);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_translation, "translation(self) -> QVector3D");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

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

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

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

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_translation, doc_Qt3DCore_QJoint_translation);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_inverseBindMatrix, "inverseBindMatrix(self) -> QMatrix4x4");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

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

            sipRes = new ::QMatrix4x4(sipCpp->inverseBindMatrix());

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

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_inverseBindMatrix, doc_Qt3DCore_QJoint_inverseBindMatrix);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_rotationX, "rotationX(self) -> float");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

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

            sipRes = sipCpp->rotationX();

            return PyFloat_FromDouble((double)sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_rotationX, doc_Qt3DCore_QJoint_rotationX);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_rotationY, "rotationY(self) -> float");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

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

            sipRes = sipCpp->rotationY();

            return PyFloat_FromDouble((double)sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_rotationY, doc_Qt3DCore_QJoint_rotationY);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_rotationZ, "rotationZ(self) -> float");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

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

            sipRes = sipCpp->rotationZ();

            return PyFloat_FromDouble((double)sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_rotationZ, doc_Qt3DCore_QJoint_rotationZ);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_name, "name(self) -> str");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

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

            sipRes = new ::QString(sipCpp->name());

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

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_name, doc_Qt3DCore_QJoint_name);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_addChildJoint, "addChildJoint(self, joint: QJoint|None)");

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

    {
        ::Qt3DCore::QJoint* a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, sipType_Qt3DCore_QJoint, &a0))
        {
            sipCpp->addChildJoint(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_addChildJoint, doc_Qt3DCore_QJoint_addChildJoint);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_removeChildJoint, "removeChildJoint(self, joint: QJoint|None)");

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

    {
        ::Qt3DCore::QJoint* a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, sipType_Qt3DCore_QJoint, &a0))
        {
            sipCpp->removeChildJoint(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_removeChildJoint, doc_Qt3DCore_QJoint_removeChildJoint);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_childJoints, "childJoints(self) -> list[QJoint]");

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

    {
        const ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp))
        {
            QVector< ::Qt3DCore::QJoint*>*sipRes;

            sipRes = new QVector< ::Qt3DCore::QJoint*>(sipCpp->childJoints());

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

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_childJoints, doc_Qt3DCore_QJoint_childJoints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setScale, "setScale(self, scale: QVector3D)");

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

    {
        const ::QVector3D* a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, sipType_QVector3D, &a0))
        {
            sipCpp->setScale(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setScale, doc_Qt3DCore_QJoint_setScale);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setRotation, "setRotation(self, rotation: QQuaternion)");

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

    {
        const ::QQuaternion* a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, sipType_QQuaternion, &a0))
        {
            sipCpp->setRotation(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setRotation, doc_Qt3DCore_QJoint_setRotation);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setTranslation, "setTranslation(self, translation: QVector3D)");

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

    {
        const ::QVector3D* a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, sipType_QVector3D, &a0))
        {
            sipCpp->setTranslation(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setTranslation, doc_Qt3DCore_QJoint_setTranslation);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setInverseBindMatrix, "setInverseBindMatrix(self, inverseBindMatrix: QMatrix4x4)");

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

    {
        const ::QMatrix4x4* a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, sipType_QMatrix4x4, &a0))
        {
            sipCpp->setInverseBindMatrix(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setInverseBindMatrix, doc_Qt3DCore_QJoint_setInverseBindMatrix);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setRotationX, "setRotationX(self, rotationX: float)");

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

    {
        float a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bf", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, &a0))
        {
            sipCpp->setRotationX(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setRotationX, doc_Qt3DCore_QJoint_setRotationX);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setRotationY, "setRotationY(self, rotationY: float)");

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

    {
        float a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bf", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, &a0))
        {
            sipCpp->setRotationY(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setRotationY, doc_Qt3DCore_QJoint_setRotationY);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setRotationZ, "setRotationZ(self, rotationZ: float)");

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

    {
        float a0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bf", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, &a0))
        {
            sipCpp->setRotationZ(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setRotationZ, doc_Qt3DCore_QJoint_setRotationZ);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setName, "setName(self, name: str|None)");

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

    {
        const ::QString* a0;
        int a0State = 0;
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp, sipType_QString, &a0, &a0State))
        {
            sipCpp->setName(*a0);
            sipReleaseType(const_cast< ::QString *>(a0), sipType_QString, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setName, doc_Qt3DCore_QJoint_setName);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_Qt3DCore_QJoint_setToIdentity, "setToIdentity(self)");

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

    {
        ::Qt3DCore::QJoint *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_Qt3DCore_QJoint, &sipCpp))
        {
            sipCpp->setToIdentity();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QJoint, sipName_setToIdentity, doc_Qt3DCore_QJoint_setToIdentity);

    return SIP_NULLPTR;
}


/* Cast a pointer to a type somewhere in its inheritance hierarchy. */
extern "C" {static void *cast_Qt3DCore_QJoint(void *, const sipTypeDef *);}
static void *cast_Qt3DCore_QJoint(void *sipCppV, const sipTypeDef *targetType)
{
    ::Qt3DCore::QJoint *sipCpp = reinterpret_cast< ::Qt3DCore::QJoint *>(sipCppV);

    if (targetType == sipType_Qt3DCore_QJoint)
        return sipCppV;

    sipCppV = ((const sipClassTypeDef *)sipType_Qt3DCore_QNode)->ctd_cast(static_cast< ::Qt3DCore::QNode *>(sipCpp), targetType);
    if (sipCppV)
        return sipCppV;

    return SIP_NULLPTR;
}


/* Call the instance's destructor. */
extern "C" {static void release_Qt3DCore_QJoint(void *, int);}
static void release_Qt3DCore_QJoint(void *sipCppV, int)
{
    ::Qt3DCore::QJoint *sipCpp = reinterpret_cast< ::Qt3DCore::QJoint *>(sipCppV);

    if (QThread::currentThread() == sipCpp->thread())
        delete sipCpp;
    else
        sipCpp->deleteLater();
}


extern "C" {static void *array_Qt3DCore_QJoint(Py_ssize_t);}
static void *array_Qt3DCore_QJoint(Py_ssize_t sipNrElem)
{
    return new ::Qt3DCore::QJoint[sipNrElem];
}


extern "C" {static void array_delete_Qt3DCore_QJoint(void *);}
static void array_delete_Qt3DCore_QJoint(void *sipCpp)
{
    delete[] reinterpret_cast< ::Qt3DCore::QJoint *>(sipCpp);
}


extern "C" {static void dealloc_Qt3DCore_QJoint(sipSimpleWrapper *);}
static void dealloc_Qt3DCore_QJoint(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipQt3DCore_QJoint *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;

    if (sipIsOwnedByPython(sipSelf))
    {
        release_Qt3DCore_QJoint(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
    }
}


extern "C" {static void *init_type_Qt3DCore_QJoint(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_Qt3DCore_QJoint(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **sipOwner, PyObject **sipParseErr)
{
    sipQt3DCore_QJoint *sipCpp = SIP_NULLPTR;

    {
        ::Qt3DCore::QNode* a0 = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "|JH", sipType_Qt3DCore_QNode, &a0, sipOwner))
        {
            sipCpp = new sipQt3DCore_QJoint(a0);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_Qt3DCore_QJoint[] = {{28, 255, 1}};


static PyMethodDef methods_Qt3DCore_QJoint[] = {
    {sipName_addChildJoint, meth_Qt3DCore_QJoint_addChildJoint, METH_VARARGS, doc_Qt3DCore_QJoint_addChildJoint},
    {sipName_childJoints, meth_Qt3DCore_QJoint_childJoints, METH_VARARGS, doc_Qt3DCore_QJoint_childJoints},
    {sipName_inverseBindMatrix, meth_Qt3DCore_QJoint_inverseBindMatrix, METH_VARARGS, doc_Qt3DCore_QJoint_inverseBindMatrix},
    {sipName_name, meth_Qt3DCore_QJoint_name, METH_VARARGS, doc_Qt3DCore_QJoint_name},
    {sipName_removeChildJoint, meth_Qt3DCore_QJoint_removeChildJoint, METH_VARARGS, doc_Qt3DCore_QJoint_removeChildJoint},
    {sipName_rotation, meth_Qt3DCore_QJoint_rotation, METH_VARARGS, doc_Qt3DCore_QJoint_rotation},
    {sipName_rotationX, meth_Qt3DCore_QJoint_rotationX, METH_VARARGS, doc_Qt3DCore_QJoint_rotationX},
    {sipName_rotationY, meth_Qt3DCore_QJoint_rotationY, METH_VARARGS, doc_Qt3DCore_QJoint_rotationY},
    {sipName_rotationZ, meth_Qt3DCore_QJoint_rotationZ, METH_VARARGS, doc_Qt3DCore_QJoint_rotationZ},
    {sipName_scale, meth_Qt3DCore_QJoint_scale, METH_VARARGS, doc_Qt3DCore_QJoint_scale},
    {sipName_setInverseBindMatrix, meth_Qt3DCore_QJoint_setInverseBindMatrix, METH_VARARGS, doc_Qt3DCore_QJoint_setInverseBindMatrix},
    {sipName_setName, meth_Qt3DCore_QJoint_setName, METH_VARARGS, doc_Qt3DCore_QJoint_setName},
    {sipName_setRotation, meth_Qt3DCore_QJoint_setRotation, METH_VARARGS, doc_Qt3DCore_QJoint_setRotation},
    {sipName_setRotationX, meth_Qt3DCore_QJoint_setRotationX, METH_VARARGS, doc_Qt3DCore_QJoint_setRotationX},
    {sipName_setRotationY, meth_Qt3DCore_QJoint_setRotationY, METH_VARARGS, doc_Qt3DCore_QJoint_setRotationY},
    {sipName_setRotationZ, meth_Qt3DCore_QJoint_setRotationZ, METH_VARARGS, doc_Qt3DCore_QJoint_setRotationZ},
    {sipName_setScale, meth_Qt3DCore_QJoint_setScale, METH_VARARGS, doc_Qt3DCore_QJoint_setScale},
    {sipName_setToIdentity, meth_Qt3DCore_QJoint_setToIdentity, METH_VARARGS, doc_Qt3DCore_QJoint_setToIdentity},
    {sipName_setTranslation, meth_Qt3DCore_QJoint_setTranslation, METH_VARARGS, doc_Qt3DCore_QJoint_setTranslation},
    {sipName_translation, meth_Qt3DCore_QJoint_translation, METH_VARARGS, doc_Qt3DCore_QJoint_translation}
};

PyDoc_STRVAR(doc_Qt3DCore_QJoint, "\1QJoint(parent: QNode|None = None)");


/* Define this type's signals. */
static const pyqt5QtSignal signals_Qt3DCore_QJoint[] = {
    {"nameChanged(QString)", "\1nameChanged(self, name: str|None)", SIP_NULLPTR, SIP_NULLPTR},
    {"rotationZChanged(float)", "\1rotationZChanged(self, rotationZ: float)", SIP_NULLPTR, SIP_NULLPTR},
    {"rotationYChanged(float)", "\1rotationYChanged(self, rotationY: float)", SIP_NULLPTR, SIP_NULLPTR},
    {"rotationXChanged(float)", "\1rotationXChanged(self, rotationX: float)", SIP_NULLPTR, SIP_NULLPTR},
    {"inverseBindMatrixChanged(QMatrix4x4)", "\1inverseBindMatrixChanged(self, inverseBindMatrix: QMatrix4x4)", SIP_NULLPTR, SIP_NULLPTR},
    {"translationChanged(QVector3D)", "\1translationChanged(self, translation: QVector3D)", SIP_NULLPTR, SIP_NULLPTR},
    {"rotationChanged(QQuaternion)", "\1rotationChanged(self, rotation: QQuaternion)", SIP_NULLPTR, SIP_NULLPTR},
    {"scaleChanged(QVector3D)", "\1scaleChanged(self, scale: QVector3D)", SIP_NULLPTR, SIP_NULLPTR},
    {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR}
};


static pyqt5ClassPluginDef plugin_Qt3DCore_QJoint = {
    &::Qt3DCore::QJoint::staticMetaObject,
    0,
    signals_Qt3DCore_QJoint,
    SIP_NULLPTR
};


sipClassTypeDef sipTypeDef_Qt3DCore_Qt3DCore_QJoint = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_SUPER_INIT|SIP_TYPE_LIMITED_API|SIP_TYPE_CLASS,
        sipNameNr_Qt3DCore__QJoint,
        SIP_NULLPTR,
        &plugin_Qt3DCore_QJoint,
    },
    {
        sipNameNr_QJoint,
        {0, 0, 1},
        20, methods_Qt3DCore_QJoint,
        0, SIP_NULLPTR,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_Qt3DCore_QJoint,
    -1,
    -1,
    supers_Qt3DCore_QJoint,
    SIP_NULLPTR,
    init_type_Qt3DCore_QJoint,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_Qt3DCore_QJoint,
    SIP_NULLPTR,
    array_Qt3DCore_QJoint,
    SIP_NULLPTR,
    release_Qt3DCore_QJoint,
    cast_Qt3DCore_QJoint,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_Qt3DCore_QJoint,
    sizeof (::Qt3DCore::QJoint),
};
