QAttribute Class

(Qt3DRender::QAttribute)

Defines an attribute and how data should be read from a QBuffer. More...

Header: #include <QAttribute>
qmake: QT += 3drender
Instantiated By: Attribute
Inherits: Qt3DCore::QNode

Public Types

enum AttributeType { VertexAttribute, IndexAttribute }
enum VertexBaseType { Byte, UnsignedByte, Short, UnsignedShort, ..., Double }

Properties

Public Functions

QAttribute(QNode *parent = nullptr)
QAttribute(QBuffer *buf, VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, QNode *parent = nullptr)
QAttribute(QBuffer *buf, const QString &name, VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, QNode *parent = nullptr)
AttributeType attributeType() const
QBuffer *buffer() const
uint byteOffset() const
uint byteStride() const
uint count() const
uint divisor() const
QString name() const
VertexBaseType vertexBaseType() const
uint vertexSize() const

Public Slots

void setAttributeType(AttributeType attributeType)
void setBuffer(QBuffer *buffer)
void setByteOffset(uint byteOffset)
void setByteStride(uint byteStride)
void setCount(uint count)
(deprecated) void setDataSize(uint size)
(deprecated) void setDataType(VertexBaseType type)
void setDivisor(uint divisor)
void setName(const QString &name)
void setVertexBaseType(VertexBaseType type)
void setVertexSize(uint size)

Signals

void attributeTypeChanged(AttributeType attributeType)
void bufferChanged(QBuffer *buffer)
void byteOffsetChanged(uint byteOffset)
void byteStrideChanged(uint byteStride)
void countChanged(uint count)
void dataSizeChanged(uint vertexSize)
void dataTypeChanged(VertexBaseType vertexBaseType)
void divisorChanged(uint divisor)
void nameChanged(const QString &name)
void vertexBaseTypeChanged(VertexBaseType vertexBaseType)
void vertexSizeChanged(uint vertexSize)

Static Public Members

typedef QBufferPtr

Additional Inherited Members

Detailed Description

Defines an attribute and how data should be read from a QBuffer.

When providing your own attributes, it may make sense to name your attribute using helpers such as QAttribute::defaultPositionAttributeName() as that will ensure your geometry will be compatible with picking and the various materials provided in the Qt3DExtras module.

See also QBuffer.

Member Type Documentation

enum QAttribute::AttributeType

The type of the attribute.

ConstantValue
Qt3DRender::QAttribute::VertexAttribute0
Qt3DRender::QAttribute::IndexAttribute1

enum QAttribute::VertexBaseType

The type of the data.

ConstantValue
Qt3DRender::QAttribute::Byte0
Qt3DRender::QAttribute::UnsignedByte1
Qt3DRender::QAttribute::Short2
Qt3DRender::QAttribute::UnsignedShort3
Qt3DRender::QAttribute::Int4
Qt3DRender::QAttribute::UnsignedInt5
Qt3DRender::QAttribute::HalfFloat6
Qt3DRender::QAttribute::Float7
Qt3DRender::QAttribute::Double8

Property Documentation

attributeType : AttributeType

Holds the attribute type.

Access functions:

AttributeType attributeType() const
void setAttributeType(AttributeType attributeType)

Notifier signal:

void attributeTypeChanged(AttributeType attributeType)

buffer : Qt3DRender::QBuffer *

Holds the buffer.

Access functions:

QBuffer *buffer() const
void setBuffer(QBuffer *buffer)

Notifier signal:

void bufferChanged(QBuffer *buffer)

byteOffset : uint

Holds the byte offset.

Access functions:

uint byteOffset() const
void setByteOffset(uint byteOffset)

Notifier signal:

void byteOffsetChanged(uint byteOffset)

byteStride : uint

Holds the byte stride.

Access functions:

uint byteStride() const
void setByteStride(uint byteStride)

Notifier signal:

void byteStrideChanged(uint byteStride)

count : uint

Holds the count.

Access functions:

uint count() const
void setCount(uint count)

Notifier signal:

void countChanged(uint count)

defaultColorAttributeName : const QString

Access functions:

defaultNormalAttributeName : const QString

Access functions:

defaultPositionAttributeName : const QString

Access functions:

defaultTangentAttributeName : const QString

Access functions:

defaultTextureCoordinateAttributeName : const QString

Access functions:

divisor : uint

Holds the divisor.

Access functions:

uint divisor() const
void setDivisor(uint divisor)

Notifier signal:

void divisorChanged(uint divisor)

name : QString

Holds the name.

Access functions:

QString name() const
void setName(const QString &name)

Notifier signal:

void nameChanged(const QString &name)

vertexBaseType : VertexBaseType

Holds the data type.

Access functions:

VertexBaseType vertexBaseType() const
void setVertexBaseType(VertexBaseType type)

Notifier signal:

void vertexBaseTypeChanged(VertexBaseType vertexBaseType)

vertexSize : uint

Holds the data size, it can only be 1 to 4 units (scalars and vectors), 9 units (3x3 matrices) or 16 units (4x4 matrices).

Access functions:

uint vertexSize() const
void setVertexSize(uint size)

Notifier signal:

void vertexSizeChanged(uint vertexSize)

Member Function Documentation

QAttribute::QAttribute(QNode *parent = nullptr)

Constructs a new QAttribute with parent.

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

Constructs a new QAttribute from buf of type, dataSize, count, offset, and stride with parent.

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

Constructs a new QAttribute named name from buf of type, dataSize, count, offset, and stride with parent.

[signal] void QAttribute::dataSizeChanged(uint vertexSize)

[signal] void QAttribute::dataTypeChanged(VertexBaseType vertexBaseType)

[static] QString QAttribute::defaultColorAttributeName()

QAttribute::defaultColorAttributeName Returns the name of the default color attribute

Note: Getter function for property defaultColorAttributeName.

[static] QString QAttribute::defaultNormalAttributeName()

QAttribute::defaultNormalAttributeName Returns the name of the default normal attribute

Note: Getter function for property defaultNormalAttributeName.

[static] QString QAttribute::defaultPositionAttributeName()

QAttribute::defaultPositionAttributeName Returns the name of the default position attribute

Note: Getter function for property defaultPositionAttributeName.

[static] QString QAttribute::defaultTangentAttributeName()

QAttribute::defaultTangentAttributeName Returns the name of the default tangent attribute

Note: Getter function for property defaultTangentAttributeName.

[static] QString QAttribute::defaultTextureCoordinateAttributeName()

QAttribute::defaultTextureCoordinateAttributeName Returns the name of the default texture coordinate attribute

Note: Getter function for property defaultTextureCoordinateAttributeName.

[slot] void QAttribute::setDataSize(uint size)

This function is deprecated.

[slot] void QAttribute::setDataType(VertexBaseType type)

This function is deprecated.

Related Non-Members

typedef Qt3DRender::QBufferPtr