Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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)
 
- 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()
 
- 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 ()
 
- 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
 
- 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
 
- 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 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
 
- 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
 
- 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 108 of file qquick3dmodel.cpp.

◆ ~QQuick3DModel()

QQuick3DModel::~QQuick3DModel ( )
override

Definition at line 111 of file qquick3dmodel.cpp.

References disconnect(), materials, and morphTargets.

+ Here is the call graph for this function:

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 365 of file qquick3dmodel.cpp.

◆ boundsChanged

void QQuick3DModel::boundsChanged ( )
signal

Referenced by setBounds().

+ Here is the caller graph for this function:

◆ 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 252 of file qquick3dmodel.cpp.

◆ castsShadowsChanged

void QQuick3DModel::castsShadowsChanged ( )
signal

Referenced by setCastsShadows().

+ Here is the caller graph for this function:

◆ 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 378 of file qquick3dmodel.cpp.

◆ depthBiasChanged

void QQuick3DModel::depthBiasChanged ( )
signal

Referenced by setDepthBias().

+ Here is the caller graph for this function:

◆ 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 295 of file qquick3dmodel.cpp.

◆ geometryChanged

void QQuick3DModel::geometryChanged ( )
signal

Referenced by setGeometry().

+ Here is the caller graph for this function:

◆ 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 208 of file qquick3dmodel.cpp.

◆ instanceRootChanged

void QQuick3DModel::instanceRootChanged ( )
signal

Referenced by setInstanceRoot().

+ Here is the caller graph for this function:

◆ 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 194 of file qquick3dmodel.cpp.

◆ instancingChanged

void QQuick3DModel::instancingChanged ( )
signal

Referenced by setInstancing().

+ Here is the caller graph for this function:

◆ 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 351 of file qquick3dmodel.cpp.

◆ inverseBindPosesChanged

void QQuick3DModel::inverseBindPosesChanged ( )
signal

Referenced by setInverseBindPoses().

+ Here is the caller graph for this function:

◆ itemChange()

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

Reimplemented from QQuick3DNode.

Definition at line 748 of file qquick3dmodel.cpp.

◆ markAllDirty()

void QQuick3DModel::markAllDirty ( )
overrideprotectedvirtual

Reimplemented from QQuick3DObject.

Definition at line 236 of file qquick3dmodel.cpp.

References QQuick3DNode::markAllDirty().

Referenced by updateSpatialNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ 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 283 of file qquick3dmodel.cpp.

◆ pickableChanged

void QQuick3DModel::pickableChanged ( )
signal

Referenced by setPickable().

+ Here is the caller graph for this function:

◆ Q_REVISION() [1/27]

QQuick3DModel::Q_REVISION ( 6 ,
3  ) const

◆ Q_REVISION [2/27]

QQuick3DModel::Q_REVISION ( 6 ,
3  )
signal

◆ Q_REVISION [3/27]

QQuick3DModel::Q_REVISION ( 6 ,
3  )
slot

