Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
ProceduralMesh Class Reference

#include <proceduralmesh_p.h>

Inheritance diagram for ProceduralMesh:
Collaboration diagram for ProceduralMesh:

Public Types

enum  PrimitiveMode {
  Points , LineStrip , Lines , TriangleStrip ,
  TriangleFan , Triangles
}
Public Types inherited from QQuick3DGeometry
enum class  PrimitiveType {
  Points , LineStrip , Lines , TriangleStrip ,
  TriangleFan , Triangles
}

Signals

void positionsChanged ()
void primitiveModeChanged ()
void indexesChanged ()
void normalsChanged ()
void tangentsChanged ()
void binormalsChanged ()
void uv0sChanged ()
void uv1sChanged ()
void colorsChanged ()
void jointsChanged ()
void weightsChanged ()
Signals inherited from QQuick3DGeometry
void geometryNodeDirty ()
 Q_REVISION (6, 7) void geometryChanged()
Signals inherited from QQuick3DObject
void parentChanged ()
void childrenChanged ()
void stateChanged ()
Signals inherited from QObject
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

 ProceduralMesh ()
 \qmlproperty List<QVector3D> ProceduralMesh::positions The positions attribute list.
QList< QVector3Dpositions () const
void setPositions (const QList< QVector3D > &newPositions)
PrimitiveMode primitiveMode () const
void setPrimitiveMode (PrimitiveMode newPrimitiveMode)
QList< unsigned int > indexes () const
void setIndexes (const QList< unsigned int > &newIndexes)
QList< QVector3Dnormals () const
void setNormals (const QList< QVector3D > &newNormals)
QList< QVector3Dtangents () const
void setTangents (const QList< QVector3D > &newTangents)
QList< QVector3Dbinormals () const
void setBinormals (const QList< QVector3D > &newBinormals)
QList< QVector2Duv0s () const
void setUv0s (const QList< QVector2D > &newUv0s)
QList< QVector2Duv1s () const
void setUv1s (const QList< QVector2D > &newUv1s)
QList< QVector4Dcolors () const
void setColors (const QList< QVector4D > &newColors)
QList< QVector4Djoints () const
void setJoints (const QList< QVector4D > &newJoints)
QList< QVector4Dweights () const
void setWeights (const QList< QVector4D > &newWeights)
QQmlListProperty< ProceduralMeshSubsetsubsets ()
Public Member Functions inherited from QQuick3DGeometry
 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.
Public Member Functions inherited from QObject
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< QStringbindableObjectName ()
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 isQmlObjectType () const
 Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership().
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).
QThreadthread () const
 Returns the thread in which the object lives.
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
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::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
void killTimer (int id)
 Kills the timer with timer identifier, id.
void killTimer (Qt::TimerId id)
template<typename T>
findChild (QAnyStringView aName, 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 (QAnyStringView 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>
findChild (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.
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 QObjectListchildren () 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< QByteArraydynamicPropertyNames () const
QBindingStoragebindingStorage ()
const QBindingStoragebindingStorage () const
QObjectparent () 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.
Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
virtual ~QQmlParserStatus ()

Properties

QList< QVector3Dpositions
QList< QVector3Dnormals
QList< QVector3Dtangents
QList< QVector3Dbinormals
QList< QVector2Duv0s
QList< QVector2Duv1s
QList< QVector4Dcolors
QList< QVector4Djoints
QList< QVector4Dweights
QList< unsigned int > indexes
QQmlListProperty< ProceduralMeshSubsetsubsets
PrimitiveMode primitiveMode
Properties inherited from QQuick3DObject
QQuick3DObjectparent
 \qmlproperty Object3D QtQuick3D::Object3D::parent This property holds the parent of the Object3D in a 3D scene.
Properties inherited from QObject
QString objectName
 the name of this object

Additional Inherited Members

Public Slots inherited from QQuick3DObject
void update ()
void setParentItem (QQuick3DObject *parentItem)
Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
Static Public Member Functions inherited from QObject
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)
Public Attributes inherited from QQuick3DGeometry
int count
int const QVector3DboundsMin
 Returns the minimum coordinate of the bounding volume.
int const QVector3D const QVector3DboundsMax
 Returns the maximum coordinate of the bounding volume.
int const QVector3D const QVector3D const QStringname = {})
const QByteArraydata
Attribute::Semantic semantic
Attribute::Semantic int offset
Attribute::Semantic int int stride = 0)
 Returns the byte stride of the vertex buffer.
