5#include <QtQuick3D/QQuick3DGeometry>
7#include <geometry/PxSphereGeometry.h>
12
13
14
15
16
17
18
19
20
21
24
25
26
27
28
30QSphereShape::QSphereShape() =
default;
32QSphereShape::~QSphereShape()
34 delete m_physXGeometry;
37float QSphereShape::diameter()
const
42physx::PxGeometry *QSphereShape::getPhysXGeometry()
44 if (!m_physXGeometry || m_scaleDirty) {
45 updatePhysXGeometry();
47 return m_physXGeometry;
50void QSphereShape::setDiameter(
float diameter)
52 if (qFuzzyCompare(m_diameter, diameter))
55 m_diameter = diameter;
56 updatePhysXGeometry();
58 emit needsRebuild(
this);
59 emit diameterChanged(m_diameter);
62void QSphereShape::updatePhysXGeometry()
64 delete m_physXGeometry;
65 auto s = sceneScale();
66 m_physXGeometry =
new physx::PxSphereGeometry(m_diameter * 0.5f * s.x());
Combined button and popup list for selecting options.