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)
void setDataSize(uint size)
void setDataType(VertexBaseType type)
void setDivisor(uint divisor)
void setName(const QString &name)

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)

Static Public Members

  • 10 static public members inherited from QObject
typedef QBufferPtr

Additional Inherited Members

  • 1 public variable inherited from QObject
  • 2 protected functions inherited from Qt3DCore::QNode
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

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 and ..

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)

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 setDataType(VertexBaseType type)

Notifier signal:

void dataTypeChanged(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 setDataSize(uint size)

Notifier signal:

void dataSizeChanged(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.

[static] QString QAttribute::defaultColorAttributeName()

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

[static] QString QAttribute::defaultNormalAttributeName()

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

[static] QString QAttribute::defaultPositionAttributeName()

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

[static] QString QAttribute::defaultTangentAttributeName()

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

[static] QString QAttribute::defaultTextureCoordinateAttributeName()

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

Related Non-Members

typedef Qt3DRender::QBufferPtr