QAttribute 类

class Qt3DCore::QAttribute

定义了属性及其从 QBuffer 中读取数据的方式。更多信息...

头文件 #include <Qt3DCore/QAttribute>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmakeQT += 3dcore
实例化自 Attribute
继承自 Qt3DCore::QNode

公共类型

enumAttributeType { VertexAttribute, IndexAttribute, DrawIndirectAttribute }
enumVertexBaseType { Byte, UnsignedByte, Short, UnsignedShort, Int, …, Double }

属性

公共函数

QAttribute(Qt3DCore::QNode *parent = nullptr)
QAttribute(Qt3DCore::QBuffer *buf, Qt3DCore::QAttribute::VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, Qt3DCore::QNode *parent = nullptr)
QAttribute(Qt3DCore::QBuffer *buf, const QString &name, Qt3DCore::QAttribute::VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, Qt3DCore::QNode *parent = nullptr)
Qt3DCore::QAttribute::AttributeTypeattributeType() const
Qt3DCore::QBuffer *buffer() const
uintbyteOffset() const
uintbyteStride() const
uintcount() const
uintdivisor() const
QStringname() const
Qt3DCore::QAttribute::VertexBaseTypevertexBaseType() const
uintvertexSize() const

公共槽

voidsetAttributeType(Qt3DCore::QAttribute::AttributeType attributeType)
voidsetBuffer(Qt3DCore::QBuffer *buffer)
voidsetByteOffset(uint byteOffset)
voidsetByteStride(uint byteStride)
voidsetCount(uint count)
voidsetDivisor(uint divisor)
voidsetName(const QString &name)
voidsetVertexBaseType(Qt3DCore::QAttribute::VertexBaseType type)
voidsetVertexSize(uint size)

信号

voidattributeTypeChanged(Qt3DCore::QAttribute::AttributeType attributeType)
voidbufferChanged(Qt3DCore::QBuffer *buffer)
voidbyteOffsetChanged(uint byteOffset)
voidbyteStrideChanged(uint byteStride)
voidcountChanged(uint count)
voiddataSizeChanged(uint vertexSize)
voiddataTypeChanged(Qt3DCore::QAttribute::VertexBaseType vertexBaseType)
voiddivisorChanged(uint divisor)
voidnameChanged(const QString &name)
voidvertexBaseTypeChanged(Qt3DCore::QAttribute::VertexBaseType vertexBaseType)
voidvertexSizeChanged(uint vertexSize)

静态公共成员

详细说明

属性有3种类型。

注意:当属性类型为DrawIndirectAttribute时,只有计数、步长和偏移量是相关的。

当提供自己的属性时,使用如QAttribute::defaultPositionAttributeName()之类的辅助器来命名属性可能是有意义的,因为这将确保您的几何体将与拾取和Qt3DExtras模块中提供的各种材料兼容。

另请参阅:QBuffer

成员类型文档

enum QAttribute::AttributeType

属性的类型。

常量
Qt3DCore::QAttribute::VertexAttribute0
Qt3DCore::QAttribute::IndexAttribute1
Qt3DCore::QAttribute::DrawIndirectAttribute2

enum QAttribute::VertexBaseType

数据类型。

常量
Qt3DCore::QAttribute::Byte0
Qt3DCore::QAttribute::UnsignedByte1
Qt3DCore::QAttribute::Short2
Qt3DCore::QAttribute::UnsignedShort3
Qt3DCore::QAttribute::Int4
Qt3DCore::QAttribute::UnsignedInt5
Qt3DCore::QAttribute::HalfFloat6
Qt3DCore::QAttribute::Float7
Qt3DCore::QAttribute::Double8

属性文档

attributeType : AttributeType

存储属性类型。

访问函数

Qt3DCore::QAttribute::AttributeTypeattributeType() const
voidsetAttributeType(Qt3DCore::QAttribute::AttributeType attributeType)

通知信号

voidattributeTypeChanged(Qt3DCore::QAttribute::AttributeType attributeType)

buffer : Qt3DCore::QBuffer*

存储缓冲区。

访问函数

Qt3DCore::QBuffer *buffer() const
voidsetBuffer(Qt3DCore::QBuffer *buffer)

通知信号

voidbufferChanged(Qt3DCore::QBuffer *buffer)

byteOffset : uint

存储字节偏移。

访问函数

uintbyteOffset() const
voidsetByteOffset(uint byteOffset)

通知信号

voidbyteOffsetChanged(uint byteOffset)

byteStride : uint

存储字节步长。

访问函数

uintbyteStride() const
voidsetByteStride(uint byteStride)

通知信号

voidbyteStrideChanged(uint byteStride)

count : uint

存储数量。

访问函数

uintcount() const
voidsetCount(uint count)

通知信号

