Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qheightfieldshape_p.h
Go to the documentation of this file.
1
// Copyright (C) 2022 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
HEIGHTFIELDMESHSHAPE_H
6
#
define
HEIGHTFIELDMESHSHAPE_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QtQuick3DPhysics
/
qtquick3dphysicsglobal
.
h
>
20
#
include
<
QtQuick3DPhysics
/
private
/
qabstractcollisionshape_p
.
h
>
21
#
include
<
QtCore
/
QObject
>
22
#
include
<
QtGui
/
QVector3D
>
23
#
include
<
QtQml
/
QQmlEngine
>
24
#
include
<
QtQuick3D
/
QQuick3DGeometry
>
25
#
include
<
QtQuick
/
private
/
qquickimage_p
.
h
>
26
27
namespace
physx
{
28
class
PxBoxGeometry;
29
class
PxTriangleMesh;
30
class
PxTriangleMeshGeometry;
31
class
PxHeightFieldGeometry;
32
class
PxHeightField;
33
struct
PxHeightFieldSample;
34
}
35
36
QT_BEGIN_NAMESPACE
37
38
class
QQuick3DPhysicsHeightField
;
39
40
class
Q_QUICK3DPHYSICS_EXPORT
QHeightFieldShape
:
public
QAbstractCollisionShape
41
{
42
Q_OBJECT
43
Q_PROPERTY(QVector3D extents READ extents WRITE setExtents NOTIFY extentsChanged)
44
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged REVISION(6, 5))
45
Q_PROPERTY(QQuickImage *image READ image WRITE setImage NOTIFY imageChanged REVISION(6, 7))
46
QML_NAMED_ELEMENT(HeightFieldShape)
47
public
:
48
QHeightFieldShape();
49
~QHeightFieldShape();
50
51
physx::PxGeometry *getPhysXGeometry() override;
52
53
Q_REVISION(6, 5)
const
QUrl &source()
const
;
54
Q_REVISION(6, 5)
void
setSource(
const
QUrl &newSource);
55
56
const
QVector3D &hfOffset()
const
{
return
m_hfOffset; }
57
58
const
QVector3D &extents()
const
;
59
void
setExtents(
const
QVector3D &newExtents);
60
bool
isStaticShape()
const
override {
return
true
; }
61
62
Q_REVISION(6, 7) QQuickImage *image()
const
;
63
Q_REVISION(6, 7)
void
setImage(QQuickImage *newImage);
64
65
signals:
66
Q_REVISION(6, 5)
void
sourceChanged();
67
void
extentsChanged();
68
Q_REVISION(6, 7)
void
imageChanged();
69
70
private
slots:
71
void
imageDestroyed(QObject *image);
72
void
imageGeometryChanged();
73
74
private
:
75
void
updatePhysXGeometry();
76
void
getSamples();
77
void
updateExtents();
78
79
QQuick3DPhysicsHeightField *m_heightField =
nullptr
;
80
81
physx::PxHeightFieldGeometry *m_heightFieldGeometry =
nullptr
;
82
QVector3D m_hfOffset;
83
QUrl m_heightMapSource;
84
bool
m_dirtyPhysx =
false
;
85
quint32 m_physicsGeneration = 0;
86
QVector3D m_extents = { 100, 100, 100 };
87
bool
m_extentsSetExplicitly =
false
;
88
QQuickImage *m_image =
nullptr
;
89
};
90
91
QT_END_NAMESPACE
92
93
#
endif
// HEIGHTFIELDMESHSHAPE_H
QAbstractPhysXNode
Definition
qabstractphysxnode_p.h:58
QAbstractPhysXNode::filtersDirty
bool filtersDirty() const
Definition
qabstractphysxnode.cpp:156
QAbstractPhysXNode::cleanup
virtual void cleanup(QPhysXWorld *)
Definition
qabstractphysxnode.cpp:118
QAbstractPhysXNode::shapesDirty
bool shapesDirty() const
Definition
qabstractphysxnode.cpp:146
QAbstractPhysXNode::setShapesDirty
void setShapesDirty(bool dirty)
Definition
qabstractphysxnode.cpp:151
QAbstractPhysXNode::updateMaterial
bool updateMaterial()
Definition
qabstractphysxnode.cpp:66
QAbstractPhysXNode::setFiltersDirty
void setFiltersDirty(bool dirty)
Definition
qabstractphysxnode.cpp:161
QAbstractPhysXNode::detachFrontend
virtual void detachFrontend()
Definition
qabstractphysxnode.cpp:167
QAbstractPhysXNode::useTriggerFlag
virtual bool useTriggerFlag()
Definition
qabstractphysxnode.cpp:136
QAbstractPhysicsBody
Definition
qabstractphysicsbody_p.h:26
QHeightFieldShape
Definition
qheightfieldshape_p.h:41
QPhysXActorBody
Definition
qphysxactorbody_p.h:29
QPhysXActorBody::markDirtyShapes
void markDirtyShapes() override
Definition
qphysxactorbody.cpp:87
QPhysXActorBody::buildShapes
void buildShapes(QPhysXWorld *physX)
Definition
qphysxactorbody.cpp:165
QPhysXActorBody::rebuildDirtyShapes
void rebuildDirtyShapes(QPhysicsWorld *world, QPhysXWorld *physX) override
Definition
qphysxactorbody.cpp:117
QPhysXActorBody::init
void init(QPhysicsWorld *world, QPhysXWorld *physX) override
Definition
qphysxactorbody.cpp:62
QPhysXActorBody::detachFrontend
void detachFrontend() override
Definition
qphysxactorbody.cpp:125
QPhysXActorBody::debugGeometryCapability
bool debugGeometryCapability() override
Definition
qphysxactorbody.cpp:155
QPhysXActorBody::cleanup
void cleanup(QPhysXWorld *physX) override
Definition
qphysxactorbody.cpp:53
QPhysXActorBody::actor
physx::PxRigidActor * actor
Definition
qphysxactorbody_p.h:46
QPhysXActorBody::createActor
virtual void createActor(QPhysXWorld *physX)
Definition
qphysxactorbody.cpp:132
QPhysXActorBody::sync
void sync(float deltaTime, QHash< QQuick3DNode *, QMatrix4x4 > &transformCache) override
Definition
qphysxactorbody.cpp:74
QPhysXActorBody::updateFilters
void updateFilters() override
Definition
qphysxactorbody.cpp:235
QPhysXActorBody::getGlobalPose
physx::PxTransform getGlobalPose() override
Definition
qphysxactorbody.cpp:160
QPhysXWorld
Definition
qphysxworld_p.h:33
QPhysXWorld::createScene
void createScene(float typicalLength, float typicalSpeed, const QVector3D &gravity, QPhysicsWorld *physicsWorld, unsigned int numThreads)
Definition
qphysxworld.cpp:295
QPhysXWorld::isRunning
bool isRunning
Definition
qphysxworld_p.h:44
QPhysXWorld::createWorld
void createWorld()
Definition
qphysxworld.cpp:251
QPhysXWorld::callback
SimulationEventCallback * callback
Definition
qphysxworld_p.h:42
QPhysXWorld::deleteWorld
void deleteWorld()
Definition
qphysxworld.cpp:267
QPhysXWorld::scene
physx::PxScene * scene
Definition
qphysxworld_p.h:43
QPhysXWorld::controllerManager
physx::PxControllerManager * controllerManager
Definition
qphysxworld_p.h:41
QQuick3DPhysicsHeightField
Definition
qheightfieldshape.cpp:40
QVector3D
The QVector3D class represents a vector or vertex in 3D space.
Definition
qvectornd.h:178
SimulationEventCallback
Definition
qphysxworld.cpp:34
physx
Definition
qphysxactorbody_p.h:22
physx::PxTransform
PxTransformT< float > PxTransform
Definition
qabstractphysicsnode_p.h:28
PHYSX_RELEASE
#define PHYSX_RELEASE(x)
Definition
qabstractphysxnode.cpp:15
getPhysXLocalTransform
static QT_BEGIN_NAMESPACE physx::PxTransform getPhysXLocalTransform(const QQuick3DNode *node)
Definition
qphysxactorbody.cpp:30
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
Definition
qtconfigmacros.h:161
QT_END_NAMESPACE
#define QT_END_NAMESPACE
Definition
qtconfigmacros.h:162
StaticPhysXObjects
Definition
qstaticphysxobjects_p.h:71
StaticPhysXObjects::getReference
static StaticPhysXObjects & getReference()
Definition
qstaticphysxobjects.cpp:14
StaticPhysXObjects::physics
physx::PxPhysics * physics
Definition
qstaticphysxobjects_p.h:75
qtquick3dphysics
src
quick3dphysics
qheightfieldshape_p.h
Generated on
for Qt by
1.18.0