Qt Reference Documentation

Contents

QSGGeometry Class Reference

The QSGGeometry class provides low-level storage for graphics primitives in the QML Scene Graph. More...

 #include <QSGGeometry>

Public Types

class Attribute
class AttributeSet
class ColoredPoint2D
class Point2D
class TexturedPoint2D

Public Functions

QSGGeometry ( const QSGGeometry::AttributeSet & attributes, int vertexCount, int indexCount = 0, int indexType = GL_UNSIGNED_SHORT )
~QSGGeometry ()
void allocate ( int vertexCount, int indexCount = 0 )
int attributeCount () const
const Attribute * attributes () const
GLenum drawingMode () const
int indexCount () const
void * indexData ()
const void * indexData () const
uint * indexDataAsUInt ()
const uint * indexDataAsUInt () const
quint16 * indexDataAsUShort ()
const quint16 * indexDataAsUShort () const
int indexType () const
void setDrawingMode ( GLenum mode )
int stride () const
int vertexCount () const
void * vertexData ()
const void * vertexData () const
ColoredPoint2D * vertexDataAsColoredPoint2D ()
const ColoredPoint2D * vertexDataAsColoredPoint2D () const
Point2D * vertexDataAsPoint2D ()
const Point2D * vertexDataAsPoint2D () const
TexturedPoint2D * vertexDataAsTexturedPoint2D ()
const TexturedPoint2D * vertexDataAsTexturedPoint2D () const

Static Public Members

const AttributeSet & defaultAttributes_ColoredPoint2D ()
const AttributeSet & defaultAttributes_Point2D ()
const AttributeSet & defaultAttributes_TexturedPoint2D ()
void updateRectGeometry ( QSGGeometry * g, const QRectF & rect )
void updateTexturedRectGeometry ( QSGGeometry * g, const QRectF & rect, const QRectF & textureRect )

Detailed Description

The QSGGeometry class provides low-level storage for graphics primitives in the QML Scene Graph.

The QSGGeometry class provides a few convenience attributes and attribute accessors by default. The defaultAttributes_Point2D() function returns attributes to be used in normal solid color rectangles, while the defaultAttributes_TexturedPoint2D function returns attributes to be used for the common pixmap usecase.

Member Function Documentation

QSGGeometry::QSGGeometry ( const QSGGeometry::AttributeSet & attributes, int vertexCount, int indexCount = 0, int indexType = GL_UNSIGNED_SHORT )

Constructs a geometry object based on attributes.

The object allocate space for vertexCount vertices based on the accumulated size in attributes and for indexCount.

Geometry objects are constructed with GL_TRIANGLE_STRIP as default drawing mode.

The attribute structure is assumed to be POD and the geometry object assumes this will not go away. There is no memory management involved.

QSGGeometry::~QSGGeometry ()

void QSGGeometry::allocate ( int vertexCount, int indexCount = 0 )

Resizes the vertex and index data of this geometry object to fit vertexCount vertices and indexCount indices.

Vertex and index data will be invalidated after this call and the caller must

int QSGGeometry::attributeCount () const

const Attribute * QSGGeometry::attributes () const

const AttributeSet & QSGGeometry::defaultAttributes_ColoredPoint2D () [static]

Convenience function which returns attributes to be used for per vertex colored 2D drawing.

const AttributeSet & QSGGeometry::defaultAttributes_Point2D () [static]

Convenience function which returns attributes to be used for 2D solid color drawing.

const AttributeSet & QSGGeometry::defaultAttributes_TexturedPoint2D () [static]

Convenience function which returns attributes to be used for textured 2D drawing.

GLenum QSGGeometry::drawingMode () const

Returns the drawing mode of this geometry.

The default value is GL_TRIANGLE_STRIP.

See also setDrawingMode().

int QSGGeometry::indexCount () const

Returns the number of indices in this geometry object.

void * QSGGeometry::indexData ()

Returns a pointer to the raw index data of this geometry object.

See also indexDataAsUShort() and indexDataAsUInt().

const void * QSGGeometry::indexData () const

Returns a pointer to the raw index data of this geometry object.

See also indexDataAsUShort() and indexDataAsUInt().

uint * QSGGeometry::indexDataAsUInt ()

const uint * QSGGeometry::indexDataAsUInt () const

quint16 * QSGGeometry::indexDataAsUShort ()

const quint16 * QSGGeometry::indexDataAsUShort () const

int QSGGeometry::indexType () const

Returns the primitive type used for indices in this geometry object.

void QSGGeometry::setDrawingMode ( GLenum mode )

Sets the drawing mode to be used for this geometry.

The default value is GL_TRIANGLE_STRIP.

See also drawingMode().

int QSGGeometry::stride () const

void QSGGeometry::updateRectGeometry ( QSGGeometry * g, const QRectF & rect ) [static]

Updates the geometry g with the coordinates in rect.

The function assumes the geometry object contains a single triangle strip of QSGGeometry::Point2D vertices

void QSGGeometry::updateTexturedRectGeometry ( QSGGeometry * g, const QRectF & rect, const QRectF & textureRect ) [static]

Updates the geometry g with the coordinates in rect and texture coordinates from textureRect.

textureRect should be in normalized coordinates.

g is assumed to be a triangle strip of four vertices of type QSGGeometry::TexturedPoint2D.

int QSGGeometry::vertexCount () const

Returns the number of vertices in this geometry object.

void * QSGGeometry::vertexData ()

Returns a pointer to the raw vertex data of this geometry object.

See also vertexDataAsPoint2D() and vertexDataAsTexturedPoint2D.

const void * QSGGeometry::vertexData () const

Returns a pointer to the raw vertex data of this geometry object.

See also vertexDataAsPoint2D() and vertexDataAsTexturedPoint2D.

ColoredPoint2D * QSGGeometry::vertexDataAsColoredPoint2D ()

const ColoredPoint2D * QSGGeometry::vertexDataAsColoredPoint2D () const

Point2D * QSGGeometry::vertexDataAsPoint2D ()

const Point2D * QSGGeometry::vertexDataAsPoint2D () const

TexturedPoint2D * QSGGeometry::vertexDataAsTexturedPoint2D ()

const TexturedPoint2D * QSGGeometry::vertexDataAsTexturedPoint2D () const