| CMakeLists.txt |
|
4177 |
- |
| designer |
|
|
- |
| doc |
|
|
- |
| joints |
|
|
- |
| physxnode |
|
|
- |
| plugin.cpp |
|
724 |
- |
| qabstractcollisionshape.cpp |
!
\qmltype CollisionShape
\inherits Node
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief Base type for collision shapes.
This is the base type for all collision shapes. A collision shape
is used to define the physical shape and extent of an object for the
purposes of the physics simulation.
\sa {Qt Quick 3D Physics Shapes, Bodies and Joints}
|
1847 |
- |
| qabstractcollisionshape_p.h |
|
1603 |
- |
| qabstractphysicsbody.cpp |
!
\qmltype PhysicsBody
\inherits PhysicsNode
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief Base type for all concrete physical bodies.
PhysicsBody is the base type for all objects that have a physical presence. These objects
interact with other bodies. Some types are not influenced by the simulation, such as
StaticRigidBody: They only influence other bodies. Other bodies are fully governed by the
simulation.
\sa {Qt Quick 3D Physics Shapes, Bodies and Joints}
|
2198 |
- |
| qabstractphysicsbody_p.h |
|
1570 |
- |
| qabstractphysicsnode.cpp |
!
\qmltype PhysicsNode
\inherits Node
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief Base type for all objects in the physics scene.
PhysicsNode is the base type for all the objects that take part in the physics simulation. These
objects have a position in three-dimensional space and a geometrical shape.
|
11954 |
- |
| qabstractphysicsnode_p.h |
|
5422 |
- |
| qboxshape.cpp |
!
\qmltype BoxShape
\inherits CollisionShape
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief Defines a box collision shape.
This type defines a box collision shape. The origin is at the center of the box.
\note A non-uniform scaling transformation will scale the x, y and z directions individually.
However, combining non-uniform scale and rotation may lead to shearing, which will not be applied
to the BoxShape: it will always be a rectilinear box.
\sa {Qt Quick 3D Physics Shapes, Bodies and Joints}
|
2461 |
- |
| qboxshape_p.h |
|
1398 |
- |
| qcacheutils.cpp |
|
9543 |
- |
| qcacheutils_p.h |
|
1586 |
- |
| qcapsuleshape.cpp |
!
\qmltype CapsuleShape
\inherits CollisionShape
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief Defines a pill-like shape.
This type defines a capsule shape. This is a cylinder with a hemisphere at each end.
The origin is at the center of the capsule. The capsule is specified by \l diameter, which
determines the diameter of the cylinder and the hemispheres; and \l height, which
determines the height of the cylinder.
\note When using scaling transformations with this shape, the x component will be used to scale the height and
the y component will be used to scale the diameter. The cylinder will always be perfectly circular even if the
scaling transformation is non-uniform.
\sa {Qt Quick 3D Physics Shapes, Bodies and Joints}
|
3230 |
- |
| qcapsuleshape_p.h |
|
1525 |
- |
| qcharactercontroller.cpp |
!
\qmltype CharacterController
\inqmlmodule QtQuick3D.Physics
\inherits PhysicsBody
\since 6.4
\brief Controls the motion of a character.
The CharacterController type controls the motion of a character.
A character is an entity that moves under external control, but is still constrained
by physical barriers and (optionally) subject to gravity. This is in contrast to
\l{DynamicRigidBody}{dynamic rigid bodies} which are either completely controlled by
the physics simulation (for non-kinematic bodies); or move exactly where placed,
regardless of barriers (for kinematic objects).
To control the motion of a character controller, set \l movement to the desired velocity.
For a first-person view, the camera is typically placed inside a character controller.
\note \l {PhysicsNode::collisionShapes}{collisionShapes} must be set to
a single \l {CapsuleShape}. No other shapes are supported.
\note The character controller is able to scale obstacles that are lower than one fourth of
the capsule shape's height.
\sa {Qt Quick 3D Physics Shapes, Bodies and Joints}
|
10422 |
- |
| qcharactercontroller_p.h |
|
3019 |
- |
| qcollisiondebugmeshbuilder.cpp |
|
1585 |
- |
| qcollisiondebugmeshbuilder_p.h |
|
955 |
- |
| qconvexmeshshape.cpp |
!
\qmltype ConvexMeshShape
\inherits CollisionShape
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief A convex collision shape based on a 3D mesh.
This type defines a convex shape based on the same 3D mesh file format used by
\l [QtQuick3D]{Model::source}{QtQuick3D.Model}. If the mesh is not convex, the convex hull of the
mesh will be used.
\sa {Qt Quick 3D Physics Shapes, Bodies and Joints}, TriangleMeshShape
|
2139 |
- |
| qconvexmeshshape_p.h |
|
787 |
- |
| qdebugdrawhelper.cpp |
|
19422 |
- |
| qdebugdrawhelper_p.h |
|
1323 |
- |
| qdynamicrigidbody.cpp |
!
\qmltype DynamicRigidBody
\inqmlmodule QtQuick3D.Physics
\inherits PhysicsBody
\since 6.4
\brief A physical body that can move or be moved.
This type defines a dynamic rigid body: an object that is part of the physics
scene and behaves like a physical object with mass and velocity.
\note \l{TriangleMeshShape}{triangle mesh}, \l{HeightFieldShape}{height field} and
\l{PlaneShape}{plane} geometry shapes are not allowed as collision shapes when
\l isKinematic is \c false.
|
27859 |
- |
| qdynamicrigidbody_p.h |
|
10058 |
- |
| qheightfieldshape.cpp |
|
16874 |
- |
| qheightfieldshape_p.h |
|
2616 |
- |
| qmeshshape.cpp |
|
21070 |
- |
| qmeshshape_p.h |
|
2224 |
- |
| qphysicscommands.cpp |
|
13851 |
- |
| qphysicscommands_p.h |
|
6418 |
- |
| qphysicsmaterial.cpp |
!
\qmltype PhysicsMaterial
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief Defines the physics material of a body.
The PhysicsMaterial type determines how objects interact when they touch.
Friction uses the Coulomb friction model, which is based around
the concepts of 2 coefficients: the static friction coefficient and the dynamic friction
coefficient (sometimes called kinetic friction). Friction resists relative lateral motion of two
solid surfaces in contact. These two coefficients define a relationship between the normal force
exerted by each surface on the other and the amount of friction force that is applied to resist
lateral motion. While most real-world materials have friction coefficients between \c{0} and
\c{1}, values above \c{1} are not uncommon. The properties accept any real number greater or
equal to \c{0}.
Restitution determines how objects bounce when they collide.
|
3515 |
- |
| qphysicsmaterial_p.h |
|
1859 |
- |
| qphysicsmeshutils_p_p.h |
|
2439 |
- |
| qphysicsutils_p.h |
|
2505 |
- |
| qphysicsworld.cpp |
!
\qmltype PhysicsWorld
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief Controls the physics simulation.
The PhysicsWorld type controls the physics simulation. This node is used to create an instance of the physics world as well
as define its properties. There can only be one physics world. All collision nodes in the qml
will get added automatically to the physics world.
|
92031 |
- |
| qphysicsworld_p.h |
|
16175 |
- |
| qplaneshape.cpp |
!
\qmltype PlaneShape
\inqmlmodule QtQuick3D.Physics
\inherits CollisionShape
\since 6.4
\brief A collision shape that defines an infinite plane.
The PlaneShape type defines an infinite plane. The plane divides space into "above" and "below"
it. Everything "below" the plane will collide with it and be pushed above it. The orientation of
the plane is vertical: The Plane lies on the XY plane with "above" pointing sideways towards positive Z.
PlaneShape can only be used with \l StaticRigidBody and \l {DynamicRigidBody::isKinematic}{kinematic bodies}.
|
1700 |
- |
| qplaneshape_p.h |
|
1140 |
- |
| qraycaster.cpp |
!
\qmltype Raycaster
\inherits Node
\inqmlmodule QtQuick3D.Physics
\since 6.13
\brief Casts a ray into the physics scene on every physics frame.
Raycaster casts a ray from its scene position in \l direction and reports the closest physics
body it intersects. The \l hit property is updated once per physics frame, after the bodies
have been synchronized with the scene and before \l PhysicsWorld::frameDone, so a frameDone
handler reads the result of the frame it is reporting on.
\qml
Raycaster {
direction: Qt.vector3d(0, -1, 0)
maxDistance: 50
includeDynamic: false
onBodyEntered: (body) => console.log("Hit", body)
}
\endqml
The ray is a scene query, so it sees the same bodies as
\l {PhysicsWorld::singleRaycastQuery} {PhysicsWorld.singleRaycastQuery} and is bound by the
same rules: \l {PhysicsNode::filterGroup} {filterGroup} and
\l {PhysicsNode::filterIgnoreGroups} {filterIgnoreGroups} have no effect on it, and a
\l TriggerBody never appears in the result. Use \l includeStatic and \l includeDynamic to
narrow that by kind, and \l excludeParentBody and \l excludedBodies to leave out particular
bodies. Those two matter more here than for a query method, since the ray reports only its
closest hit and there is nothing left to filter afterwards.
\sa PhysicsWorld, locationHit, {Qt Quick 3D Physics Scene Queries},
{Qt Quick 3D Physics - Raycaster Example}
|
11613 |
- |
| qraycaster_p.h |
|
4565 |
- |
| qsphereshape.cpp |
!
\qmltype SphereShape
\inqmlmodule QtQuick3D.Physics
\inherits CollisionShape
\since 6.4
\brief Defines a spherical collision shape.
This type defines a spherical shape. The origin is at the center of the sphere.
\note When using a scaling transformation with this shape, the x component will be used to scale the diameter of
the sphere. The resulting shape will be perfectly round, even if a non-uniform scaling transformation is used.
|
2132 |
- |
| qsphereshape_p.h |
|
1295 |
- |
| qstaticphysxobjects.cpp |
|
422 |
- |
| qstaticphysxobjects_p.h |
|
2844 |
- |
| qstaticrigidbody.cpp |
!
\qmltype StaticRigidBody
\inqmlmodule QtQuick3D.Physics
\inherits PhysicsBody
\since 6.4
\brief A physical body that does not move.
The StaticRigidBody type defines an immovable and static rigid body. Any collision shape is allowed for this body.
\note Do not move a StaticRigidBody. It is technically possible to do so, but it
will incur a performance penalty, and colliding dynamic objects may not react correctly.
Use a DynamicRigidBody with \l {DynamicRigidBody::isKinematic}{isKinematic} set to \c true instead.
|
988 |
- |
| qstaticrigidbody_p.h |
|
834 |
- |
| qtquick3dphysicsglobal.h |
|
719 |
- |
| qtquick3dphysicsglobal_p.h |
|
568 |
- |
| qtrianglemeshshape.cpp |
!
\qmltype TriangleMeshShape
\inqmlmodule QtQuick3D.Physics
\inherits CollisionShape
\since 6.4
\brief A collision shape based on a 3D mesh.
This type defines a shape based on the same 3D mesh file format used by
\l [QtQuick3D]{Model::source}{QtQuick3D.Model}.
Objects that are controlled by the physics simulation cannot use TriangleMeshShape: It can only
be used with \l StaticRigidBody and \l {DynamicRigidBody::isKinematic}{kinematic bodies}. Use \l
ConvexMeshShape for non-kinematic dynamic bodies.
\sa {Qt Quick 3D Physics Shapes, Bodies and Joints}
|
1941 |
- |
| qtrianglemeshshape_p.h |
|
797 |
- |
| qtriggerbody.cpp |
!
\qmltype TriggerBody
\inherits PhysicsNode
\inqmlmodule QtQuick3D.Physics
\since 6.4
\brief Reports when objects enter a given volume.
This type defines a trigger body. A trigger body is a body that does not interact
physically but is used to detect when objects intersect with its volume.
|
9780 |
- |
| qtriggerbody_p.h |
|
3313 |
- |
| queries |
|
|
- |