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
QQuick3DModel Class Reference

#include <qquick3dmodel_p.h>

Inheritance diagram for QQuick3DModel:
Collaboration diagram for QQuick3DModel:

Public Slots

void setSource (const QUrl &source)
void setCastsShadows (bool castsShadows)
void setReceivesShadows (bool receivesShadows)
void setPickable (bool pickable)
void setGeometry (QQuick3DGeometry *geometry)
void setSkeleton (QQuick3DSkeleton *skeleton)
void setInverseBindPoses (const QList< QMatrix4x4 > &poses)
void setBounds (const QVector3D &min, const QVector3D &max)
void setInstancing (QQuick3DInstancing *instancing)
void setInstanceRoot (QQuick3DNode *instanceRoot)
void setDepthBias (float bias)
 Q_REVISION (6, 3) void setReceivesReflections(bool receivesReflections)
 Q_REVISION (6, 4) void setCastsReflections(bool castsReflections)
 Q_REVISION (6, 4) void setSkin(QQuick3DSkin *skin)
 Q_REVISION (6, 4) void setUsedInBakedLighting(bool enable)
 Q_REVISION (6, 4) void setLightmapBaseResolution(int resolution)
 Q_REVISION (6, 4) void setBakedLightmap(QQuick3DBakedLightmap *bakedLightmap)
 Q_REVISION (6, 5) void setInstancingLodMin(float minDistance)
 Q_REVISION (6, 5) void setInstancingLodMax(float maxDistance)
 Q_REVISION (6, 5) void setLevelOfDetailBias(float new LevelOfDetailBias)
Public Slots inherited from QQuick3DNode
void setX (float x)
void setY (float y)
void setZ (float z)
void setRotation (const QQuaternion &rotation)
void setEulerRotation (const QVector3D &eulerRotation)
void setPosition (const QVector3D &position)
void setScale (const QVector3D &scale)
void setPivot (const QVector3D &pivot)
void setLocalOpacity (float opacity)
void setVisible (bool visible)
void setStaticFlags (int staticFlags)
void setLayers (int newLayers)
Public Slots inherited from QQuick3DObject
void update ()
void setParentItem (QQuick3DObject *parentItem)
Public Slots inherited from QObject
void deleteLater ()
 \threadsafe

Signals

void sourceChanged ()
void castsShadowsChanged ()
void receivesShadowsChanged ()
void pickableChanged ()
void geometryChanged ()
void skeletonChanged ()
void inverseBindPosesChanged ()
void boundsChanged ()
void instancingChanged ()
void instanceRootChanged ()
void morphTargetsChanged ()
void depthBiasChanged ()
 Q_REVISION (6, 3) void receivesReflectionsChanged()
 Q_REVISION (6, 4) void castsReflectionsChanged()
 Q_REVISION (6, 4) void skinChanged()
 Q_REVISION (6, 4) void usedInBakedLightingChanged()
 Q_REVISION (6, 4) void lightmapBaseResolutionChanged()
 Q_REVISION (6, 4) void bakedLightmapChanged()
 Q_REVISION (6, 5) void instancingLodMinChanged()
 Q_REVISION (6, 5) void instancingLodMaxChanged()
 Q_REVISION (6, 5) void levelOfDetailBiasChanged()
 Q_REVISION (6, 10) void texelsPerUnitChanged()
Signals inherited from QQuick3DNode
void xChanged ()
void yChanged ()
void zChanged ()
void rotationChanged ()
void eulerRotationChanged ()
void positionChanged ()
void scaleChanged ()
void pivotChanged ()
void localOpacityChanged ()
void visibleChanged ()
void forwardChanged ()
void upChanged ()
void rightChanged ()
void sceneTransformChanged ()
void scenePositionChanged ()
void sceneRotationChanged ()
void sceneScaleChanged ()
void staticFlagsChanged ()
void layersChanged ()
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

 QQuick3DModel (QQuick3DNode *parent=nullptr)
 \qmltype Model \inherits Node \inqmlmodule QtQuick3D
 ~QQuick3DModel () override