Protected Member Functions inherited from QQuick3DGeometry
QSSGRenderGraphObjectupdateSpatialNode (QSSGRenderGraphObject *node) override
void markAllDirty () override
Protected Member Functions inherited from QQuick3DObject
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 ()
Protected Member Functions inherited from QObject
QObjectsender () 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)
Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr

Detailed Description

Definition at line 55 of file proceduralmesh_p.h.

Member Enumeration Documentation

◆ PrimitiveMode

Enumerator
Points 
LineStrip 
Lines 
TriangleStrip 
TriangleFan 
Triangles 

Definition at line 73 of file proceduralmesh_p.h.

Constructor & Destructor Documentation

◆ ProceduralMesh()

QT_BEGIN_NAMESPACE ProceduralMesh::ProceduralMesh ( )

\qmlproperty List<QVector3D> ProceduralMesh::positions The positions attribute list.

\qmltype ProceduralMesh
\inqmlmodule QtQuick3D.Helpers
\inherits Geometry
\brief Allows creation of Geometry from QML.
\since 6.6

ProceduralMesh is a helper type that allows creation of Geometry instances
from QML. The Geometry component is Abstract, and is usually created
from C++.

\qml
component TorusMesh : ProceduralMesh {
    property real rings: 50
    property real segments: 50
    property real radius: 100.0
    property real tubeRadius: 10.0
    property var meshArrays: generateTorus(rings, segments, radius, tubeRadius)
    positions: meshArrays.verts
    normals: meshArrays.normals
    uv0s: meshArrays.uvs
    indexes: meshArrays.indices

    function generateTorus(rings: real, segments: real, radius: real, tubeRadius: real) {
        let verts = []
        let normals = []
        let uvs = []
        let indices = []

        for (let i = 0; i <= rings; ++i) {
            for (let j = 0; j <= segments; ++j) {
                let u = i / rings * Math.PI * 2;
                let v = j / segments * Math.PI * 2;

                let centerX = radius * Math.cos(u);
                let centerZ = radius * Math.sin(u);

                let posX = centerX + tubeRadius * Math.cos(v) * Math.cos(u);
                let posY = tubeRadius * Math.sin(v);
                let posZ = centerZ + tubeRadius * Math.cos(v) * Math.sin(u);

                verts.push(Qt.vector3d(posX, posY, posZ));

                let normal = Qt.vector3d(posX - centerX, posY, posZ - centerZ).normalized();
                normals.push(normal);

                uvs.push(Qt.vector2d(i / rings, j / segments));
            }
        }

        for (let i = 0; i < rings; ++i) {
            for (let j = 0; j < segments; ++j) {
                let a = (segments + 1) * i + j;
                let b = (segments + 1) * (i + 1) + j;
                let c = (segments + 1) * (i + 1) + j + 1;
                let d = (segments + 1) * i + j + 1;

Generate two triangles for each quad in the mesh Adjust order to be counter-clockwise indices.push(a, d, b); indices.push(b, d, c); } } return { verts: verts, normals: normals, uvs: uvs, indices: indices } } } \endqml

The above code defines a component TorusMesh that can be used as Geometry for use with a Model component. When the ring, segments, radius or tubeRadius properties are modified the geometry will be updated.

The ProceduralMesh component is not as flexible nor as performant as creating Geometry in C++, but makes up for it in convenience and simplicity. The properties are fixed attribute lists that when filled will automatically generate the necessary buffers.

If this list remains empty nothing no geometry will be generated.

\qmlproperty List<QVector3D> ProceduralMesh::normals Holds the normals attribute list.

\qmlproperty List<QVector3D> ProceduralMesh::tangents Holds the tangents attribute list.

\qmlproperty List<QVector3D> ProceduralMesh::binormals Holds the binormals attribute list.

\qmlproperty List<QVector2D> ProceduralMesh::uv0s This property defines a list of uv coordinates for the first uv channel (uv0)

\qmlproperty List<QVector2D> ProceduralMesh::uv1s This property defines a list of uv coordinates for the second uv channel (uv1)

\qmlproperty List<QVector4D> ProceduralMesh::colors This property defines a list of vertex color values.

