5#include <QtQuick3D/private/qquick3dobject_p.h>
6#include <foundation/PxTransform.h>
94 for (
auto shape : std::as_const(m_collisionShapes))
95 shape->disconnect(
this);
102 this,
nullptr, QAbstractPhysicsNode::qmlAppendShape,
103 QAbstractPhysicsNode::qmlShapeCount, QAbstractPhysicsNode::qmlShapeAt,
104 QAbstractPhysicsNode::qmlClearShapes);
109 return m_collisionShapes;
135 return m_sendContactReports;
149 return m_receiveContactReports;
163 return m_sendTriggerReports;
166void QAbstractPhysicsNode::setSendTriggerReports(
bool sendTriggerReports)
172 emit sendTriggerReportsChanged(m_sendTriggerReports);
177 return m_receiveTriggerReports;
180void QAbstractPhysicsNode::setReceiveTriggerReports(
bool receiveTriggerReports)
186 emit receiveTriggerReportsChanged(m_receiveTriggerReports);
197void QAbstractPhysicsNode::onShapeDestroyed(
QObject *
object)
202void QAbstractPhysicsNode::onShapeNeedsRebuild(
QObject * )
204 m_shapesDirty =
true;
210 if (shape ==
nullptr)
216 if (shape->parentItem() ==
nullptr) {
232 &QAbstractPhysicsNode::onShapeDestroyed);
236 &QAbstractPhysicsNode::onShapeNeedsRebuild);
255 for (
const auto &shape :
std::as_const(
self->m_collisionShapes)) {
256 if (shape->parentItem() ==
nullptr)
259 self->m_hasStaticShapes =
false;
260 for (
auto shape :
std::as_const(
self->m_collisionShapes))
void needsRebuild(QObject *)
virtual bool isStaticShape() const =0
~QAbstractPhysicsNode() override
void sendContactReportsChanged(float sendContactReports)
const QVector< QAbstractCollisionShape * > & getCollisionShapesList() const
bool receiveTriggerReports
void updateFromPhysicsTransform(const physx::PxTransform &transform)
QAbstractPhysicsNode()
\qmltype PhysicsNode \inherits Node \inqmlmodule QtQuick3D.Physics
void bodyContact(QAbstractPhysicsNode *body, const QVector< QVector3D > &positions, const QVector< QVector3D > &impulses, const QVector< QVector3D > &normals)
void setSendContactReports(bool sendContactReports)
void setReceiveContactReports(bool receiveContactReports)
void receiveContactReportsChanged(float receiveContactReports)
bool receiveContactReports
void registerContact(QAbstractPhysicsNode *body, const QVector< QVector3D > &positions, const QVector< QVector3D > &impulses, const QVector< QVector3D > &normals)
QQmlListProperty< QAbstractCollisionShape > collisionShapes
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
void destroyed(QObject *=nullptr)
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointe...
static void registerNode(QAbstractPhysicsNode *physicsNode)
static void deregisterNode(QAbstractPhysicsNode *physicsNode)
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
The QQuaternion class represents a quaternion consisting of a vector and scalar.
float z() const
Returns the z coordinate of this quaternion's vector.
float x() const
Returns the x coordinate of this quaternion's vector.
float y() const
Returns the y coordinate of this quaternion's vector.
QQuaternion inverted() const
void setRotation(const QQuaternion &rotation)
Q_INVOKABLE QVector3D mapPositionFromScene(const QVector3D &scenePosition) const
\qmlmethod vector3d QtQuick3D::Node::mapPositionFromScene(vector3d scenePosition)
void setPosition(const QVector3D &position)
QQuick3DNode * parentNode() const
QQuaternion sceneRotation
QPointer< QQuick3DSceneManager > sceneManager
void refSceneManager(QQuick3DSceneManager &)
static QQuick3DObjectPrivate * get(QQuick3DObject *item)
\qmltype Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DObject \inherits QtObject
QQuick3DObject * parent
\qmlproperty Object3D QtQuick3D::Object3D::parent This property holds the parent of the Object3D in a...
void setParentItem(QQuick3DObject *parentItem)
void clear()
Clears the contents of the string and makes it null.
void push_back(QChar c)
This is an overloaded member function, provided for convenience. It differs from the above function o...
const QChar at(qsizetype i) const
Returns the character at the given index position in the string.
qsizetype count(QChar c, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
The QVector3D class represents a vector or vertex in 3D space.
Combined button and popup list for selecting options.
static const QCssKnownValue positions[NumKnownPositionModes - 1]
GLuint GLenum GLenum transform
myObject disconnect()
[26]