QUrl source () const
 \qmlproperty url Model::source
bool castsShadows () const
 \qmlproperty bool Model::castsShadows
bool receivesShadows () const
 \qmlproperty bool Model::receivesShadows
bool pickable () const
 \qmlproperty bool Model::pickable
QQuick3DGeometrygeometry () const
 \qmlproperty Geometry Model::geometry
QQuick3DSkeletonskeleton () const
 \qmlproperty Skeleton Model::skeleton
QList< QMatrix4x4inverseBindPoses () const
 \qmlproperty List<matrix4x4> Model::inverseBindPoses
QQuick3DBounds3 bounds () const
 \qmlproperty Bounds Model::bounds
float depthBias () const
 \qmlproperty real Model::depthBias
QQmlListProperty< QQuick3DMaterialmaterials ()
QQmlListProperty< QQuick3DMorphTargetmorphTargets ()
QQuick3DInstancinginstancing () const
 \qmlproperty QtQuick3D::Instancing Model::instancing
QQuick3DNodeinstanceRoot () const
 \qmlproperty QtQuick3D::Node Model::instanceRoot
 Q_REVISION (6, 3) bool receivesReflections() const
 Q_REVISION (6, 4) bool castsReflections() const
 Q_REVISION (6, 4) QQuick3DSkin *skin() const
 Q_REVISION (6, 4) bool isUsedInBakedLighting() const
 Q_REVISION (6, 4) int lightmapBaseResolution() const
 Q_REVISION (6, 4) QQuick3DBakedLightmap *bakedLightmap() const
 Q_REVISION (6, 5) float instancingLodMin() const
 Q_REVISION (6, 5) float instancingLodMax() const
 Q_REVISION (6, 5) float levelOfDetailBias() const
 Q_REVISION (6, 10) float texelsPerUnit() const
 Q_REVISION (6, 10) void setTexelsPerUnit(float new TexelsPerUnit)
Public Member Functions inherited from QQuick3DNode
 QQuick3DNode (QQuick3DNode *parent=nullptr)
 \qmltype Node \inherits Object3D \inqmlmodule QtQuick3D
 ~QQuick3DNode () override
float x () const
 \qmlproperty real QtQuick3D::Node::x
float y () const
 \qmlproperty real QtQuick3D::Node::y
float z () const
 \qmlproperty real QtQuick3D::Node::z
QQuaternion rotation () const
 \qmlproperty quaternion QtQuick3D::Node::rotation
QVector3D eulerRotation () const
 \qmlproperty vector3d QtQuick3D::Node::eulerRotation
QVector3D position () const
 \qmlproperty vector3d QtQuick3D::Node::position
QVector3D scale () const
 \qmlproperty vector3d QtQuick3D::Node::scale
QVector3D pivot () const
 \qmlproperty vector3d QtQuick3D::Node::pivot
float localOpacity () const
 \qmlproperty real QtQuick3D::Node::opacity
bool visible () const
 \qmlproperty bool QtQuick3D::Node::visible
int staticFlags () const
 \qmlproperty int QtQuick3D::Node::staticFlags
QQuick3DNodeparentNode () const
QVector3D forward () const
 \qmlproperty vector3d QtQuick3D::Node::forward \readonly
QVector3D up () const
 \qmlproperty vector3d QtQuick3D::Node::up \readonly
QVector3D right () const
 \qmlproperty vector3d QtQuick3D::Node::right \readonly
QVector3D scenePosition () const
 \qmlproperty vector3d QtQuick3D::Node::scenePosition \readonly
QQuaternion sceneRotation () const
 \qmlproperty quaternion QtQuick3D::Node::sceneRotation \readonly
QVector3D sceneScale () const
 \qmlproperty vector3d QtQuick3D::Node::sceneScale \readonly
QMatrix4x4 sceneTransform () const
 \qmlproperty matrix4x4 QtQuick3D::Node::sceneTransform \readonly
Q_INVOKABLE void rotate (qreal degrees, const QVector3D &axis, QQuick3DNode::TransformSpace space)
 \qmlmethod QtQuick3D::Node::rotate(real degrees, vector3d axis, enumeration space)
Q_INVOKABLE QVector3D mapPositionToScene (const QVector3D &localPosition) const
 \qmlmethod vector3d QtQuick3D::Node::mapPositionToScene(vector3d localPosition)
Q_INVOKABLE QVector3D mapPositionFromScene (const QVector3D &scenePosition) const
 \qmlmethod vector3d QtQuick3D::Node::mapPositionFromScene(vector3d scenePosition)
Q_INVOKABLE QVector3D mapPositionToNode (const QQuick3DNode *node, const QVector3D &localPosition) const
 \qmlmethod vector3d QtQuick3D::Node::mapPositionToNode(QtQuick3D::Node node, vector3d localPosition)
Q_INVOKABLE QVector3D mapPositionFromNode (const QQuick3DNode *node, const QVector3D &localPosition) const
 \qmlmethod vector3d QtQuick3D::Node::mapPositionFromNode(QtQuick3D::Node node, vector3d localPosition)
Q_INVOKABLE QVector3D mapDirectionToScene (const QVector3D &localDirection) const
 \qmlmethod vector3d QtQuick3D::Node::mapDirectionToScene(vector3d localDirection)
Q_INVOKABLE QVector3D mapDirectionFromScene (const QVector3D &sceneDirection) const
 \qmlmethod vector3d QtQuick3D::Node::mapDirectionFromScene(vector3d sceneDirection)
Q_INVOKABLE QVector3D mapDirectionToNode (const QQuick3DNode *node, const QVector3D &localDirection) const
 \qmlmethod vector3d QtQuick3D::Node::mapDirectionToNode(QtQuick3D::Node node, vector3d localDirection)
Q_INVOKABLE QVector3D mapDirectionFromNode (const QQuick3DNode *node, const QVector3D &localDirection) const
 \qmlmethod vector3d QtQuick3D::Node::mapDirectionFromNode(QtQuick3D::Node node, vector3d localDirection)
void markAllDirty () override
int layers () const
 \qmlproperty int QtQuick3D::Node::layers
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 ()

Static Public Member Functions

static QString translateMeshSource (const QUrl &source, QObject *contextObject)
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)

Protected Member Functions

QSSGRenderGraphObjectupdateSpatialNode (QSSGRenderGraphObject *node) override
void markAllDirty () override
void itemChange (ItemChange, const ItemChangeData &) override
Protected Member Functions inherited from QQuick3DNode
void connectNotify (const QMetaMethod &signal) override
void disconnectNotify (const QMetaMethod &signal) override
void componentComplete () override
 Invoked after the root component that caused this instantiation has completed construction.
 QQuick3DNode (QQuick3DNodePrivate &dd, QQuick3DNode *parent=nullptr)
QSSGRenderGraphObjectupdateSpatialNode (QSSGRenderGraphObject *node) override
Protected Member Functions inherited from QQuick3DObject
 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.
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)

Properties

QUrl source
bool castsShadows
bool receivesShadows
QQmlListProperty< QQuick3DMaterialmaterials
 \qmlproperty List<QtQuick3D::Material> Model::materials
QQmlListProperty< QQuick3DMorphTargetmorphTargets
 \qmlproperty List<QtQuick3D::MorphTarget> Model::morphTargets
bool pickable
QQuick3DGeometrygeometry
QQuick3DInstancinginstancing
QQuick3DNodeinstanceRoot
QQuick3DSkeletonskeleton
QQuick3DSkinskin
 \qmlproperty Skin Model::skin
QList< QMatrix4x4inverseBindPoses
QQuick3DBounds3 bounds
float depthBias
bool receivesReflections
 \qmlproperty bool Model::receivesReflections