\qmlproperty List<QVector4D> ProceduralMesh::joints This property defines a list of joint indices for skinning.

\qmlproperty List<QVector4D> ProceduralMesh::weights This property defines a list of joint weights for skinning.

\qmlproperty List<int> ProceduralMesh::indexes This property defines a list of indexes into the attribute lists. If this list remains empty the vertex buffer values will be used directly.

\qmlproperty enumeration ProceduralMesh::primitiveMode

This property defines the primitive mode to use when rendering the geometry.

\value ProceduralMesh.Points The points primitive mode is used. \value ProceduralMesh.LineStrip The line strip primitive mode is used. \value ProceduralMesh.Lines The lines primitive mode is used. \value ProceduralMesh.TriangleStrip The triangles strip primitive mode is used. \value ProceduralMesh.TriangleFan The triangle fan primitive mode is used. \value ProceduralMesh.Triangles The triangles primitive mode is used. \default ProceduralMesh.Triangles

Note
Not all modes are supported on all rendering backends.

\qmlproperty List<ProceduralMeshSubset> ProceduralMesh::subsets

This property defines a list of subsets to split the geometry data into. Each subset can have it's own material. The order of this array corresponds to the materials list of Model when using this geometry.

This property is optional and when empty results in a single subset.

Note
Any subset that specifies values outside of the range of available vertex/index values will lead to that subset being ignored.

\qmltype ProceduralMeshSubset \inqmlmodule QtQuick3D.Helpers \inherits QtObject

Defines a subset of a ProceduralMesh.

Since
6.6

This type defines a subset of a ProceduralMesh. Each subset can have it's own material and can be used to split the geometry into multiple draw calls.

See also
ProceduralMesh::subsets

\qmlproperty int ProceduralMeshSubset::offset This property defines the starting index for this subset. \default 0

\qmlproperty int ProceduralMeshSubset::count This property defines the number of indices to use for this subset. This property must be set for the subset to have content.

\default 0

\qmlproperty Material ProceduralMeshSubset::name This property defines a name of the subset. This property is optional, and is only used to tag the subset for debugging purposes.

Definition at line 207 of file proceduralmesh.cpp.

Member Function Documentation

◆ binormals()

QList< QVector3D > ProceduralMesh::binormals ( ) const

Definition at line 582 of file proceduralmesh.cpp.

◆ binormalsChanged

void ProceduralMesh::binormalsChanged ( )
signal

◆ colors()

QList< QVector4D > ProceduralMesh::colors ( ) const

Definition at line 624 of file proceduralmesh.cpp.

◆ colorsChanged

void ProceduralMesh::colorsChanged ( )
signal

◆ indexes()

QList< unsigned int > ProceduralMesh::indexes ( ) const

Definition at line 540 of file proceduralmesh.cpp.

◆ indexesChanged

void ProceduralMesh::indexesChanged ( )
signal

◆ joints()

QList< QVector4D > ProceduralMesh::joints ( ) const

Definition at line 638 of file proceduralmesh.cpp.

◆ jointsChanged

void ProceduralMesh::jointsChanged ( )
signal

◆ normals()

QList< QVector3D > ProceduralMesh::normals ( ) const

Definition at line 554 of file proceduralmesh.cpp.

◆ normalsChanged

void ProceduralMesh::normalsChanged ( )
signal

◆ positions()

QList< QVector3D > ProceduralMesh::positions ( ) const

Definition at line 212 of file proceduralmesh.cpp.

◆ positionsChanged

void ProceduralMesh::positionsChanged ( )
signal

◆ primitiveMode()

ProceduralMesh::PrimitiveMode ProceduralMesh::primitiveMode ( ) const

Definition at line 226 of file proceduralmesh.cpp.

◆ primitiveModeChanged

void ProceduralMesh::primitiveModeChanged ( )
signal

◆ setBinormals()

void ProceduralMesh::setBinormals ( const QList< QVector3D > & newBinormals)

Definition at line 587 of file proceduralmesh.cpp.

◆ setColors()

void ProceduralMesh::setColors ( const QList< QVector4D > & newColors)

Definition at line 629 of file proceduralmesh.cpp.

◆ setIndexes()

void ProceduralMesh::setIndexes ( const QList< unsigned int > & newIndexes)

