载入中...
搜索中...
未找到
SoftBodyCollision.h
浏览该文件的文档.
1#pragma once
2
4
7 bool hit = false;
8 float nx = 0.f, ny = 0.f, nz = 0.f;
9 float depth = 0.f;
10 int bodyId = -1;
11 bool dynamicBody = false;
12};
13
16
24public:
26 virtual ~ISoftBodyCollisionWorld() = default;
28 [[nodiscard]] virtual bool softBodyCollisionAvailable() const noexcept = 0;
30 [[nodiscard]] virtual SoftBodyContactState probeSoftBodyParticle(float x, float y, float z, float radius,
31 SoftBodyContact& contact) const = 0;
33 virtual void applySoftBodyImpulse(int bodyId, float x, float y, float z) = 0;
34};
35
36} // namespace eve::physics::softbody
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
float z
Definition AnimClip.cpp:738
float radius
Narrow borrowed collision service consumed by the soft-body core.
virtual void applySoftBodyImpulse(int bodyId, float x, float y, float z)=0
Apply a world-space impulse to a previously reported dynamic body id.
virtual SoftBodyContactState probeSoftBodyParticle(float x, float y, float z, float radius, SoftBodyContact &contact) const =0
Probe the deepest non-sensor contact for a spherical particle.
virtual ~ISoftBodyCollisionWorld()=default
Releases ISoftBodyCollisionWorld resources.
virtual bool softBodyCollisionAvailable() const noexcept=0
Whether the provider can currently answer contacts.
SoftBodyContactState
Strong result of a particle contact probe.
Backend-neutral contact returned to the volumetric solver.