bool castsReflections
 \qmlproperty bool Model::castsReflections
bool usedInBakedLighting
int lightmapBaseResolution
 \qmlproperty int Model::lightmapBaseResolution
QQuick3DBakedLightmapbakedLightmap
 \qmlproperty BakedLightmap Model::bakedLightmap
float instancingLodMin
 \qmlproperty real Model::instancingLodMin
float instancingLodMax
 \qmlproperty real Model::instancingLodMax
float levelOfDetailBias
 \qmlproperty real Model::levelOfDetailBias
float texelsPerUnit
 \qmlproperty real Model::texelsPerUnit
Properties inherited from QQuick3DNode
float x
float y
float z
QQuaternion rotation
QVector3D eulerRotation
QVector3D position
QVector3D scale
QVector3D pivot
float opacity
bool visible
QVector3D forward
QVector3D up
QVector3D right
QVector3D scenePosition
QQuaternion sceneRotation
QVector3D sceneScale
QMatrix4x4 sceneTransform
int staticFlags
int layers
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 Types inherited from QQuick3DNode
enum  TransformSpace { LocalSpace , ParentSpace , SceneSpace }
enum  StaticFlags { None }
Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr

Detailed Description

Definition at line 60 of file qquick3dmodel_p.h.

Constructor & Destructor Documentation

◆ QQuick3DModel()

QT_BEGIN_NAMESPACE QQuick3DModel::QQuick3DModel ( QQuick3DNode * parent = nullptr)
explicit

\qmltype Model \inherits Node \inqmlmodule QtQuick3D

Lets you load a 3D model data.

The Model item makes it possible to load a mesh and modify how its shaded, by adding materials to it. For a model to be renderable, it needs at least a mesh and a material.

Definition at line 140 of file qquick3dmodel.cpp.

◆ ~QQuick3DModel()

QQuick3DModel::~QQuick3DModel ( )
override

Definition at line 143 of file qquick3dmodel.cpp.

Member Function Documentation

◆ bounds()

QQuick3DBounds3 QQuick3DModel::bounds ( ) const

\qmlproperty Bounds Model::bounds

The bounds of the model descibes the extents of the bounding volume around the model.

Note
The bounds might not be immediately available if the model needs to be loaded first.

\readonly

Definition at line 397 of file qquick3dmodel.cpp.

◆ boundsChanged

void QQuick3DModel::boundsChanged ( )
signal

◆ castsShadows()

bool QQuick3DModel::castsShadows ( ) const

\qmlproperty bool Model::castsShadows

When this property is true, the geometry of this model is used when rendering to the shadow maps, and is also generating shadows in baked lighting.

The default value is true.

Definition at line 284 of file qquick3dmodel.cpp.

◆ castsShadowsChanged

void QQuick3DModel::castsShadowsChanged ( )
signal

◆ depthBias()

float QQuick3DModel::depthBias ( ) const

\qmlproperty real Model::depthBias

Holds the depth bias of the model. Depth bias is added to the object distance from camera when sorting objects. This can be used to force rendering order between objects close to each other, that might otherwise be rendered in different order in different frames. Negative values cause the sorting value to move closer to the camera while positive values move it further from the camera.

Definition at line 410 of file qquick3dmodel.cpp.

◆ depthBiasChanged

void QQuick3DModel::depthBiasChanged ( )
signal

◆ geometry()

QQuick3DGeometry * QQuick3DModel::geometry ( ) const

\qmlproperty Geometry Model::geometry

Specify a custom geometry for the model. The Model::source must be empty when custom geometry is used.

Definition at line 327 of file qquick3dmodel.cpp.

◆ geometryChanged

void QQuick3DModel::geometryChanged ( )
signal

◆ instanceRoot()

QQuick3DNode * QQuick3DModel::instanceRoot ( ) const

\qmlproperty QtQuick3D::Node Model::instanceRoot

This property defines the origin of the instance’s coordinate system.