Definition at line 545 of file proceduralmesh.cpp.

◆ setJoints()

void ProceduralMesh::setJoints ( const QList< QVector4D > & newJoints)

Definition at line 643 of file proceduralmesh.cpp.

◆ setNormals()

void ProceduralMesh::setNormals ( const QList< QVector3D > & newNormals)

Definition at line 559 of file proceduralmesh.cpp.

◆ setPositions()

void ProceduralMesh::setPositions ( const QList< QVector3D > & newPositions)

Definition at line 217 of file proceduralmesh.cpp.

◆ setPrimitiveMode()

void ProceduralMesh::setPrimitiveMode ( PrimitiveMode newPrimitiveMode)

Definition at line 231 of file proceduralmesh.cpp.

◆ setTangents()

void ProceduralMesh::setTangents ( const QList< QVector3D > & newTangents)

Definition at line 573 of file proceduralmesh.cpp.

◆ setUv0s()

void ProceduralMesh::setUv0s ( const QList< QVector2D > & newUv0s)

Definition at line 601 of file proceduralmesh.cpp.

◆ setUv1s()

void ProceduralMesh::setUv1s ( const QList< QVector2D > & newUv1s)

Definition at line 615 of file proceduralmesh.cpp.

◆ setWeights()

void ProceduralMesh::setWeights ( const QList< QVector4D > & newWeights)

Definition at line 657 of file proceduralmesh.cpp.

◆ subsets()

QQmlListProperty< ProceduralMeshSubset > ProceduralMesh::subsets ( )

◆ tangents()

QList< QVector3D > ProceduralMesh::tangents ( ) const

Definition at line 568 of file proceduralmesh.cpp.

◆ tangentsChanged

void ProceduralMesh::tangentsChanged ( )
signal

◆ uv0s()

QList< QVector2D > ProceduralMesh::uv0s ( ) const

Definition at line 596 of file proceduralmesh.cpp.

◆ uv0sChanged

void ProceduralMesh::uv0sChanged ( )
signal

◆ uv1s()

QList< QVector2D > ProceduralMesh::uv1s ( ) const

Definition at line 610 of file proceduralmesh.cpp.

◆ uv1sChanged

void ProceduralMesh::uv1sChanged ( )
signal

◆ weights()

QList< QVector4D > ProceduralMesh::weights ( ) const

Definition at line 652 of file proceduralmesh.cpp.

◆ weightsChanged

void ProceduralMesh::weightsChanged ( )
signal

Property Documentation

◆ binormals

QList<QVector3D> ProceduralMesh::binormals
readwrite

Definition at line 61 of file proceduralmesh_p.h.

◆ colors

QList<QVector4D> ProceduralMesh::colors
readwrite

Definition at line 64 of file proceduralmesh_p.h.

◆ indexes

QList<unsigned int> ProceduralMesh::indexes
readwrite

Definition at line 67 of file proceduralmesh_p.h.

◆ joints

QList<QVector4D> ProceduralMesh::joints
readwrite

Definition at line 65 of file proceduralmesh_p.h.

◆ normals

QList<QVector3D> ProceduralMesh::normals
readwrite

Definition at line 59 of file proceduralmesh_p.h.

◆ positions

QList<QVector3D> ProceduralMesh::positions
readwrite

Definition at line 58 of file proceduralmesh_p.h.

◆ primitiveMode

PrimitiveMode ProceduralMesh::primitiveMode
readwrite

Definition at line 69 of file proceduralmesh_p.h.

◆ subsets

QQmlListProperty< ProceduralMeshSubset > ProceduralMesh::subsets
read

Definition at line 68 of file proceduralmesh_p.h.

◆ tangents

QList<QVector3D> ProceduralMesh::tangents
readwrite

Definition at line 60 of file proceduralmesh_p.h.

◆ uv0s

QList<QVector2D> ProceduralMesh::uv0s
readwrite

Definition at line 62 of file proceduralmesh_p.h.

◆ uv1s

QList<QVector2D> ProceduralMesh::uv1s
readwrite

Definition at line 63 of file proceduralmesh_p.h.

◆ weights

QList<QVector4D> ProceduralMesh::weights
readwrite

Definition at line 66 of file proceduralmesh_p.h.


The documentation for this class was generated from the following files: