import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -nonrelocatable Qt3D.Core 2.15'

Module {
    dependencies: ["QtQuick 2.0"]
    Component {
        name: "QQmlEasingValueType"
        exports: ["Qt3D.Core/Easing 2.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Type"
            values: {
                "Linear": 0,
                "InQuad": 1,
                "OutQuad": 2,
                "InOutQuad": 3,
                "OutInQuad": 4,
                "InCubic": 5,
                "OutCubic": 6,
                "InOutCubic": 7,
                "OutInCubic": 8,
                "InQuart": 9,
                "OutQuart": 10,
                "InOutQuart": 11,
                "OutInQuart": 12,
                "InQuint": 13,
                "OutQuint": 14,
                "InOutQuint": 15,
                "OutInQuint": 16,
                "InSine": 17,
                "OutSine": 18,
                "InOutSine": 19,
                "OutInSine": 20,
                "InExpo": 21,
                "OutExpo": 22,
                "InOutExpo": 23,
                "OutInExpo": 24,
                "InCirc": 25,
                "OutCirc": 26,
                "InOutCirc": 27,
                "OutInCirc": 28,
                "InElastic": 29,
                "OutElastic": 30,
                "InOutElastic": 31,
                "OutInElastic": 32,
                "InBack": 33,
                "OutBack": 34,
                "InOutBack": 35,
                "OutInBack": 36,
                "InBounce": 37,
                "OutBounce": 38,
                "InOutBounce": 39,
                "OutInBounce": 40,
                "InCurve": 41,
                "OutCurve": 42,
                "SineCurve": 43,
                "CosineCurve": 44,
                "Bezier": 45
            }
        }
        Property { name: "type"; type: "Type" }
        Property { name: "amplitude"; type: "double" }
        Property { name: "overshoot"; type: "double" }
        Property { name: "period"; type: "double" }
        Property { name: "bezierCurve"; type: "QVariantList" }
    }
    Component {
        name: "Qt3DCore::QAbstractSkeleton"
        prototype: "Qt3DCore::QNode"
        exports: ["Qt3D.Core/AbstractSkeleton 2.10"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "jointCount"; type: "int"; isReadonly: true }
        Signal {
            name: "jointCountChanged"
            Parameter { name: "jointCount"; type: "int" }
        }
    }
    Component {
        name: "Qt3DCore::QArmature"
        prototype: "Qt3DCore::QComponent"
        exports: ["Qt3D.Core/Armature 2.10"]
        exportMetaObjectRevisions: [0]
        Property { name: "skeleton"; type: "Qt3DCore::QAbstractSkeleton"; isPointer: true }
        Signal {
            name: "skeletonChanged"
            Parameter { name: "skeleton"; type: "Qt3DCore::QAbstractSkeleton"; isPointer: true }
        }
        Method {
            name: "setSkeleton"
            Parameter { name: "skeleton"; type: "Qt3DCore::QAbstractSkeleton"; isPointer: true }
        }
    }
    Component {
        name: "Qt3DCore::QComponent"
        prototype: "Qt3DCore::QNode"
        exports: ["Qt3D.Core/Component3D 2.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "isShareable"; type: "bool" }
        Signal {
            name: "shareableChanged"
            Parameter { name: "isShareable"; type: "bool" }
        }
        Signal {
            name: "addedToEntity"
            Parameter { name: "entity"; type: "QEntity"; isPointer: true }
        }
        Signal {
            name: "removedFromEntity"
            Parameter { name: "entity"; type: "QEntity"; isPointer: true }
        }
        Method {
            name: "setShareable"
            Parameter { name: "isShareable"; type: "bool" }
        }
    }
    Component {
        name: "Qt3DCore::QEntity"
        defaultProperty: "data"
        prototype: "Qt3DCore::QNode"
        exports: ["Qt3D.Core/Entity 2.0"]
        exportMetaObjectRevisions: [200]
        Property {
            name: "components"
            revision: 200
            type: "Qt3DCore::QComponent"
            isList: true
            isReadonly: true
        }
    }
    Component {
        name: "Qt3DCore::QJoint"
        defaultProperty: "data"
        prototype: "Qt3DCore::QNode"
        exports: ["Qt3D.Core/Joint 2.10"]
        exportMetaObjectRevisions: [210]
        Property { name: "scale"; type: "QVector3D" }
        Property { name: "rotation"; type: "QQuaternion" }
        Property { name: "translation"; type: "QVector3D" }
        Property { name: "inverseBindMatrix"; type: "QMatrix4x4" }
        Property { name: "rotationX"; type: "float" }
        Property { name: "rotationY"; type: "float" }
        Property { name: "rotationZ"; type: "float" }
        Property { name: "name"; type: "string" }
        Signal {
            name: "scaleChanged"
            Parameter { name: "scale"; type: "QVector3D" }
        }
        Signal {
            name: "rotationChanged"
            Parameter { name: "rotation"; type: "QQuaternion" }
        }
        Signal {
            name: "translationChanged"
            Parameter { name: "translation"; type: "QVector3D" }
        }
        Signal {
            name: "inverseBindMatrixChanged"
            Parameter { name: "inverseBindMatrix"; type: "QMatrix4x4" }
        }
        Signal {
            name: "rotationXChanged"
            Parameter { name: "rotationX"; type: "float" }
        }
        Signal {
            name: "rotationYChanged"
            Parameter { name: "rotationY"; type: "float" }
        }
        Signal {
            name: "rotationZChanged"
            Parameter { name: "rotationZ"; type: "float" }
        }
        Signal {
            name: "nameChanged"
            Parameter { name: "name"; type: "string" }
        }
        Method {
            name: "setScale"
            Parameter { name: "scale"; type: "QVector3D" }
        }
        Method {
            name: "setRotation"
            Parameter { name: "rotation"; type: "QQuaternion" }
        }
        Method {
            name: "setTranslation"
            Parameter { name: "translation"; type: "QVector3D" }
        }
        Method {
            name: "setInverseBindMatrix"
            Parameter { name: "inverseBindMatrix"; type: "QMatrix4x4" }
        }
        Method {
            name: "setRotationX"
            Parameter { name: "rotationX"; type: "float" }
        }
        Method {
            name: "setRotationY"
            Parameter { name: "rotationY"; type: "float" }
        }
        Method {
            name: "setRotationZ"
            Parameter { name: "rotationZ"; type: "float" }
        }
        Method {
            name: "setName"
            Parameter { name: "name"; type: "string" }
        }
        Method { name: "setToIdentity" }
        Property {
            name: "childJoints"
            revision: 210
            type: "Qt3DCore::QJoint"
            isList: true
            isReadonly: true
        }
    }
    Component {
        name: "Qt3DCore::QNode"
        defaultProperty: "data"
        prototype: "QObject"
        exports: ["Qt3D.Core/Node 2.0", "Qt3D.Core/Node 2.9"]
        isCreatable: false
        exportMetaObjectRevisions: [200, 209]
        Enum {
            name: "PropertyTrackingMode"
            values: {
                "TrackFinalValues": 0,
                "DontTrackValues": 1,
                "TrackAllValues": 2
            }
        }
        Property { name: "parent"; type: "Qt3DCore::QNode"; isPointer: true }
        Property { name: "enabled"; type: "bool" }
        Property { name: "defaultPropertyTrackingMode"; revision: 9; type: "PropertyTrackingMode" }
        Signal {
            name: "parentChanged"
            Parameter { name: "parent"; type: "QObject"; isPointer: true }
        }
        Signal {
            name: "enabledChanged"
            Parameter { name: "enabled"; type: "bool" }
        }
        Signal {
            name: "defaultPropertyTrackingModeChanged"
            Parameter { name: "mode"; type: "PropertyTrackingMode" }
        }
        Signal { name: "nodeDestroyed" }
        Method {
            name: "setParent"
            Parameter { name: "parent"; type: "QNode"; isPointer: true }
        }
        Method {
            name: "setEnabled"
            Parameter { name: "isEnabled"; type: "bool" }
        }
        Method {
            name: "setDefaultPropertyTrackingMode"
            Parameter { name: "mode"; type: "PropertyTrackingMode" }
        }
        Property { name: "data"; revision: 200; type: "QObject"; isList: true; isReadonly: true }
        Property {
            name: "childNodes"
            revision: 200
            type: "Qt3DCore::QNode"
            isList: true
            isReadonly: true
        }
        Property { name: "propertyTrackingOverrides"; revision: 209; type: "QJSValue" }
        Property { name: "data"; revision: 209; type: "QObject"; isList: true; isReadonly: true }
        Property {
            name: "childNodes"
            revision: 209
            type: "Qt3DCore::QNode"
            isList: true
            isReadonly: true
        }
    }
    Component {
        name: "Qt3DCore::QSkeletonLoader"
        prototype: "Qt3DCore::QAbstractSkeleton"
        exports: ["Qt3D.Core/SkeletonLoader 2.10"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Status"
            values: {
                "NotReady": 0,
                "Ready": 1,
                "Error": 2
            }
        }
        Property { name: "source"; type: "QUrl" }
        Property { name: "status"; type: "Status"; isReadonly: true }
        Property { name: "createJointsEnabled"; type: "bool" }
        Property { name: "rootJoint"; type: "Qt3DCore::QJoint"; isReadonly: true; isPointer: true }
        Signal {
            name: "sourceChanged"
            Parameter { name: "source"; type: "QUrl" }
        }
        Signal {
            name: "statusChanged"
            Parameter { name: "status"; type: "Status" }
        }
        Signal {
            name: "createJointsEnabledChanged"
            Parameter { name: "createJointsEnabled"; type: "bool" }
        }
        Signal {
            name: "rootJointChanged"
            Parameter { name: "rootJoint"; type: "Qt3DCore::QJoint"; isPointer: true }
        }
        Method {
            name: "setSource"
            Parameter { name: "source"; type: "QUrl" }
        }
        Method {
            name: "setCreateJointsEnabled"
            Parameter { name: "enabled"; type: "bool" }
        }
    }
    Component {
        name: "Qt3DCore::QTransform"
        prototype: "Qt3DCore::QComponent"
        exports: ["Qt3D.Core/Transform 2.0", "Qt3D.Core/Transform 2.14"]
        exportMetaObjectRevisions: [0, 14]
        Property { name: "matrix"; type: "QMatrix4x4" }
        Property { name: "scale"; type: "float" }
        Property { name: "scale3D"; type: "QVector3D" }
        Property { name: "rotation"; type: "QQuaternion" }
        Property { name: "translation"; type: "QVector3D" }
        Property { name: "rotationX"; type: "float" }
        Property { name: "rotationY"; type: "float" }
        Property { name: "rotationZ"; type: "float" }
        Property { name: "worldMatrix"; revision: 14; type: "QMatrix4x4"; isReadonly: true }
        Signal {
            name: "scaleChanged"
            Parameter { name: "scale"; type: "float" }
        }
        Signal {
            name: "scale3DChanged"
            Parameter { name: "scale"; type: "QVector3D" }
        }
        Signal {
            name: "rotationChanged"
            Parameter { name: "rotation"; type: "QQuaternion" }
        }
        Signal {
            name: "translationChanged"
            Parameter { name: "translation"; type: "QVector3D" }
        }
        Signal {
            name: "rotationXChanged"
            Parameter { name: "rotationX"; type: "float" }
        }
        Signal {
            name: "rotationYChanged"
            Parameter { name: "rotationY"; type: "float" }
        }
        Signal {
            name: "rotationZChanged"
            Parameter { name: "rotationZ"; type: "float" }
        }
        Signal {
            name: "worldMatrixChanged"
            Parameter { name: "worldMatrix"; type: "QMatrix4x4" }
        }
        Method {
            name: "setScale"
            Parameter { name: "scale"; type: "float" }
        }
        Method {
            name: "setScale3D"
            Parameter { name: "scale"; type: "QVector3D" }
        }
        Method {
            name: "setRotation"
            Parameter { name: "rotation"; type: "QQuaternion" }
        }
        Method {
            name: "setTranslation"
            Parameter { name: "translation"; type: "QVector3D" }
        }
        Method {
            name: "setMatrix"
            Parameter { name: "matrix"; type: "QMatrix4x4" }
        }
        Method {
            name: "setRotationX"
            Parameter { name: "rotationX"; type: "float" }
        }
        Method {
            name: "setRotationY"
            Parameter { name: "rotationY"; type: "float" }
        }
        Method {
            name: "setRotationZ"
            Parameter { name: "rotationZ"; type: "float" }
        }
        Method {
            name: "fromAxisAndAngle"
            type: "QQuaternion"
            Parameter { name: "axis"; type: "QVector3D" }
            Parameter { name: "angle"; type: "float" }
        }
        Method {
            name: "fromAxisAndAngle"
            type: "QQuaternion"
            Parameter { name: "x"; type: "float" }
            Parameter { name: "y"; type: "float" }
            Parameter { name: "z"; type: "float" }
            Parameter { name: "angle"; type: "float" }
        }
        Method {
            name: "fromAxesAndAngles"
            type: "QQuaternion"
            Parameter { name: "axis1"; type: "QVector3D" }
            Parameter { name: "angle1"; type: "float" }
            Parameter { name: "axis2"; type: "QVector3D" }
            Parameter { name: "angle2"; type: "float" }
        }
        Method {
            name: "fromAxesAndAngles"
            type: "QQuaternion"
            Parameter { name: "axis1"; type: "QVector3D" }
            Parameter { name: "angle1"; type: "float" }
            Parameter { name: "axis2"; type: "QVector3D" }
            Parameter { name: "angle2"; type: "float" }
            Parameter { name: "axis3"; type: "QVector3D" }
            Parameter { name: "angle3"; type: "float" }
        }
        Method {
            name: "fromAxes"
            type: "QQuaternion"
            Parameter { name: "xAxis"; type: "QVector3D" }
            Parameter { name: "yAxis"; type: "QVector3D" }
            Parameter { name: "zAxis"; type: "QVector3D" }
        }
        Method {
            name: "fromEulerAngles"
            type: "QQuaternion"
            Parameter { name: "eulerAngles"; type: "QVector3D" }
        }
        Method {
            name: "fromEulerAngles"
            type: "QQuaternion"
            Parameter { name: "pitch"; type: "float" }
            Parameter { name: "yaw"; type: "float" }
            Parameter { name: "roll"; type: "float" }
        }
        Method {
            name: "rotateAround"
            type: "QMatrix4x4"
            Parameter { name: "point"; type: "QVector3D" }
            Parameter { name: "angle"; type: "float" }
            Parameter { name: "axis"; type: "QVector3D" }
        }
        Method {
            name: "rotateFromAxes"
            type: "QMatrix4x4"
            Parameter { name: "xAxis"; type: "QVector3D" }
            Parameter { name: "yAxis"; type: "QVector3D" }
            Parameter { name: "zAxis"; type: "QVector3D" }
        }
    }
    Component {
        name: "Qt3DCore::Quick::QQuaternionAnimation"
        prototype: "QQuickPropertyAnimation"
        exports: ["Qt3D.Core/QuaternionAnimation 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Type"
            values: {
                "Slerp": 0,
                "Nlerp": 1
            }
        }
        Property { name: "from"; type: "QQuaternion" }
        Property { name: "to"; type: "QQuaternion" }
        Property { name: "type"; type: "Type" }
        Property { name: "fromXRotation"; type: "float" }
        Property { name: "fromYRotation"; type: "float" }
        Property { name: "fromZRotation"; type: "float" }
        Property { name: "toXRotation"; type: "float" }
        Property { name: "toYRotation"; type: "float" }
        Property { name: "toZRotation"; type: "float" }
        Signal {
            name: "typeChanged"
            Parameter { name: "type"; type: "Type" }
        }
        Signal {
            name: "fromXRotationChanged"
            Parameter { name: "value"; type: "float" }
        }
        Signal {
            name: "fromYRotationChanged"
            Parameter { name: "value"; type: "float" }
        }
        Signal {
            name: "fromZRotationChanged"
            Parameter { name: "value"; type: "float" }
        }
        Signal {
            name: "toXRotationChanged"
            Parameter { name: "value"; type: "float" }
        }
        Signal {
            name: "toYRotationChanged"
            Parameter { name: "value"; type: "float" }
        }
        Signal {
            name: "toZRotationChanged"
            Parameter { name: "value"; type: "float" }
        }
    }
    Component {
        name: "Qt3DCore::Quick::Quick3DEntityLoader"
        prototype: "Qt3DCore::QEntity"
        exports: ["Qt3D.Core/EntityLoader 2.0", "Qt3D.Core/EntityLoader 2.12"]
        exportMetaObjectRevisions: [0, 12]
        Enum {
            name: "Status"
            values: {
                "Null": 0,
                "Loading": 1,
                "Ready": 2,
                "Error": 3
            }
        }
        Property { name: "entity"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "source"; type: "QUrl" }
        Property { name: "status"; type: "Status"; isReadonly: true }
        Property { name: "sourceComponent"; revision: 12; type: "QQmlComponent"; isPointer: true }
        Signal {
            name: "statusChanged"
            Parameter { name: "status"; type: "Status" }
        }
    }
    Component {
        name: "Qt3DCore::Quick::Quick3DNodeInstantiator"
        defaultProperty: "delegate"
        prototype: "Qt3DCore::QNode"
        exports: ["Qt3D.Core/NodeInstantiator 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "active"; type: "bool" }
        Property { name: "asynchronous"; type: "bool" }
        Property { name: "model"; type: "QVariant" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
        Property { name: "object"; type: "QObject"; isReadonly: true; isPointer: true }
        Signal {
            name: "objectAdded"
            Parameter { name: "index"; type: "int" }
            Parameter { name: "object"; type: "QObject"; isPointer: true }
        }
        Signal {
            name: "objectRemoved"
            Parameter { name: "index"; type: "int" }
            Parameter { name: "object"; type: "QObject"; isPointer: true }
        }
        Method {
            name: "objectAt"
            type: "QObject*"
            Parameter { name: "index"; type: "int" }
        }
    }
}