See the \l{Transforms and instancing}{overview documentation} for a detailed explanation.

See also
instancing, Instancing

Definition at line 240 of file qquick3dmodel.cpp.

◆ instanceRootChanged

void QQuick3DModel::instanceRootChanged ( )
signal

◆ instancing()

QQuick3DInstancing * QQuick3DModel::instancing ( ) const

\qmlproperty QtQuick3D::Instancing Model::instancing

If this property is set, the model will not be rendered normally. Instead, a number of instances of the model will be rendered, as defined by the instance table.

See also
Instancing

Definition at line 226 of file qquick3dmodel.cpp.

◆ instancingChanged

void QQuick3DModel::instancingChanged ( )
signal

◆ inverseBindPoses()

QList< QMatrix4x4 > QQuick3DModel::inverseBindPoses ( ) const

\qmlproperty List<matrix4x4> Model::inverseBindPoses

This property contains a list of Inverse Bind Pose matrixes used for the skeletal animation. Each inverseBindPose matrix means the inverse of the global transform of the repective \l {Joint::index} in \l {skeleton}, which will be used initially.

Note
This property is only used if the Model::skeleton is valid.
If some of the matrices are not set, identity values will be used.
See also
{skeleton} {Joint::index}

Definition at line 383 of file qquick3dmodel.cpp.

◆ inverseBindPosesChanged

void QQuick3DModel::inverseBindPosesChanged ( )
signal

◆ itemChange()

void QQuick3DModel::itemChange ( ItemChange change,
const ItemChangeData & value )
overrideprotectedvirtual

Reimplemented from QQuick3DNode.

Definition at line 755 of file qquick3dmodel.cpp.

◆ markAllDirty()

void QQuick3DModel::markAllDirty ( )
overrideprotectedvirtual

Reimplemented from QQuick3DObject.

Definition at line 268 of file qquick3dmodel.cpp.

◆ materials()

QQmlListProperty< QQuick3DMaterial > QQuick3DModel::materials ( )

◆ morphTargets()

QQmlListProperty< QQuick3DMorphTarget > QQuick3DModel::morphTargets ( )

◆ morphTargetsChanged

void QQuick3DModel::morphTargetsChanged ( )
signal

◆ pickable()

bool QQuick3DModel::pickable ( ) const

\qmlproperty bool Model::pickable

This property controls whether the model is pickable or not. Set this property to true to make the model pickable. Models are not pickable by default.

See also
{View3D::pick}

Definition at line 315 of file qquick3dmodel.cpp.

◆ pickableChanged

void QQuick3DModel::pickableChanged ( )
signal

◆ Q_REVISION() [1/30]

QQuick3DModel::Q_REVISION ( 6 ,
10  ) const

◆ Q_REVISION() [2/30]

QQuick3DModel::Q_REVISION ( 6 ,
10  )
new

◆ Q_REVISION [3/30]

QQuick3DModel::Q_REVISION ( 6 ,
10  )
signal

◆ Q_REVISION() [4/30]

QQuick3DModel::Q_REVISION ( 6 ,
3  ) const

◆ Q_REVISION [5/30]

QQuick3DModel::Q_REVISION ( 6 ,
3  )
signal

◆ Q_REVISION [6/30]

QQuick3DModel::Q_REVISION ( 6 ,
3  )
slot

