Qt 5.7 | Qt 3D | C++ Classes | QAttribute

Qt 5.7.1 Reference Documentation

# 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

- List of all members, including inherited members

## Public Types

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

## Properties

- attributeType : AttributeType
- buffer : Qt3DRender::QBuffer *
- byteOffset : uint
- byteStride : uint
- count : uint

- divisor : uint
- name : QString
- vertexBaseType : VertexBaseType
- vertexSize : uint

- 2 properties inherited from Qt3DCore::QNode

## 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

- 6 public functions inherited from Qt3DCore::QNode

## 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)

- 2 public slots inherited from Qt3DCore::QNode

## 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)

- 3 signals inherited from Qt3DCore::QNode

## Static Public Members

QString | defaultColorAttributeName()
QString | defaultNormalAttributeName()
QString | defaultPositionAttributeName()
QString | defaultTangentAttributeName()
QString | defaultTextureCoordinateAttributeName()

## Related Non-Members

typedef | QBufferPtr

### Additional Inherited Members

- 2 protected functions inherited from Qt3DCore::QNode

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

Constant | Value
--- | ---
`Qt3DRender::QAttribute::VertexAttribute` | `0`
`Qt3DRender::QAttribute::IndexAttribute` | `1`

### enum QAttribute::VertexBaseType

The type of the data.

Constant | Value
--- | ---
`Qt3DRender::QAttribute::Byte` | `0`
`Qt3DRender::QAttribute::UnsignedByte` | `1`
`Qt3DRender::QAttribute::Short` | `2`
`Qt3DRender::QAttribute::UnsignedShort` | `3`
`Qt3DRender::QAttribute::Int` | `4`
`Qt3DRender::QAttribute::UnsignedInt` | `5`
`Qt3DRender::QAttribute::HalfFloat` | `6`
`Qt3DRender::QAttribute::Float` | `7`
`Qt3DRender::QAttribute::Double` | `8`

## 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