voidcountChanged(uint count)

divisor : uint

存储除数。

访问函数

uintdivisor() const
voidsetDivisor(uint divisor)

通知信号

voiddivisorChanged(uint divisor)

name : QString

存储名称。

访问函数

QStringname() const
voidsetName(const QString &name)

通知信号

voidnameChanged(const QString &name)

vertexBaseType : VertexBaseType

存储数据类型。

访问函数

Qt3DCore::QAttribute::VertexBaseTypevertexBaseType() const
voidsetVertexBaseType(Qt3DCore::QAttribute::VertexBaseType type)

通知信号

voidvertexBaseTypeChanged(Qt3DCore::QAttribute::VertexBaseType vertexBaseType)

vertexSize : uint

存储数据大小,可以是 1 到 4 个单位(标量和向量)、9 个单位(3x3 矩阵)或 16 个单位(4x4 矩阵)。

访问函数

uintvertexSize() const
voidsetVertexSize(uint size)

通知信号

voidvertexSizeChanged(uint vertexSize)

成员函数文档

[明确] QAttribute::QAttribute(Qt3DCore::QNode *parent = nullptr)

使用 父对象 构建一个新的 QAttribute。

[显式] QAttribute::QAttribute(Qt3DCore::QBuffer *buf, Qt3DCore::QAttribute::VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, Qt3DCore::QNode *parent = nullptr)

buftypedataSizecountoffsetstride构建一个新的QAttribute,并将其设置为parent

[显式] QAttribute::QAttribute(Qt3DCore::QBuffer *buf, const QString &name, Qt3DCore::QAttribute::VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, Qt3DCore::QNode *parent = nullptr)

buftypedataSizecountoffsetstride构建一个新的名为name的QAttribute,并将其设置为parent

[信号] void QAttribute::dataSizeChanged(uint vertexSize)

当数据大小改变时,触发vertexSize信号。

[信号] void QAttribute::dataTypeChanged(Qt3DCore::QAttribute::VertexBaseType vertexBaseType)

当数据类型改变时,触发vertexBaseType信号。

[静态调用] QString QAttribute::defaultColorAttributeName()

QAttribute::defaultColorAttributeName 返回默认颜色属性的名称

注意:此函数可以通过元对象系统和从QML调用。参见Q_INVOKABLE

注意:默认颜色属性名称的获取函数。

[静态] QString QAttribute::defaultJointIndicesAttributeName()

QAttribute::defaultJointIndicesAttributeName 返回默认关节索引属性的名称

注意:默认关节索引属性名称的获取函数。

[静态] QString QAttribute::defaultJointWeightsAttributeName()

QAttribute::defaultJointWeightsAttributeName 返回默认关节权重属性的名称

注意:默认关节权重属性名称的获取函数。

[静态调用] QString QAttribute::defaultNormalAttributeName()

QAttribute::defaultNormalAttributeName 返回默认法线属性的名称

注意:此函数可以通过元对象系统和从QML调用。参见Q_INVOKABLE

注意:默认法线属性名称的获取函数。

[静态可调用的] QString QAttribute::defaultPositionAttributeName()

QAttribute::defaultPositionAttributeName 返回默认位置属性名称

注意:此函数可以通过元对象系统和从QML调用。参见Q_INVOKABLE

注意:defaultPositionAttributeName属性的获取器函数。

[静态可调用的] QString QAttribute::defaultTangentAttributeName()

QAttribute::defaultTangentAttributeName 返回默认切线属性名称

注意:此函数可以通过元对象系统和从QML调用。参见Q_INVOKABLE

注意:defaultTangentAttributeName属性的获取器函数。

[静态] QString QAttribute::defaultTextureCoordinate1AttributeName()

QAttribute::defaultTextureCoordinate1AttributeName 返回第二层纹理坐标的默认属性名称

注意:defaultTextureCoordinate1AttributeName属性的获取器函数。

[静态] QString QAttribute::defaultTextureCoordinate2AttributeName()

QAttribute::defaultTextureCoordinate2AttributeName 返回第三层纹理坐标的默认属性名称

注意:defaultTextureCoordinate2AttributeName属性的获取器函数。

[静态可调用的] QString QAttribute::defaultTextureCoordinateAttributeName()

QAttribute::defaultTextureCoordinateAttributeName 返回默认纹理坐标属性名称

注意:此函数可以通过元对象系统和从QML调用。参见Q_INVOKABLE

注意:defaultTextureCoordinateAttributeName属性的获取器函数。

相关非成员

QBufferPtr

© 2024 Qt公司。本文件中的文档贡献是各自所有者的版权。本文件提供的文档受GNU自由文档许可证版1.3的条款约束,该许可证由自由软件基金会发布。Qt及其相关徽标是Qt公司在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。