Custom Items Example
The custom items example shows how to add your own custom meshes as items to a graph, and how to remove them.
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
Files: