/****************************************************************************
** Meta object code from reading C++ file 'qquick3dpickresult_p.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/

#include "../../../../../qtquick3d/src/quick3d/qquick3dpickresult_p.h"
#include <QtGui/qtextcursor.h>
#include <QtNetwork/QSslError>
#include <QtCore/qmetatype.h>

#include <QtCore/qtmochelpers.h>

#include <memory>


#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'qquick3dpickresult_p.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif

#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif

QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN18QQuick3DPickResultE_t {};
} // unnamed namespace

template <> constexpr inline auto QQuick3DPickResult::qt_create_metaobjectdata<qt_meta_tag_ZN18QQuick3DPickResultE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "QQuick3DPickResult",
        "QML.Element",
        "pickResult",
        "objectHit",
        "QQuick3DModel*",
        "distance",
        "uvPosition",
        "QVector2D",
        "scenePosition",
        "QVector3D",
        "position",
        "normal",
        "sceneNormal",
        "instanceIndex",
        "itemHit",
        "QQuickItem*",
        "hitType",
        "QQuick3DPickResultEnums::HitType"
    };

    QtMocHelpers::UintData qt_methods {
    };
    QtMocHelpers::UintData qt_properties {
        // property 'objectHit'
        QtMocHelpers::PropertyData<QQuick3DModel*>(3, 0x80000000 | 4, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'distance'
        QtMocHelpers::PropertyData<float>(5, QMetaType::Float, QMC::DefaultPropertyFlags | QMC::Constant),
        // property 'uvPosition'
        QtMocHelpers::PropertyData<QVector2D>(6, 0x80000000 | 7, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'scenePosition'
        QtMocHelpers::PropertyData<QVector3D>(8, 0x80000000 | 9, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'position'
        QtMocHelpers::PropertyData<QVector3D>(10, 0x80000000 | 9, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'normal'
        QtMocHelpers::PropertyData<QVector3D>(11, 0x80000000 | 9, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'sceneNormal'
        QtMocHelpers::PropertyData<QVector3D>(12, 0x80000000 | 9, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'instanceIndex'
        QtMocHelpers::PropertyData<int>(13, QMetaType::Int, QMC::DefaultPropertyFlags | QMC::Constant),
        // property 'itemHit'
        QtMocHelpers::PropertyData<QQuickItem*>(14, 0x80000000 | 15, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant, -1, 0x608),
        // property 'hitType'
        QtMocHelpers::PropertyData<QQuick3DPickResultEnums::HitType>(16, 0x80000000 | 17, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant, -1, 0x608),
    };
    QtMocHelpers::UintData qt_enums {
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
    });
    return QtMocHelpers::metaObjectData<QQuick3DPickResult, void>(QMC::PropertyAccessInStaticMetaCall, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}
Q_CONSTINIT static const QMetaObject::SuperData qt_meta_extradata_ZN18QQuick3DPickResultE[] = {
    QMetaObject::SuperData::link<QQuick3DPickResultEnums::staticMetaObject>(),
    nullptr
};

Q_CONSTINIT const QMetaObject QQuick3DPickResult::staticMetaObject = { {
    nullptr,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN18QQuick3DPickResultE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN18QQuick3DPickResultE_t>.data,
    qt_static_metacall,
    qt_meta_extradata_ZN18QQuick3DPickResultE,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN18QQuick3DPickResultE_t>.metaTypes,
    nullptr
} };

void QQuick3DPickResult::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = reinterpret_cast<QQuick3DPickResult *>(_o);
    if (_c == QMetaObject::RegisterPropertyMetaType) {
        switch (_id) {
        default: *reinterpret_cast<int*>(_a[0]) = -1; break;
        case 0:
            *reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QQuick3DModel* >(); break;
        case 8:
            *reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QQuickItem* >(); break;
        }
    }
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<QQuick3DModel**>(_v) = _t->objectHit(); break;
        case 1: *reinterpret_cast<float*>(_v) = _t->distance(); break;
        case 2: *reinterpret_cast<QVector2D*>(_v) = _t->uvPosition(); break;
        case 3: *reinterpret_cast<QVector3D*>(_v) = _t->scenePosition(); break;
        case 4: *reinterpret_cast<QVector3D*>(_v) = _t->position(); break;
        case 5: *reinterpret_cast<QVector3D*>(_v) = _t->normal(); break;
        case 6: *reinterpret_cast<QVector3D*>(_v) = _t->sceneNormal(); break;
        case 7: *reinterpret_cast<int*>(_v) = _t->instanceIndex(); break;
        case 8: *reinterpret_cast<QQuickItem**>(_v) = _t->itemHit(); break;
        case 9: *reinterpret_cast<QQuick3DPickResultEnums::HitType*>(_v) = _t->hitType(); break;
        default: break;
        }
    }
}
namespace {
struct qt_meta_tag_ZN23QQuick3DPickResultEnumsE_t {};
} // unnamed namespace

template <> constexpr inline auto QQuick3DPickResultEnums::qt_create_metaobjectdata<qt_meta_tag_ZN23QQuick3DPickResultEnumsE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "QQuick3DPickResultEnums",
        "QML.Element",
        "PickResult",
        "QML.AddedInVersion",
        "1544",
        "HitType",
        "Null",
        "Model",
        "Item"
    };

    QtMocHelpers::UintData qt_methods {
    };
    QtMocHelpers::UintData qt_properties {
    };
    QtMocHelpers::UintData qt_enums {
        // enum 'HitType'
        QtMocHelpers::EnumData<HitType>(5, 5, QMC::EnumFlags{}).add({
            {    6, HitType::Null },
            {    7, HitType::Model },
            {    8, HitType::Item },
        }),
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
            {    3,    4 },
    });
    return QtMocHelpers::metaObjectData<void, qt_meta_tag_ZN23QQuick3DPickResultEnumsE_t>(QMC::PropertyAccessInStaticMetaCall, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}

static constexpr auto qt_staticMetaObjectContent_ZN23QQuick3DPickResultEnumsE =
    QQuick3DPickResultEnums::qt_create_metaobjectdata<qt_meta_tag_ZN23QQuick3DPickResultEnumsE_t>();
static constexpr auto qt_staticMetaObjectStaticContent_ZN23QQuick3DPickResultEnumsE =
    qt_staticMetaObjectContent_ZN23QQuick3DPickResultEnumsE.staticData;
static constexpr auto qt_staticMetaObjectRelocatingContent_ZN23QQuick3DPickResultEnumsE =
    qt_staticMetaObjectContent_ZN23QQuick3DPickResultEnumsE.relocatingData;

Q_CONSTINIT const QMetaObject QQuick3DPickResultEnums::staticMetaObject = { {
    nullptr,
    qt_staticMetaObjectStaticContent_ZN23QQuick3DPickResultEnumsE.stringdata,
    qt_staticMetaObjectStaticContent_ZN23QQuick3DPickResultEnumsE.data,
    nullptr,
    nullptr,
    qt_staticMetaObjectRelocatingContent_ZN23QQuick3DPickResultEnumsE.metaTypes,
    nullptr
} };

QT_WARNING_POP
