Skip to content

Commit 447a3a9

Browse files
committed
docs(JointAPI): document inf limitStiffness as hard-limit semantics
Clarify that limitStiffness = inf is interpreted as a hard limit by solvers supporting both soft and hard modes. limitDamping is ignored in that case (no spring to damp). Range updated from [0, inf) to [0, inf] to reflect that inf is a valid authored value. Addresses review feedback from AlesBorovicka on soft vs hard limit distinction.
1 parent e1fabb3 commit 447a3a9

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

newton_usd_schemas/generatedSchema.usda

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -455,14 +455,16 @@ class NewtonJointAPI "NewtonJointAPI" (
455455
a restoring effort is applied: `effort = limitStiffness * penetration`,
456456
where penetration is the signed distance beyond the limit boundary.
457457

458-
Not all solvers use soft limit springs. Position-based solvers may
459-
enforce limits as hard positional constraints and ignore this attribute.
458+
A value of `inf` is interpreted as a hard limit: solvers that support
459+
both soft and hard limits enforce the limit as a rigid positional
460+
constraint (no spring). Position-based solvers always enforce hard
461+
positional constraints regardless of this attribute.
460462

461463
A value of `-inf` means the engine's own default stiffness is used.
462464

463465
The value is broadcast to all DOFs of the joint.
464466

465-
Range: [0, inf) when authored (sentinel `-inf` defers to engine default).
467+
Range: [0, inf] when authored (sentinel `-inf` defers to engine default).
466468
Units: effort / degrees (angular DOFs) or effort / distance (linear DOFs)."""
467469
)
468470

@@ -473,8 +475,9 @@ class NewtonJointAPI "NewtonJointAPI" (
473475
a velocity-dependent dissipative effort is applied:
474476
`effort = -limitDamping * velocity`.
475477

476-
Not all solvers use soft limit springs. Position-based solvers may
477-
enforce limits as hard positional constraints and ignore this attribute.
478+
Ignored when `limitStiffness` is `inf` (hard limit): a hard limit has
479+
no spring to damp. Position-based solvers always enforce hard positional
480+
constraints regardless of this attribute.
478481

479482
A value of `-inf` means the engine's own default damping is used.
480483

0 commit comments

Comments
 (0)