18#include <QtQuick3D/private/qquick3dnode_p.h>
19#include <QtQuick3D/private/qquick3dmaterial_p.h>
20#include <QtQuick3D/private/qquick3dgeometry_p.h>
21#include <QtQuick3D/private/qquick3dinstancing_p.h>
22#include <QtQuick3D/private/qquick3dskeleton_p.h>
23#include <QtQuick3D/private/qquick3dskin_p.h>
24#include <QtQuick3D/private/qquick3dbakedlightmap_p.h>
25#include <QtQuick3D/private/qquick3dmorphtarget_p.h>
26#include <QtQuick3DUtils/private/qssgbounds3_p.h>
28#include <QtQml/QQmlListProperty>
30#include <QtCore/QVector>
31#include <QtCore/QList>
34#include <QtGui/QVector4D>
48 return bounds.minimum;
53 return bounds.maximum;
64 Q_PROPERTY(
bool castsShadows READ castsShadows WRITE setCastsShadows NOTIFY castsShadowsChanged)
65 Q_PROPERTY(
bool receivesShadows READ receivesShadows WRITE setReceivesShadows NOTIFY receivesShadowsChanged)
68 Q_PROPERTY(
bool pickable READ pickable WRITE setPickable NOTIFY pickableChanged)
76 Q_PROPERTY(
float depthBias READ depthBias WRITE setDepthBias NOTIFY depthBiasChanged)
77 Q_PROPERTY(
bool receivesReflections READ receivesReflections WRITE setReceivesReflections NOTIFY receivesReflectionsChanged REVISION(6, 3))
78 Q_PROPERTY(
bool castsReflections READ castsReflections WRITE setCastsReflections NOTIFY castsReflectionsChanged REVISION(6, 4))
79 Q_PROPERTY(
bool usedInBakedLighting READ isUsedInBakedLighting WRITE setUsedInBakedLighting NOTIFY usedInBakedLightingChanged REVISION(6, 4))
80 Q_PROPERTY(
int lightmapBaseResolution READ lightmapBaseResolution WRITE setLightmapBaseResolution NOTIFY lightmapBaseResolutionChanged REVISION(6, 4))
82 Q_PROPERTY(
float instancingLodMin READ instancingLodMin WRITE setInstancingLodMin NOTIFY instancingLodMinChanged REVISION(6, 5))
83 Q_PROPERTY(
float instancingLodMax READ instancingLodMax WRITE setInstancingLodMax NOTIFY instancingLodMaxChanged REVISION(6, 5))
84 Q_PROPERTY(
float levelOfDetailBias READ levelOfDetailBias WRITE setLevelOfDetailBias NOTIFY levelOfDetailBiasChanged REVISION(6, 5))
93 bool castsShadows()
const;
94 bool receivesShadows()
const;
95 bool pickable()
const;
100 float depthBias()
const;
124 void setCastsShadows(
bool castsShadows);
125 void setReceivesShadows(
bool receivesShadows);
126 void setPickable(
bool pickable);
133 void setDepthBias(
float bias);
134 Q_REVISION(6, 3)
void setReceivesReflections(
bool receivesReflections);
135 Q_REVISION(6, 4)
void setCastsReflections(
bool castsReflections);
138 Q_REVISION(6, 4)
void setLightmapBaseResolution(
int resolution);
141 Q_REVISION(6, 5)
void setInstancingLodMin(
float minDistance);
142 Q_REVISION(6, 5)
void setInstancingLodMax(
float maxDistance);
143 Q_REVISION(6, 5)
void setLevelOfDetailBias(
float newLevelOfDetailBias);
146 void sourceChanged();
147 void castsShadowsChanged();
148 void receivesShadowsChanged();
149 void pickableChanged();
150 void geometryChanged();
151 void skeletonChanged();
152 void inverseBindPosesChanged();
153 void boundsChanged();
154 void instancingChanged();
155 void instanceRootChanged();
156 void morphTargetsChanged();
157 void depthBiasChanged();
171 void markAllDirty() override;
172 void itemChange(ItemChange, const ItemChangeData &) override;
175 void onMaterialDestroyed(
QObject *
object);
176 void onMorphTargetDestroyed(
QObject *
object);
179 enum QSSGModelDirtyType {
180 SourceDirty = 0x00000001,
181 MaterialsDirty = 0x00000002,
182 ShadowsDirty = 0x00000004,
183 PickingDirty = 0x00000008,
184 GeometryDirty = 0x00000010,
185 SkeletonDirty = 0x00000020,
186 PoseDirty = 0x00000040,
187 InstancesDirty = 0x00000080,
188 MorphTargetsDirty = 0x00000100,
189 PropertyDirty = 0x00000200,
190 ReflectionDirty = 0x00000400,
191 SkinDirty = 0x00000800,
192 LodDirty = 0x00001000,
193 InstanceRootDirty = 0x00002000,
198 quint32 m_dirtyAttributes = 0xffffffff;
199 void markDirty(QSSGModelDirtyType
type);
218 size_t m_numMorphAttribs = 0;
227 float m_depthBias = 0.0f;
228 bool m_castsShadows =
true;
229 bool m_receivesShadows =
true;
230 bool m_pickable =
false;
231 bool m_receivesReflections =
false;
232 bool m_castsReflections =
true;
233 bool m_usedInBakedLighting =
false;
234 int m_lightmapBaseResolution = 1024;
238 float m_instancingLodMin = -1;
239 float m_instancingLodMax = -1;
240 float m_levelOfDetailBias = 1.0f;
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
QVector3D minimum() const
QVector3D maximum() const
\qmltype Geometry \inherits Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DGeometry
\inmodule QtQuick3D \inherits QQuick3DObject
QQmlListProperty< QQuick3DMaterial > materials()
QQmlListProperty< QQuick3DMorphTarget > morphTargets()
Q_REVISION(6, 3) bool receivesReflections() const
Class representing 3D range or axis aligned bounding box.
\macro QT_RESTRICTED_CAST_FROM_ASCII
The QVector3D class represents a vector or vertex in 3D space.
Combined button and popup list for selecting options.
GLsizei GLsizei GLchar * source
#define QML_VALUE_TYPE(NAME)
#define QML_NAMED_ELEMENT(NAME)
static void setInstancing(QQuick3DNode *node, QQuick3DInstancing *instanceTable, float bias)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent