![]() |
Qt 6.x
The Qt SDK
|
\qmltype Geometry \inherits Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DGeometry More...
#include <qquick3dgeometry.h>
Classes | |
struct | Attribute |
struct | TargetAttribute |
Public Types | |
enum class | PrimitiveType { Points , LineStrip , Lines , TriangleStrip , TriangleFan , Triangles } |
Signals | |
void | geometryNodeDirty () |
![]() | |
void | parentChanged () |
void | childrenChanged () |
void | stateChanged () |
![]() | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
QQuick3DGeometry (QQuick3DObject *parent=nullptr) | |
~QQuick3DGeometry () override | |
QByteArray | vertexData () const |
Returns the vertex buffer data set by setVertexData. | |
QByteArray | indexData () const |
Returns the index buffer data. | |
int | attributeCount () const |
Returns the number of attributes defined for this geometry. | |
Attribute | attribute (int index) const |
Returns attribute definition number index. | |
PrimitiveType | primitiveType () const |
Returns the primitive type used when rendering. | |
QVector3D | boundsMin () const |
QVector3D | boundsMax () const |
int | stride () const |
void | setVertexData (const QByteArray &data) |
Sets the vertex buffer data. | |
void | setVertexData (int offset, const QByteArray &data) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Updates a subset of the vertex buffer. | |
void | setIndexData (const QByteArray &data) |
Sets the index buffer to data. | |
void | setIndexData (int offset, const QByteArray &data) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Updates a subset of the index buffer. | |
void | setStride (int stride) |
Sets the stride of the vertex buffer to stride, measured in bytes. | |
void | setBounds (const QVector3D &min, const QVector3D &max) |
Sets the bounding volume of the geometry to the cube defined by the points min and max. | |
void | setPrimitiveType (PrimitiveType type) |
Sets the primitive type used for rendering to type. | |
void | addAttribute (Attribute::Semantic semantic, int offset, Attribute::ComponentType componentType) |
Adds vertex attribute description. | |
void | addAttribute (const Attribute &att) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Adds vertex attribute description. | |
Q_REVISION (6, 3) int subsetCount() const | |
Q_REVISION (6, 3) QVector3D subsetBoundsMin(int subset) const | |
Q_REVISION (6, 3) QVector3D subsetBoundsMax(int subset) const | |
Q_REVISION (6, 3) int subsetOffset(int subset) const | |
Q_REVISION (6, 3) int subsetCount(int subset) const | |
Q_REVISION (6, 3) QString subsetName(int subset) const | |
Q_REVISION (6, 3) void addSubset(int offset | |
Q_REVISION (6, 6) QByteArray targetData() const | |
Q_REVISION (6, 6) void setTargetData(const QByteArray &data) | |
Q_REVISION (6, 6) void setTargetData(int offset | |
Q_REVISION (6, 6) TargetAttribute targetAttribute(int index) const | |
Q_REVISION (6, 6) int targetAttributeCount() const | |
Q_REVISION (6, 6) void addTargetAttribute(quint32 targetId | |
Q_REVISION (6, 6) void addTargetAttribute(const TargetAttribute &att) | |
void | clear () |
Resets the geometry to its initial state, clearing previously set vertex and index data as well as attributes. | |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
![]() | |
QQmlParserStatus () | |
virtual | ~QQmlParserStatus () |
virtual void | classBegin ()=0 |
Invoked after class creation, but before any properties have been set. | |
virtual void | componentComplete ()=0 |
Invoked after the root component that caused this instantiation has completed construction. | |
Public Attributes | |
int | count |
int const QVector3D & | boundsMin |
Returns the minimum coordinate of the bounding volume. | |
int const QVector3D const QVector3D & | boundsMax |
Returns the maximum coordinate of the bounding volume. | |
int const QVector3D const QVector3D const QString & | name = {}) |
const QByteArray & | data |
Attribute::Semantic | semantic |
Attribute::Semantic int | offset |
Attribute::Semantic int int | stride = 0) |
Returns the byte stride of the vertex buffer. | |
Protected Member Functions | |
QSSGRenderGraphObject * | updateSpatialNode (QSSGRenderGraphObject *node) override |
void | markAllDirty () override |
![]() | |
virtual QSSGRenderGraphObject * | updateSpatialNode (QSSGRenderGraphObject *node) |
virtual void | markAllDirty () |
virtual void | itemChange (ItemChange, const ItemChangeData &) |
QQuick3DObject (QQuick3DObjectPrivate &dd, QQuick3DObject *parent=nullptr) | |
void | classBegin () override |
Invoked after class creation, but before any properties have been set. | |
void | componentComplete () override |
Invoked after the root component that caused this instantiation has completed construction. | |
bool | isComponentComplete () const |
virtual void | preSync () |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Additional Inherited Members | |
![]() | |
void | update () |
void | setParentItem (QQuick3DObject *parentItem) |
![]() | |
void | deleteLater () |
\threadsafe | |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
QQuick3DObject * | parent |
\qmlproperty Object3D QtQuick3D::Object3D::parent This property holds the parent of the Object3D in a 3D scene. | |
![]() | |
QString | objectName |
the name of this object | |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
\qmltype Geometry \inherits Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DGeometry
Base type for custom geometry.
Custom geometry allows using application-generated vertex and index data, that can possibly change dynamically as well. To use custom geometry, do not assign a {.mesh} file as the \l{Model::source}{source} to a Model. Instead, set its \l{Model::geometry}{geometry} property to reference a Geometry object.
A typical way of implementing custom geometry is by creating a \l QQuick3DGeometry subclass in C++ and registering the new type for use with QML.
It is also possible to use the built-in custom geometry provider \l GridGeometry in the Helpers
module. The following is an example of \l GridGeometry. Any application-provided Geometry subclass can be taken into use in the same manner.
\inmodule QtQuick3D \inherits QQuick3DObject
Base class for defining custom geometry.
The QQuick3DGeometry can be used to specify custom geometry for a Model in the Qt Quick 3D scene.
While not strictly required, the typical usage is to inherit from this class. The subclass is then exposed to QML by registering it to the type system. The \l{Model::geometry}{geometry} property of a Model can then be set to reference an instance of the registered type.
The high-level structure of such a class is typically similar to the following:
This class can then be registered as a QML type and used with \l {QtQuick3D::Model}{Model}.
In Qt 5 type registration happened with qmlRegisterType:
In Qt 6 the default approach is to use automatic registration with the help of the build system. Instead of calling qmlRegisterType, the {.pro} file can now contain:
With CMake, automatic registration is the default behavior, so no special settings are needed beyond basic QML module setup:
The class implementation should add QML_NAMED_ELEMENT:
The QML code can then use the custom type:
At minimum, a custom geometry should have the following specified:
\list
These are sufficient to render the mesh. For indexed drawing, the index buffer data and an attribute with IndexSemantic needs to be specified as well. In order to support picking (input), the class must specify the bounding volume using setBounds(). For proper lighting, an attribute with NormalSemantic is needed. When the material uses texturing, at least one set of UV coordinates must be provided and described in an TexCoord0Semantic or TexCoord1Semantic attribute. Some materials may require tangents and binormals as well.
As a concrete, minimal example, the following class would provide geometry for a single triangle:
Depending on the lighting in the scene, the result of referencing this geometry from a Model:
Definition at line 13 of file qquick3dgeometry.h.
|
strong |
Enumerator | |
---|---|
Points | |
LineStrip | |
Lines | |
TriangleStrip | |
TriangleFan | |
Triangles |
Definition at line 24 of file qquick3dgeometry.h.
|
explicit |
Definition at line 231 of file qquick3dgeometry.cpp.
|
override |
Definition at line 237 of file qquick3dgeometry.cpp.
void QQuick3DGeometry::addAttribute | ( | Attribute::Semantic | semantic, |
int | offset, | ||
Attribute::ComponentType | componentType | ||
) |
Adds vertex attribute description.
Each attribute has a semantic, which specifies the usage of the attribute and the number of components it has, an offset from the beginning to the vertex to the attribute location inside a vertex and a componentType specifying the datatype and size of the attribute.
The semantic can be one of the following:
\value PositionSemantic The attribute is a position. 3 components: x, y, and z \value NormalSemantic The attribute is a normal vector. 3 components: x, y, and z \value TexCoord0Semantic The attribute is a texture coordinate. 2 components: u and v \value TexCoord1Semantic The attribute is a texture coordinate. 2 components: u and v \value TangentSemantic The attribute is a tangent vector. 3 components: x, y, and z \value BinormalSemantic The attribute is a binormal vector. 3 components: x, y, and z \value JointSemantic The attribute is a joint index vector for \l {Vertex Skinning}{skinning}. 4 components: joint index 1-4 \value WeightSemantic The attribute is a weight vector for \l {Vertex Skinning}{skinning}. 4 components: joint weight 1-4 \value ColorSemantic The attribute is a vertex color vector. 4 components: r, g, b, and a \value TargetPositionSemantic The attribute is a position for the first \l {Morphing Animation}{morph target}. 3 components: x, y, and z \value TargetNormalSemantic The attribute is a normal vector for the first \l {Morphing Animation}{morph target}. 3 components: x, y, and z \value TargetTangentSemantic The attribute is a tangent vector for the first \l {Morphing Animation}{morph target}. 3 components: x, y, and z \value TargetBinormalSemantic The attribute is a binormal vector for the first \l {Morphing Animation}{morph target}. 3 components: x, y, and z
In addition, semantic can be IndexSemantic
. In this case the attribute does not represent an entry in the vertex buffer, but rather describes the index data in the index buffer. Since there is always just one index per vertex, offset makes no sense for the index buffer, and should be left at zero.
The component type can be one of the following:
\value U16Type The index component type is unsigned 16-bit integer. Only supported for IndexSemantic
.
\value U32Type The attribute (or index component) is an unsigned 32-bit integer.
\value I32Type The attribute is a signed 32-bit integer. Be aware that old OpenGL versions (such as, 2.1 or OpenGL ES 2.0) may not support this data type.
\value F32Type The attribute is a single-precision float.
I32Type
. F32Type
is also supported in order to enable functioning with APIs, such as OpenGL ES 2.0, that do not support integer vertex input attributes.IndexSemantic
) only U16Type and U32Type are sensible and supported.Definition at line 599 of file qquick3dgeometry.cpp.
References d, QQuick3DGeometryPrivate::MAX_ATTRIBUTE_COUNT, QQuick3DGeometryPrivate::MAX_TARGET_ATTRIBUTE_COUNT, offset, semantic, QQuick3DGeometry::Attribute::TargetBinormalSemantic, QQuick3DGeometry::Attribute::TargetNormalSemantic, QQuick3DGeometry::Attribute::TargetPositionSemantic, and QQuick3DGeometry::Attribute::TargetTangentSemantic.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Adds vertex attribute description.
Each attribute has a semantic, which specifies the usage of the attribute and the number of components it has, an offset from the beginning to the vertex to the attribute location inside a vertex and a componentType specifying the datatype and size of the attribute.
Definition at line 635 of file qquick3dgeometry.cpp.
References d, and QQuick3DGeometryPrivate::MAX_ATTRIBUTE_COUNT.
QQuick3DGeometry::Attribute QQuick3DGeometry::attribute | ( | int | index | ) | const |
Returns attribute definition number index.
The attribute definitions are numbered from 0 to {attributeCount()
- 1}
Definition at line 285 of file qquick3dgeometry.cpp.
References d.
int QQuick3DGeometry::attributeCount | ( | ) | const |
Returns the number of attributes defined for this geometry.
Definition at line 274 of file qquick3dgeometry.cpp.
References d.
QVector3D QQuick3DGeometry::boundsMax | ( | ) | const |
QVector3D QQuick3DGeometry::boundsMin | ( | ) | const |
void QQuick3DGeometry::clear | ( | ) |
Resets the geometry to its initial state, clearing previously set vertex and index data as well as attributes.
Definition at line 706 of file qquick3dgeometry.cpp.
|
signal |
Referenced by QQuick3DModel::setGeometry(), and updateSpatialNode().
QByteArray QQuick3DGeometry::indexData | ( | ) | const |
|
overrideprotectedvirtual |
Reimplemented from QQuick3DObject.
Definition at line 357 of file qquick3dgeometry.cpp.
References QQuick3DObject::markAllDirty().
Referenced by updateSpatialNode().
QQuick3DGeometry::PrimitiveType QQuick3DGeometry::primitiveType | ( | ) | const |
Returns the primitive type used when rendering.
The default is Triangles
.
Definition at line 318 of file qquick3dgeometry.cpp.
References d.
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
3 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
3 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
3 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
3 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
3 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
3 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
3 | |||
) |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
6 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
6 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
6 | |||
) | const |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
6 | |||
) | const & |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
6 | |||
) |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
6 | |||
) | const & |
QQuick3DGeometry::Q_REVISION | ( | 6 | , |
6 | |||
) |
Sets the bounding volume of the geometry to the cube defined by the points min and max.
This is used for \l {View3D::pick}{picking}.
Definition at line 507 of file qquick3dgeometry.cpp.
References d.
void QQuick3DGeometry::setIndexData | ( | const QByteArray & | data | ) |
Sets the index buffer to data.
To use indexed drawing, add an attribute with IndexSemantic
Definition at line 447 of file qquick3dgeometry.cpp.
void QQuick3DGeometry::setIndexData | ( | int | offset, |
const QByteArray & | data | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Updates a subset of the index buffer.
offset specifies the offset in bytes, data specifies the size and the data.
This function will not resize the buffer. If {offset
+ data.size()} is greater than the current size of the buffer, the overshooting data will be ignored.
Definition at line 468 of file qquick3dgeometry.cpp.
void QQuick3DGeometry::setPrimitiveType | ( | PrimitiveType | type | ) |
Sets the primitive type used for rendering to type.
\value Points The primitives are points. \value LineStrip The primitives are lines in a strip. \value Lines The primitives are lines in a list. \value TriangleStrip The primitives are triangles in a strip. \value TriangleFan The primitives are triangles in a fan. Be aware that triangle fans may not be supported at run time, depending on the underlying graphics API. \value Triangles The primitives are triangles in a list.
The initial value is Triangles
.
Definition at line 539 of file qquick3dgeometry.cpp.
References d.
void QQuick3DGeometry::setStride | ( | int | stride | ) |
Sets the stride of the vertex buffer to stride, measured in bytes.
This is the distance between two consecutive vertices in the buffer.
For example, a tightly packed, interleaved vertex buffer for a geometry using PositionSemantic
, IndexSemantic
, and ColorSemantic
will have a stride of 28
(Seven floats in total: Three for position, four for color, and none for indexes, which do not go in the vertex buffer.)
Definition at line 494 of file qquick3dgeometry.cpp.
void QQuick3DGeometry::setVertexData | ( | const QByteArray & | data | ) |
Sets the vertex buffer data.
The buffer should hold all the vertex data packed in the array, as described by the attribute definitions. Note that this does not include attributes with IndexSemantic
, which belong in the index buffer.
Definition at line 370 of file qquick3dgeometry.cpp.
void QQuick3DGeometry::setVertexData | ( | int | offset, |
const QByteArray & | data | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Updates a subset of the vertex buffer.
offset specifies the offset in bytes, data specifies the size and the data.
This function will not resize the buffer. If {offset
+ data.size()} is greater than the current size of the buffer, the overshooting data will be ignored.
Definition at line 391 of file qquick3dgeometry.cpp.
int QQuick3DGeometry::stride | ( | ) | const |
|
overrideprotectedvirtual |
Reimplemented from QQuick3DObject.
Definition at line 887 of file qquick3dgeometry.cpp.
References QSSGRenderGeometry::addAttribute(), QSSGRenderGeometry::addSubset(), QSSGRenderGeometry::addTargetAttribute(), QSSGMesh::MeshInternal::byteSizeForComponentType(), QSSGRenderGeometry::clearTarget(), QSSGRenderGeometry::clearVertexAndIndex(), d, emit, DebugViewHelpers::ensureDebugObjectName(), geometryNodeDirty(), i, QQuick3DGeometry::Attribute::IndexSemantic, mapComponentType(), mapPrimitiveType(), mapSemantic(), markAllDirty(), qWarning, QSSGRenderGeometry::setBounds(), QSSGRenderGeometry::setIndexData(), QSSGRenderGeometry::setPrimitiveType(), QSSGRenderGeometry::setStride(), QSSGRenderGeometry::setTargetData(), QSSGRenderGeometry::setVertexData(), and QQuick3DObject::updateSpatialNode().
QByteArray QQuick3DGeometry::vertexData | ( | ) | const |
Returns the vertex buffer data set by setVertexData.
Definition at line 245 of file qquick3dgeometry.cpp.
References d.
QVector3D QQuick3DGeometry::boundsMax |
Returns the maximum coordinate of the bounding volume.
Definition at line 95 of file qquick3dgeometry.h.
Referenced by QQuick3DModel::updateSpatialNode().
QVector3D QQuick3DGeometry::boundsMin |
Returns the minimum coordinate of the bounding volume.
Definition at line 95 of file qquick3dgeometry.h.
Referenced by QQuick3DModel::updateSpatialNode().
int QQuick3DGeometry::count |
Definition at line 95 of file qquick3dgeometry.h.
const QByteArray& QQuick3DGeometry::data |
Definition at line 99 of file qquick3dgeometry.h.
Referenced by setIndexData(), and setVertexData().
Definition at line 95 of file qquick3dgeometry.h.
Attribute::Semantic int QQuick3DGeometry::offset |
Definition at line 103 of file qquick3dgeometry.h.
Referenced by addAttribute().
Attribute::Semantic QQuick3DGeometry::semantic |
Definition at line 103 of file qquick3dgeometry.h.
Referenced by addAttribute().
int QQuick3DGeometry::stride = 0) |
Returns the byte stride of the vertex buffer.
Definition at line 104 of file qquick3dgeometry.h.
Referenced by setStride().