29class Q_LABSWAVEFRONTMESH_EXPORT
QWavefrontMesh :
public QQuickShaderEffectMesh
32 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged FINAL)
33 Q_PROPERTY(Error lastError READ lastError NOTIFY lastErrorChanged FINAL)
34 Q_PROPERTY(QVector3D projectionPlaneV READ projectionPlaneV WRITE setProjectionPlaneV NOTIFY projectionPlaneVChanged FINAL)
35 Q_PROPERTY(QVector3D projectionPlaneW READ projectionPlaneW WRITE setProjectionPlaneW NOTIFY projectionPlaneWChanged FINAL)
36 QML_NAMED_ELEMENT(WavefrontMesh)
37 QML_ADDED_IN_VERSION(1, 0)
43 UnsupportedFaceShapeError,
44 UnsupportedIndexSizeError,
47 MissingPositionAttributeError,
48 MissingTextureCoordinateAttributeError,
49 MissingPositionAndTextureCoordinateAttributesError,
50 TooManyAttributesError,
51 InvalidPlaneDefinitionError
55 QWavefrontMesh(QObject *parent =
nullptr);
56 ~QWavefrontMesh() override;
59 void setSource(
const QUrl &url);
61 Error lastError()
const;
62 void setLastError(Error lastError);
64 bool validateAttributes(
const QList<QByteArray> &attributes,
int *posIndex) override;
65 QSGGeometry *updateGeometry(QSGGeometry *geometry,
int attrCount,
int posIndex,
66 const QRectF &srcRect,
const QRectF &rect) override;
67 QString log()
const override;
69 QVector3D projectionPlaneV()
const;
70 void setProjectionPlaneV(
const QVector3D &projectionPlaneV);
72 QVector3D projectionPlaneW()
const;
73 void setProjectionPlaneW(
const QVector3D &projectionPlaneW);
77 void lastErrorChanged();
78 void projectionPlaneVChanged();
79 void projectionPlaneWChanged();
85 Q_DISABLE_COPY(QWavefrontMesh)
86 Q_DECLARE_PRIVATE(QWavefrontMesh)