// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \example demos/robotarm
    \ingroup qtquickdemos
    \title Robot Arm
    \brief Demonstrates how to add a C++ backend to a 3D project from Qt Design Studio.
    \examplecategory {Application Examples}
    \meta {tag} {demo,quick}
    \meta {docdependencies} {QtQuick3D}
    \image {robotarm-example.png} {A robot arm with GUI controls}

    The Robot Arm example demonstrates adding a C++ backend to a 3D project
    created in Qt Design Studio. The example consists of an interactive
    industrial robot arm in a Qt Quick 3D scene. Qt Quick Controls implements
    the 2D UI to control the robot arm.

    \include examples-run.qdocinc

    For Qt Design Studio, the Robot Arm example comes with a QML module in
    \c {backend_moc/Backend/Backend_moc.qml} that serves as a backend for the
    project. The C++ application implements a compatible backend QML module.
    Both QML modules implement the same API, which ensures compatibility between
    the two modules.

    \c {content/RoboticArm.ui.qml} defines the Qt Quick 3D scene.
    \c {content/MainScreen.ui.qml} implements the 2D UI and supports a light and
    dark theme. The example uses the Material style from Qt Quick Controls and
    the dark and light theme to implement both modes.

    \include examples/qtquick3d.qdocinc

    \section1 Source files

    \sa {All Qt Examples}, {Qt Quick Examples and Tutorials}
*/