◆ Q_REVISION() [4/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION() [5/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION() [6/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION() [7/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION() [8/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  ) const

◆ Q_REVISION [9/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION [10/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION [11/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION [12/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [13/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [14/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [15/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [16/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
slot

◆ Q_REVISION [17/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION [18/27]

QQuick3DModel::Q_REVISION ( 6 ,
4  )
signal

◆ Q_REVISION() [19/27]

QQuick3DModel::Q_REVISION ( 6 ,
5  ) const

◆ Q_REVISION() [20/27]

QQuick3DModel::Q_REVISION ( 6 ,
5  ) const

◆ Q_REVISION() [21/27]

QQuick3DModel::Q_REVISION ( 6 ,
5  ) const

◆ Q_REVISION [22/27]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
signal

◆ Q_REVISION [23/27]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
signal

◆ Q_REVISION [24/27]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
signal

◆ Q_REVISION [25/27]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
slot

◆ Q_REVISION [26/27]

QQuick3DModel::Q_REVISION ( 6 ,
5  )
slot

◆ Q_REVISION [27/27]

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 270 of file qquick3dmodel.cpp.

◆ receivesShadowsChanged

void QQuick3DModel::receivesShadowsChanged ( )
signal

Referenced by setReceivesShadows().

+ Here is the caller graph for this function:

◆ setBounds

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

Definition at line 634 of file qquick3dmodel.cpp.

References QQuick3DBounds3::bounds, boundsChanged(), emit, QQuick3DBounds3::maximum, QQuick3DBounds3::minimum, and qFuzzyCompare().

Referenced by updateSpatialNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCastsShadows

void QQuick3DModel::setCastsShadows ( bool castsShadows)
slot

Definition at line 544 of file qquick3dmodel.cpp.

References castsShadows, castsShadowsChanged(), and emit.

+ Here is the call graph for this function:

◆ setDepthBias

void QQuick3DModel::setDepthBias ( float bias)
slot

Definition at line 674 of file qquick3dmodel.cpp.

References depthBiasChanged(), emit, and qFuzzyCompare().

+ Here is the call graph for this function:

◆ setGeometry

void QQuick3DModel::setGeometry ( QQuick3DGeometry * geometry)
slot

Definition at line 574 of file qquick3dmodel.cpp.

References QQuick3DObjectPrivate::attachWatcher(), QObject::connect(), QObject::disconnect(), emit, geometry, geometryChanged(), QQuick3DGeometry::geometryNodeDirty(), and setGeometry().

Referenced by setGeometry().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setInstanceRoot

void QQuick3DModel::setInstanceRoot ( QQuick3DNode * instanceRoot)
slot

Definition at line 662 of file qquick3dmodel.cpp.

References QQuick3DObjectPrivate::attachWatcher(), emit, instanceRoot, instanceRootChanged(), and setInstanceRoot().

Referenced by setInstanceRoot().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setInstancing

void QQuick3DModel::setInstancing ( QQuick3DInstancing * instancing)
slot

Definition at line 643 of file qquick3dmodel.cpp.

References QQuick3DObjectPrivate::attachWatcher(), QObject::connect(), QObject::disconnect(), emit, QQuick3DInstancing::instanceNodeDirty(), instancing, instancingChanged(), and setInstancing().

Referenced by setInstancing().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setInverseBindPoses

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

Definition at line 623 of file qquick3dmodel.cpp.

References emit, and inverseBindPosesChanged().

+ Here is the call graph for this function:

◆ setPickable

void QQuick3DModel::setPickable ( bool pickable)
slot

Definition at line 564 of file qquick3dmodel.cpp.

References emit, and pickableChanged().

+ Here is the call graph for this function:

◆ setReceivesShadows

void QQuick3DModel::setReceivesShadows ( bool receivesShadows)
slot

Definition at line 554 of file qquick3dmodel.cpp.

References emit, receivesShadows, and receivesShadowsChanged().

+ Here is the call graph for this function:

◆ setSkeleton

void QQuick3DModel::setSkeleton ( QQuick3DSkeleton * skeleton)
slot

Definition at line 596 of file qquick3dmodel.cpp.

References QQuick3DObjectPrivate::attachWatcher(), emit, setSkeleton(), skeleton, and skeletonChanged().

Referenced by setSkeleton().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSource

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

Definition at line 532 of file qquick3dmodel.cpp.

References emit, QQuick3DObjectPrivate::get(), source, and sourceChanged().

Referenced by setModelProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ 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 313 of file qquick3dmodel.cpp.

◆ skeletonChanged

void QQuick3DModel::skeletonChanged ( )
signal

Referenced by setSkeleton().

+ Here is the caller graph for this function:

◆ 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 137 of file qquick3dmodel.cpp.

◆ sourceChanged

void QQuick3DModel::sourceChanged ( )
signal

Referenced by setSource().

+ Here is the caller graph for this function:

◆ translateMeshSource()

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

Definition at line 217 of file qquick3dmodel.cpp.

References context, isNumber(), qmlContext(), QStringLiteral, resolvedUrl(), source, and QQmlFile::urlToLocalFileOrQrc().

Referenced by updateSpatialNode(), and QQuick3DResourceLoader::updateSpatialNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateSpatialNode()

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.

Referenced by setCastsShadows().

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

Referenced by setGeometry().

◆ instanceRoot

QQuick3DNode * QQuick3DModel::instanceRoot
readwrite

Definition at line 71 of file qquick3dmodel_p.h.

Referenced by setInstanceRoot().

◆ instancing

QQuick3DInstancing * QQuick3DModel::instancing
readwrite

Definition at line 70 of file qquick3dmodel_p.h.

Referenced by setInstancing().

◆ 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

Defines the approximate size of the lightmap for this model. The default value is 1024, indicating 1024x1024 as the base size. The actual size of the lightmap texture is likely to be different, often bigger, depending on the mesh.

For simpler, smaller meshes, or when it is known that using a bigger lightmap is unnecessary, the value can be set to something smaller, for example, 512 or 256.

The minimum value is 128.

This setting applies both to persistently stored and for intermediate, partial lightmaps. When baking lightmaps, all models that have \l usedInBakedLighting enabled are part of the path-traced scene. Thus all of them need to have lightmap UV unwrapping performed and the rasterization steps necessary to compute direct lighting which then can be taken into account for indirect light bounces in the scene. However, for models that just contribute to, but do not store a lightmap the default value is often sufficient. Fine-tuning is more relevant for models that store and then use the generated lightmaps.

This property is relevant only when baking lightmaps. It has no effect afterwards, when using the generated lightmaps during rendering.

Models that have lightmap UV data pre-generated during asset import time (e.g. via the balsam tool) will ignore this property because the lightmap UV unwrapping and the lightmap size hint evaluation have already been done, and will not be performed again during lightmap baking.

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.

Referenced by ~QQuick3DModel(), and setModelProperties().

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

Referenced by ~QQuick3DModel(), and processNode().

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

Referenced by setReceivesShadows().

◆ skeleton

QQuick3DSkeleton * QQuick3DModel::skeleton
readwrite

Definition at line 72 of file qquick3dmodel_p.h.

Referenced by setSkeleton().

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

Referenced by setSource(), and translateMeshSource().

◆ 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: