16#ifndef QGSBILLBOARDGEOMETRY_H
17#define QGSBILLBOARDGEOMETRY_H
24#include <Qt3DCore/QAttribute>
25#include <Qt3DCore/QBuffer>
26#include <Qt3DCore/QGeometry>
98 void setBillboardData(
const QVector<QgsBillboardGeometry::BillboardAtlasData> &billboards,
bool includePixelOffsets =
false );
112 TextureData = 1 << 2,
113 PixelOffsets = 1 << 3,
115 Q_DECLARE_FLAGS( Attributes, Attribute )
117 void setAttributes( Attributes attributes );
118 Attributes mAttributes;
120 Qt3DCore::QAttribute *mPositionAttribute =
nullptr;
121 Qt3DCore::QAttribute *mSizeAttribute =
nullptr;
122 Qt3DCore::QAttribute *mAtlasOffsetAttribute =
nullptr;
123 Qt3DCore::QAttribute *mAtlasSizeAttribute =
nullptr;
124 Qt3DCore::QAttribute *mAtlasPixelOffsetAttribute =
nullptr;
125 Qt3DCore::QBuffer *mVertexBuffer =
nullptr;
126 qsizetype mVertexCount = 0;
void countChanged(int count)
Signal when the number of points changed.
void setBillboardData(const QVector< QgsBillboardGeometry::BillboardAtlasData > &billboards, bool includePixelOffsets=false)
Set the position and texture data for the billboard.
void setPositions(const QVector< QVector3D > &vertices)
Sets the vertex positions for the billboards.
QgsBillboardGeometry(Qt3DCore::QNode *parent=nullptr)
Constructor of QgsBillboardGeometry.
void setPositionsAndSizes(const QVector< QVector3D > &positions, const QVector< QSizeF > &sizes)
Sets per-instance positions and sizes for billboards sharing a single texture.
Contains the billboard positions and texture information.
QPoint pixelOffset
Optional pixel offset for billboard.
QVector3D position
Vertex position for billboard placement.
QVector2D textureAtlasOffset
Texture atlas offset for associated billboard texture.
QVector2D textureAtlasSize
Texture atlas size for associated billboard texture.