◆ Q_REVISION() [7/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION() [8/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION() [9/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION() [10/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION() [11/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION [12/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION [13/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION [14/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION [15/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [16/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [17/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [18/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [19/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [20/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION [21/30]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION() [22/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  ) const

◆ Q_REVISION() [23/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  ) const

◆ Q_REVISION() [24/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  ) const

◆ Q_REVISION [25/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
signal

◆ Q_REVISION [26/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
signal

◆ Q_REVISION [27/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
signal

◆ Q_REVISION [28/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
slot

◆ Q_REVISION [29/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
slot

◆ Q_REVISION [30/30]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
newslot

◆ receivesShadows()

bool QQuick3DModel::receivesShadows ( ) const

\qmlproperty bool Model::receivesShadows

When this property is set to true, the model's materials take shadow contribution from shadow casting lights into account.

Note
When lightmapping is enabled for this model, fully baked lights with Light::bakeMode set to Light.BakeModeAll will always generate (baked) shadows on the model, regardless of the value of this property.

The default value is true.

Definition at line 302 of file qquick3dmodel.cpp.

◆ receivesShadowsChanged

void QQuick3DModel::receivesShadowsChanged ( )
signal

◆ setBounds

void QQuick3DModel::setBounds ( const QVector3D & min,
const QVector3D & max )
slot

Definition at line 639 of file qquick3dmodel.cpp.

◆ setCastsShadows

void QQuick3DModel::setCastsShadows ( bool castsShadows)
slot

Definition at line 549 of file qquick3dmodel.cpp.

◆ setDepthBias

void QQuick3DModel::setDepthBias ( float bias)
slot

Definition at line 679 of file qquick3dmodel.cpp.

◆ setGeometry

void QQuick3DModel::setGeometry ( QQuick3DGeometry * geometry)
slot

Definition at line 579 of file qquick3dmodel.cpp.

◆ setInstanceRoot

void QQuick3DModel::setInstanceRoot ( QQuick3DNode * instanceRoot)
slot

Definition at line 667 of file qquick3dmodel.cpp.

◆ setInstancing

void QQuick3DModel::setInstancing ( QQuick3DInstancing * instancing)
slot

Definition at line 648 of file qquick3dmodel.cpp.

◆ setInverseBindPoses

void QQuick3DModel::setInverseBindPoses ( const QList< QMatrix4x4 > & poses)
slot

Definition at line 628 of file qquick3dmodel.cpp.

◆ setPickable

void QQuick3DModel::setPickable ( bool pickable)
slot

Definition at line 569 of file qquick3dmodel.cpp.

◆ setReceivesShadows

void QQuick3DModel::setReceivesShadows ( bool receivesShadows)
slot

Definition at line 559 of file qquick3dmodel.cpp.

◆ setSkeleton

void QQuick3DModel::setSkeleton ( QQuick3DSkeleton * skeleton)
slot

Definition at line 601 of file qquick3dmodel.cpp.

◆ setSource

void QQuick3DModel::setSource ( const QUrl & source)
slot

Definition at line 537 of file qquick3dmodel.cpp.

◆ skeleton()

QQuick3DSkeleton * QQuick3DModel::skeleton ( ) const

\qmlproperty Skeleton Model::skeleton

Contains the skeleton for the model. The Skeleton is used together with \l {inverseBindPoses} for \l {Vertex Skinning}{skinning}.

Note
Meshes of the model must have both joints and weights attributes.
If this property is set, skinning animation is enabled. It means that \l {Model} is transformed based on \l {Skeleton} ignoring Model's global transformation.
See also
{Model::inverseBindPoses}, {Qt Quick 3D - Simple Skinning Example}

Definition at line 345 of file qquick3dmodel.cpp.

◆ skeletonChanged

void QQuick3DModel::skeletonChanged ( )
signal

◆ source()

QUrl QQuick3DModel::source ( ) const

\qmlproperty url Model::source

This property defines the location of the mesh file containing the geometry of this Model or one of the built-in primitive meshes listed below as described in \l {Mesh format and built-in primitives}.

\list

  • "#Rectangle"
  • "#Sphere"
  • "#Cube"
  • "#Cone"
  • "#Cylinder" \endlist

Definition at line 169 of file qquick3dmodel.cpp.

◆ sourceChanged

void QQuick3DModel::sourceChanged ( )
signal

◆ translateMeshSource()

QString QQuick3DModel::translateMeshSource ( const QUrl & source,
QObject * contextObject )
static

Definition at line 249 of file qquick3dmodel.cpp.

◆ updateSpatialNode()

QSSGRenderGraphObject * QQuick3DModel::updateSpatialNode ( QSSGRenderGraphObject * node)
overrideprotectedvirtual

Reimplemented from QQuick3DObject.

Definition at line 761 of file qquick3dmodel.cpp.

Property Documentation

◆ bakedLightmap

QQuick3DBakedLightmap * QQuick3DModel::bakedLightmap
readwrite

\qmlproperty BakedLightmap Model::bakedLightmap

When this property is set to a valid, enabled BakedLightmap object, the model will get a lightmap generated when baking lighting, the lightmap is then stored persistently. When rendering, the model will load and use the associated lightmap. The default value is null.

Note
When the intention is to generate a persistently stored lightmap for a Model, both bakedLightmap and \l usedInBakedLighting must be set on it, in order to indicate that the Model not only participates in the lightmapped scene, but also wants a full lightmap to be baked and stored.

For more information on how to bake lightmaps, see the \l Lightmapper documentation.

This property is relevant both when baking and when using lightmaps. A consistent state between the baking run and the subsequent runs that use the generated data is essential. For example, changing the lightmap key will make it impossible to load the previously generated data. An exception is \l {BakedLightmap::}{enabled}, which can be used to dynamically toggle the usage of lightmaps (outside of the baking run), but be aware that the rendered results will depend on the Lights' \l{Light::bakeMode}{bakeMode} settings in the scene.

See also
usedInBakedLighting, Lightmapper

Definition at line 81 of file qquick3dmodel_p.h.

◆ bounds

QQuick3DBounds3 QQuick3DModel::bounds
read

Definition at line 75 of file qquick3dmodel_p.h.

◆ castsReflections

bool QQuick3DModel::castsReflections
readwrite

\qmlproperty bool Model::castsReflections

Since
6.4

When this property is set to true, the model is rendered by reflection probes and can be seen in the reflections.

Definition at line 78 of file qquick3dmodel_p.h.

◆ castsShadows

bool QQuick3DModel::castsShadows
readwrite

Definition at line 64 of file qquick3dmodel_p.h.

◆ depthBias

float QQuick3DModel::depthBias
readwrite

Definition at line 76 of file qquick3dmodel_p.h.

◆ geometry

QQuick3DGeometry * QQuick3DModel::geometry
readwrite

Definition at line 69 of file qquick3dmodel_p.h.

◆ instanceRoot

QQuick3DNode * QQuick3DModel::instanceRoot
readwrite

Definition at line 71 of file qquick3dmodel_p.h.

◆ instancing

QQuick3DInstancing * QQuick3DModel::instancing
readwrite

Definition at line 70 of file qquick3dmodel_p.h.

◆ instancingLodMax

float QQuick3DModel::instancingLodMax
readwrite

\qmlproperty real Model::instancingLodMax

Defines the maximum distance from camera that an instance of this model is shown. Used for a level of detail implementation.

Definition at line 83 of file qquick3dmodel_p.h.

◆ instancingLodMin

float QQuick3DModel::instancingLodMin
readwrite

\qmlproperty real Model::instancingLodMin

Defines the minimum distance from camera that an instance of this model is shown. Used for a level of detail implementation.

Definition at line 82 of file qquick3dmodel_p.h.

◆ inverseBindPoses

QList<QMatrix4x4> QQuick3DModel::inverseBindPoses
readwrite

Definition at line 74 of file qquick3dmodel_p.h.

◆ levelOfDetailBias

float QQuick3DModel::levelOfDetailBias
readwrite

\qmlproperty real Model::levelOfDetailBias

Since
6.5

This property changes the size the model needs to be when rendered before the automatic level of detail meshes are used. Each generated level of detail mesh contains an ideal size value that each level should be shown, which is a ratio of how much of the rendered scene will be that mesh. A model that represents only a few pixels on screen will not require the full geometry to look correct, so a lower level of detail mesh will be used instead in this case. This value is a bias to the ideal value such that a value smaller than 1.0 will require an even smaller rendered size before switching to a lesser level of detail. Values above 1.0 will lead to lower levels of detail being used sooner. A value of 0.0 will disable the usage of levels of detail completely.

The default value is 1.0

Note
This property will only have an effect when the Model's geometry contains levels of detail.
See also
Camera::levelOfDetailBias

Definition at line 84 of file qquick3dmodel_p.h.

◆ lightmapBaseResolution

int QQuick3DModel::lightmapBaseResolution
readwrite

\qmlproperty int Model::lightmapBaseResolution

Deprecated
[6.10] This has no effect. Use Model::texelsPerUnit instead.
Deprecated
[6.10] This has no effect. Use Model::texelsPerUnit instead.

Definition at line 80 of file qquick3dmodel_p.h.

◆ materials

QQmlListProperty< QQuick3DMaterial > QQuick3DModel::materials
read

\qmlproperty List<QtQuick3D::Material> Model::materials

This property contains a list of materials used to render the provided geometry. To render anything, there must be at least one material. Normally there should be one material for each sub-mesh included in the source geometry.

See also
{Qt Quick 3D - Sub-mesh Example}

Definition at line 66 of file qquick3dmodel_p.h.

◆ morphTargets

QQmlListProperty< QQuick3DMorphTarget > QQuick3DModel::morphTargets
read

\qmlproperty List<QtQuick3D::MorphTarget> Model::morphTargets

This property contains a list of \l [QtQuick3D QML] {MorphTarget}{MorphTarget}s used to render the provided geometry. Meshes should have at least one attribute among positions, normals, tangents, binormals, texture coordinates, and vertex colors for the morph targets.

See also
{MorphTarget}

Definition at line 67 of file qquick3dmodel_p.h.

◆ pickable

bool QQuick3DModel::pickable
readwrite

Definition at line 68 of file qquick3dmodel_p.h.

◆ receivesReflections

bool QQuick3DModel::receivesReflections
readwrite

\qmlproperty bool Model::receivesReflections

When this property is set to true, the model's materials take reflections contribution from a reflection probe. If the model is inside more than one reflection probe at the same time, the nearest reflection probe is taken into account.

Definition at line 77 of file qquick3dmodel_p.h.

◆ receivesShadows

bool QQuick3DModel::receivesShadows
readwrite

Definition at line 65 of file qquick3dmodel_p.h.

◆ skeleton

QQuick3DSkeleton * QQuick3DModel::skeleton
readwrite

Definition at line 72 of file qquick3dmodel_p.h.

◆ skin

QQuick3DSkin * QQuick3DModel::skin
readwrite

\qmlproperty Skin Model::skin

Contains the skeleton for the model. The Skeleton is used for \l {Vertex Skinning}{skinning}.

Note
Meshes of the model must have both joints and weights attributes.
If this property is set, skinning animation is enabled. This means the \l {Model} will be transformed based on \l {Skin::joints} and the Model's global transformation will be ignored.
If a model has both a skeleton and a skin, then the skin will be used.
See also
{Model::skeleton} {Qt Quick 3D - Simple Skinning Example}

Definition at line 73 of file qquick3dmodel_p.h.

◆ source

QUrl QQuick3DModel::source
readwrite

Definition at line 63 of file qquick3dmodel_p.h.

◆ texelsPerUnit

float QQuick3DModel::texelsPerUnit
readwrite

\qmlproperty real Model::texelsPerUnit

Since
6.10 \default 0.0

A value greater than zero means this value will override the SceneEnvironment::texelsPerUnit value for this specific model during lightmap baking.

See also
SceneEnvironment::texelsPerUnit

Definition at line 85 of file qquick3dmodel_p.h.

◆ usedInBakedLighting

bool QQuick3DModel::usedInBakedLighting
readwrite

Definition at line 79 of file qquick3dmodel_p.h.


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