/****************************************************************************
** Meta object code from reading C++ file 'qquick3dxrspatialanchor_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/xr/quick3dxr/qquick3dxrspatialanchor_p.h"
#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 'qquick3dxrspatialanchor_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_ZN23QQuick3DXrSpatialAnchorE_t {};
} // unnamed namespace

template <> constexpr inline auto QQuick3DXrSpatialAnchor::qt_create_metaobjectdata<qt_meta_tag_ZN23QQuick3DXrSpatialAnchorE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "QQuick3DXrSpatialAnchor",
        "QML.Element",
        "XrSpatialAnchor",
        "QML.Creatable",
        "false",
        "QML.UncreatableReason",
        "Spatial anchor objects cannot be created in QML",
        "QML.AddedInVersion",
        "1544",
        "offset3DChanged",
        "",
        "extent3DChanged",
        "positionChanged",
        "rotationChanged",
        "classificationChanged",
        "classificationStringChanged",
        "has2DBoundsChanged",
        "has3DBoundsChanged",
        "offset2DChanged",
        "extent2DChanged",
        "has2DBounds",
        "has3DBounds",
        "offset2D",
        "QVector2D",
        "extent2D",
        "offset3D",
        "QVector3D",
        "extent3D",
        "position",
        "rotation",
        "QQuaternion",
        "classification",
        "Classification",
        "classificationString",
        "identifier",
        "Unknown",
        "Wall",
        "Ceiling",
        "Floor",
        "Table",
        "Seat",
        "Window",
        "Door",
        "Other"
    };

    QtMocHelpers::UintData qt_methods {
        // Signal 'offset3DChanged'
        QtMocHelpers::SignalData<void()>(9, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'extent3DChanged'
        QtMocHelpers::SignalData<void()>(11, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'positionChanged'
        QtMocHelpers::SignalData<void()>(12, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'rotationChanged'
        QtMocHelpers::SignalData<void()>(13, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'classificationChanged'
        QtMocHelpers::SignalData<void()>(14, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'classificationStringChanged'
        QtMocHelpers::SignalData<void()>(15, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'has2DBoundsChanged'
        QtMocHelpers::SignalData<void()>(16, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'has3DBoundsChanged'
        QtMocHelpers::SignalData<void()>(17, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'offset2DChanged'
        QtMocHelpers::SignalData<void()>(18, 10, QMC::AccessPublic, QMetaType::Void),
        // Signal 'extent2DChanged'
        QtMocHelpers::SignalData<void()>(19, 10, QMC::AccessPublic, QMetaType::Void),
    };
    QtMocHelpers::UintData qt_properties {
        // property 'has2DBounds'
        QtMocHelpers::PropertyData<bool>(20, QMetaType::Bool, QMC::DefaultPropertyFlags | QMC::Final, 6),
        // property 'has3DBounds'
        QtMocHelpers::PropertyData<bool>(21, QMetaType::Bool, QMC::DefaultPropertyFlags | QMC::Final, 7),
        // property 'offset2D'
        QtMocHelpers::PropertyData<QVector2D>(22, 0x80000000 | 23, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Final, 8),
        // property 'extent2D'
        QtMocHelpers::PropertyData<QVector2D>(24, 0x80000000 | 23, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Final, 9),
        // property 'offset3D'
        QtMocHelpers::PropertyData<QVector3D>(25, 0x80000000 | 26, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Final, 0),
        // property 'extent3D'
        QtMocHelpers::PropertyData<QVector3D>(27, 0x80000000 | 26, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Final, 1),
        // property 'position'
        QtMocHelpers::PropertyData<QVector3D>(28, 0x80000000 | 26, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Final, 2),
        // property 'rotation'
        QtMocHelpers::PropertyData<QQuaternion>(29, 0x80000000 | 30, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Final, 3),
        // property 'classification'
        QtMocHelpers::PropertyData<enum Classification>(31, 0x80000000 | 32, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Final, 4),
        // property 'classificationString'
        QtMocHelpers::PropertyData<QString>(33, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Final, 5),
        // property 'identifier'
        QtMocHelpers::PropertyData<QString>(34, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Constant),
    };
    QtMocHelpers::UintData qt_enums {
        // enum 'Classification'
        QtMocHelpers::EnumData<enum Classification>(32, 32, QMC::EnumIsScoped).add({
            {   35, Classification::Unknown },
            {   36, Classification::Wall },
            {   37, Classification::Ceiling },
            {   38, Classification::Floor },
            {   39, Classification::Table },
            {   40, Classification::Seat },
            {   41, Classification::Window },
            {   42, Classification::Door },
            {   43, Classification::Other },
        }),
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
            {    3,    4 },
            {    5,    6 },
            {    7,    8 },
    });
    return QtMocHelpers::metaObjectData<QQuick3DXrSpatialAnchor, void>(QMC::MetaObjectFlag{}, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}
Q_CONSTINIT const QMetaObject QQuick3DXrSpatialAnchor::staticMetaObject = { {
    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN23QQuick3DXrSpatialAnchorE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN23QQuick3DXrSpatialAnchorE_t>.data,
    qt_static_metacall,
    nullptr,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN23QQuick3DXrSpatialAnchorE_t>.metaTypes,
    nullptr
} };

void QQuick3DXrSpatialAnchor::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = static_cast<QQuick3DXrSpatialAnchor *>(_o);
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: _t->offset3DChanged(); break;
        case 1: _t->extent3DChanged(); break;
        case 2: _t->positionChanged(); break;
        case 3: _t->rotationChanged(); break;
        case 4: _t->classificationChanged(); break;
        case 5: _t->classificationStringChanged(); break;
        case 6: _t->has2DBoundsChanged(); break;
        case 7: _t->has3DBoundsChanged(); break;
        case 8: _t->offset2DChanged(); break;
        case 9: _t->extent2DChanged(); break;
        default: ;
        }
    }
    if (_c == QMetaObject::IndexOfMethod) {
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::offset3DChanged, 0))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::extent3DChanged, 1))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::positionChanged, 2))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::rotationChanged, 3))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::classificationChanged, 4))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::classificationStringChanged, 5))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::has2DBoundsChanged, 6))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::has3DBoundsChanged, 7))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::offset2DChanged, 8))
            return;
        if (QtMocHelpers::indexOfMethod<void (QQuick3DXrSpatialAnchor::*)()>(_a, &QQuick3DXrSpatialAnchor::extent2DChanged, 9))
            return;
    }
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<bool*>(_v) = _t->has2DBounds(); break;
        case 1: *reinterpret_cast<bool*>(_v) = _t->has3DBounds(); break;
        case 2: *reinterpret_cast<QVector2D*>(_v) = _t->offset2D(); break;
        case 3: *reinterpret_cast<QVector2D*>(_v) = _t->extent2D(); break;
        case 4: *reinterpret_cast<QVector3D*>(_v) = _t->offset3D(); break;
        case 5: *reinterpret_cast<QVector3D*>(_v) = _t->extent3D(); break;
        case 6: *reinterpret_cast<QVector3D*>(_v) = _t->position(); break;
        case 7: *reinterpret_cast<QQuaternion*>(_v) = _t->rotation(); break;
        case 8: *reinterpret_cast<enum Classification*>(_v) = _t->classification(); break;
        case 9: *reinterpret_cast<QString*>(_v) = _t->classificationString(); break;
        case 10: *reinterpret_cast<QString*>(_v) = _t->identifier(); break;
        default: break;
        }
    }
}

const QMetaObject *QQuick3DXrSpatialAnchor::metaObject() const
{
    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}

void *QQuick3DXrSpatialAnchor::qt_metacast(const char *_clname)
{
    if (!_clname) return nullptr;
    if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN23QQuick3DXrSpatialAnchorE_t>.strings))
        return static_cast<void*>(this);
    return QObject::qt_metacast(_clname);
}

int QQuick3DXrSpatialAnchor::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 10)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 10;
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 10)
            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
        _id -= 10;
    }
    if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty
            || _c == QMetaObject::ResetProperty || _c == QMetaObject::BindableProperty
            || _c == QMetaObject::RegisterPropertyMetaType) {
        qt_static_metacall(this, _c, _id, _a);
        _id -= 11;
    }
    return _id;
}

// SIGNAL 0
void QQuick3DXrSpatialAnchor::offset3DChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}

// SIGNAL 1
void QQuick3DXrSpatialAnchor::extent3DChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}

// SIGNAL 2
void QQuick3DXrSpatialAnchor::positionChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
}

// SIGNAL 3
void QQuick3DXrSpatialAnchor::rotationChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
}

// SIGNAL 4
void QQuick3DXrSpatialAnchor::classificationChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 4, nullptr);
}

// SIGNAL 5
void QQuick3DXrSpatialAnchor::classificationStringChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
}

// SIGNAL 6
void QQuick3DXrSpatialAnchor::has2DBoundsChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 6, nullptr);
}

// SIGNAL 7
void QQuick3DXrSpatialAnchor::has3DBoundsChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 7, nullptr);
}

// SIGNAL 8
void QQuick3DXrSpatialAnchor::offset2DChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 8, nullptr);
}

// SIGNAL 9
void QQuick3DXrSpatialAnchor::extent2DChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 9, nullptr);
}
QT_WARNING_POP
