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.9'

Module {
    dependencies: ["QtQuick 2.8"]
    Component {
        name: "Qt3DCore::QComponent"
        defaultProperty: "data"
        prototype: "Qt3DCore::QComponent"
        Property { name: "propertyTrackingOverrides"; type: "QJSValue" }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "childNodes"; type: "Qt3DCore::QNode"; isList: true; isReadonly: true }
        Signal {
            name: "propertyTrackingOverridesChanged"
            Parameter { name: "value"; type: "QJSValue" }
        }
        Signal {
            name: "propertyTrackingOverridesChanged"
            Parameter { name: "value"; type: "QJSValue" }
        }
    }
    Component { name: "Qt3DCore::QEntity"; prototype: "Qt3DCore::QNode" }
    Component {
        name: "Qt3DCore::QNode"
        prototype: "QObject"
        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" }
        }
    }
    Component {
        name: "Qt3DCore::QTransform"
        prototype: "Qt3DCore::QComponent"
        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" }
        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" }
        }
        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: "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" }
        }
    }
    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::Quick3DEntity"
        defaultProperty: "data"
        prototype: "Qt3DCore::QEntity"
        exports: ["Qt3D.Core/Entity 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "components"; type: "Qt3DCore::QComponent"; isList: true; isReadonly: true }
    }
    Component {
        name: "Qt3DCore::Quick::Quick3DEntityLoader"
        defaultProperty: "data"
        prototype: "Qt3DCore::Quick::Quick3DEntityLoader"
        Property { name: "components"; type: "Qt3DCore::QComponent"; isList: true; isReadonly: true }
    }
    Component {
        name: "Qt3DCore::Quick::Quick3DNode"
        defaultProperty: "data"
        prototype: "Qt3DCore::QNode"
        exports: ["Qt3D.Core/Node 2.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "childNodes"; type: "Qt3DCore::QNode"; isList: true; isReadonly: true }
    }
    Component {
        name: "Qt3DCore::Quick::Quick3DNodeInstantiator"
        defaultProperty: "delegate"
        prototype: "Qt3DCore::Quick::Quick3DNodeInstantiator"
        Property { name: "propertyTrackingOverrides"; type: "QJSValue" }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "childNodes"; type: "Qt3DCore::QNode"; isList: true; isReadonly: true }
        Signal {
            name: "propertyTrackingOverridesChanged"
            Parameter { name: "value"; type: "QJSValue" }
        }
        Signal {
            name: "propertyTrackingOverridesChanged"
            Parameter { name: "value"; type: "QJSValue" }
        }
    }
    Component {
        name: "Qt3DCore::Quick::Quick3DNodeV9"
        defaultProperty: "data"
        prototype: "Qt3DCore::QNode"
        exports: ["Qt3D.Core/Node 2.9"]
        isCreatable: false
        exportMetaObjectRevisions: [9]
        Property { name: "propertyTrackingOverrides"; type: "QJSValue" }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "childNodes"; type: "Qt3DCore::QNode"; isList: true; isReadonly: true }
        Signal {
            name: "propertyTrackingOverridesChanged"
            Parameter { name: "value"; type: "QJSValue" }
        }
        Signal {
            name: "propertyTrackingOverridesChanged"
            Parameter { name: "value"; type: "QJSValue" }
        }
    }
}
