载入中...
搜索中...
未找到
Rope3D.h
浏览该文件的文档.
55 Rope3D(int particleCount, float startX, float startY, float startZ, float endX, float endY, float endZ);
62 eve::Result<void> step(const eve::SimulationStep& step, const SimulationSettings& settings) override;
63 [[nodiscard]] SimulationObservation observation() const noexcept override { return observation_; }
64 [[nodiscard]] SimulationBackendKind kind() const noexcept override { return SimulationBackendKind::Cpu; }
126 eve::Result<RopeColliderId> addPlaneCollider(float x, float y, float z, float nx, float ny, float nz);
129 eve::Result<RopeColliderChange> moveSphereCollider(RopeColliderId id, float x, float y, float z);
179 eve::Result<RopeTopologyChange> changeLength(float length, float particleSpacing, bool fromEnd = true);
202 [[nodiscard]] int getLastTornElementCount() const { return static_cast<int>(lastTornElements_.size()); }
Backend-neutral, observable fixed-step contract for physics domains.
Regular 3D signed-distance grid for terrain and voxel collision queries. Negative samples are solid,...
Definition DistanceField3D.h:16
Minimal observable contract for physics simulation providers.
Definition SimulationBackend.h:158
Renderer-independent particle rope with XPBD stretch and bend constraints.
Definition Rope3D.h:38
void setSelfCollision(bool enabled)
Enables non-neighbour particle self collision.
Definition Rope3D.h:111
std::uint64_t getTopologyRevision() const
Monotonic revision incremented by cut, repair, resize, and automatic tears.
Definition Rope3D.h:200
bool getBendConstraintsEnabled() const
Definition Rope3D.h:88
float getMaxCompression() const noexcept
Definition Rope3D.h:100
float getStretchCompliance() const noexcept
Definition Rope3D.h:79
void setCollideWorld(World3D *world)
Attaches a borrowed rigid-body world for mesh/shape collision and reaction impulses.
Definition Rope3D.h:136
SimulationObservation observation() const noexcept override
Returns completed-step observables by value.
Definition Rope3D.h:63
float getCollisionRestitution() const
Returns particle/world normal restitution.
Definition Rope3D.h:150
int getLastTornElementCount() const
Number of elements automatically torn by the most recent update/step.
Definition Rope3D.h:202
void setDistanceConstraintsEnabled(bool enabled)
Enables or disables structural distance constraints without changing topology.
Definition Rope3D.h:81
void setContinuousCollision(bool enabled)
Enables swept-sphere continuous collision against World3D and SDF geometry.
Definition Rope3D.h:144
void setCollideSdf(DistanceField3D *field)
Attaches a borrowed signed-distance field for static environment collision.
Definition Rope3D.h:140
SimulationDeterminism determinism() const noexcept override
Returns the provider's replay/determinism guarantee.
Definition Rope3D.h:65
SimulationBackendKind kind() const noexcept override
Identifies the provider family.
Definition Rope3D.h:64
DistanceField3D * getCollideSdf() const
Returns the borrowed signed-distance collision field, or null.
Definition Rope3D.h:142
bool getDistanceConstraintsEnabled() const
Definition Rope3D.h:82
float getBendCompliance() const noexcept
Definition Rope3D.h:85
void setBendConstraintsEnabled(bool enabled)
Enables or disables bend constraints independently from stretch constraints.
Definition Rope3D.h:87
bool getContinuousCollision() const
Reports whether continuous collision is enabled.
Definition Rope3D.h:146
World3D * getCollideWorld() const
Returns the borrowed rigid-body collision world, or null.
Definition Rope3D.h:138
Box3D rigid-body world. Script coordinates are meters (Box3D native), unlike 2D World which uses pixe...
Definition World3D.h:63
@ Collider
SimulationBackendKind
Kind of implementation that owns a simulation step.
Definition SimulationBackend.h:32
SimulationDeterminism
Determinism guarantee made by a simulation backend.
Definition SimulationBackend.h:64
@ Unchanged
Stable identifier for a rope-owned analytic collider.
Definition Rope3D.h:19
friend bool operator==(RopeColliderId, RopeColliderId)=default
Operator ==.
Observable backend progress shared by CPU and accelerator providers.
Definition SimulationBackend.h:136
Validated solver policy for one simulation step.
Definition SimulationBackend.h:120