Qt 6.x
The Qt SDK
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
qphysicsmaterial.cpp
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
5
6#include <foundation/PxSimpleTypes.h>
7
8static float clamp(float value, float min, float max)
9{
10 return std::max(std::min(value, max), min);
11}
12
14
64
66{
67 return m_staticFriction;
68}
69
70void QPhysicsMaterial::setStaticFriction(float staticFriction)
71{
72 staticFriction = clamp(staticFriction, 0.f, PX_MAX_F32);
73
74 if (qFuzzyCompare(m_staticFriction, staticFriction))
75 return;
76 m_staticFriction = staticFriction;
78}
79
81{
82 return m_dynamicFriction;
83}
84
85void QPhysicsMaterial::setDynamicFriction(float dynamicFriction)
86{
87 dynamicFriction = clamp(dynamicFriction, 0.f, PX_MAX_F32);
88
89 if (qFuzzyCompare(m_dynamicFriction, dynamicFriction))
90 return;
91 m_dynamicFriction = dynamicFriction;
93}
94
96{
97 return m_restitution;
98}
99
100void QPhysicsMaterial::setRestitution(float restitution)
101{
102 restitution = clamp(restitution, 0.f, 1.f);
103
104 if (qFuzzyCompare(m_restitution, restitution))
105 return;
106 m_restitution = restitution;
108}
109
\inmodule QtCore
Definition qobject.h:90
void setDynamicFriction(float dynamicFriction)
void dynamicFrictionChanged()
void setRestitution(float restitution)
void staticFrictionChanged()
void restitutionChanged()
void setStaticFriction(float staticFriction)
QPhysicsMaterial(QObject *parent=nullptr)
\qmltype PhysicsMaterial \inqmlmodule QtQuick3D.Physics
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
bool qFuzzyCompare(qfloat16 p1, qfloat16 p2) noexcept
Definition qfloat16.h:287
GLfloat GLfloat clamp
#define emit
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent