Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business

Custom Items Example

Adding custom items to a surface graph.

The custom items example shows how to add your own custom meshes as items to a graph, and how to remove them.

Running the Example

To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.

Adding Custom Meshes to the Application

We'll add the meshes in a resource file:

<RCC>
...
<qresource prefix="/items">
    <file>refinery.obj</file>
    <file>oilrig.obj</file>
</qresource>
</RCC>

Adding Custom Item to a Graph

In this example we do not have specific textures for our meshes, so we'll just create a small QImage and fill it with a single color:

QImage color = QImage(2, 2, QImage::Format_RGB32);
color.fill(Qt::red);

Then we'll specify the position for the item in a variable. This way we'll be able to use it later for removing the correct item:

QVector3D positionOne = QVector3D(39.0f, 77.0f, 19.2f);

Then we'll create a new QCustom3DItem with all the parameters:

QCustom3DItem *item = new QCustom3DItem(":/items/oilrig.obj", positionOne,
                                        QVector3D(0.025f, 0.025f, 0.025f),
                                        QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, 45.0f),
                                        color);

And finally we'll just add the item:

m_graph->addCustomItem(item);

Removing Custom Item from a Graph

We'll just call removeCustomItemAt() with the position of the item:

m_graph->removeCustomItemAt(positionOne);

Note: Removing a custom item from the graph also deletes it. If you want to preserve the item, you need to use releaseCustomItem() method instead.

Example Contents

Example project @ code.qt.io

Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded