Skip to content

Add NewtonMassAPI with inertia tensor #4

@andrewkaufman

Description

@andrewkaufman

Is this a new feature, an improvement, or a change to existing functionality?

New Feature

Feature Description

NewtonMassAPI is an extension to UsdPhysicsMassAPI to allow specifying the 6 valued inertia tensor rather than diagonal intertia & the principal axes.

The main value adds are:

  • Avoids eigenvalue decomposition for source data which already represents the tensor values
  • Its 6 values (whereas MassAPI requires 7)
  • Will be double precesion to avoid lossy conversion

We will use -inf as a sentinal value to indicate "no opinion"

If there is an opinion, physics:diagonalInertia and physics:principalAxes should be ignored. ie. this attribute overrides the others when both are authored.

We need validators to ensure values are in a sensible range.

Additional context or alternatives

Open Questions:

  • What's the name? newton:localInertia? newton:intertia? newton:inertiaTensor?
  • Do we use double[] or GfMatrix3d?
    • There is no Vec6d type so we need to pick between these. Both require validation.
    • double[] requires more documentation about max length (6 values only) & ordering convention
    • GfMatrix3d requires validation that its a semmetric upper triangular matrix

Code of Conduct

  • I agree to follow newton-usd-schemas Code of Conduct
  • I have searched the open issues and have found no duplicates

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions