31 Q_PROPERTY(
float weight READ weight WRITE setWeight NOTIFY weightChanged)
32 Q_PROPERTY(MorphTargetAttributes attributes READ attributes WRITE setAttributes NOTIFY attributesChanged)
33 QML_NAMED_ELEMENT(MorphTarget)
34 QML_ADDED_IN_VERSION(6, 0)
37 enum class MorphTargetAttribute {
46 Q_ENUM(MorphTargetAttribute)
47 Q_DECLARE_FLAGS(MorphTargetAttributes , MorphTargetAttribute)
48 Q_FLAG(MorphTargetAttributes)
50 explicit QQuick3DMorphTarget(QQuick3DObject *parent =
nullptr);
51 ~QQuick3DMorphTarget() override;
54 MorphTargetAttributes attributes()
const;
57 void setWeight(
float castsShadows);
58 void setAttributes(QQuick3DMorphTarget::MorphTargetAttributes attributes);
61 void attributesChanged();
65 QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node) override;
66 void markAllDirty() override;
69 enum QSSGMorphTargetDirtyType {
70 WeightDirty = 0x00000001,
71 MorphTargetAttributesDirty = 0x00000002,
74 quint32 m_dirtyAttributes = 0xffffffff;
75 void markDirty(QSSGMorphTargetDirtyType type);
78 MorphTargetAttributes m_attributes = MorphTargetAttribute::Position;
79 size_t m_numAttribs = 1;