Vixen
02b45cc4
csharp
public readonly record struct ShapeParams

How big a shape is.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

One shape, two vectors, whatever the kind — which is not tidiness. Resizing a shape for a different body is multiplying these, and the whole of why proxy shapes exist is that a coordinate on a shape means the same place on a body of any size. A parameterisation with a different field set per kind would need a resize path per kind, and one of them would be wrong.

Fields and properties (5)

  • public Vector3 Extents

    Half-extents at the base. For a round kind, X and Z are the radius and Y is the half-height.

  • public Vector3 TopExtents

    Half-extents at the top, for the tapered kinds. The same as for the rest.

  • public float Radius

    The radius at the base.

  • public float TopRadius

    The radius at the top.

  • public float HalfHeight

    Half the height, along the shape's own Y.

Methods (9)

  • public ShapeParams(Vector3 Extents, Vector3 TopExtents)

    How big a shape is.

  • public static ShapeParams Box(Vector3 halfExtents)

    A box.

  • public static ShapeParams TaperedBox(Vector3 baseExtents, Vector3 topExtents)

    A box whose cross-section changes with height.

  • public static ShapeParams Sphere(float radius)

    A ball.

  • public static ShapeParams Capsule(float radius, float halfHeight)

    A capsule.

  • public static ShapeParams TaperedCapsule(float radius, float topRadius, float halfHeight)

    A capsule whose radius changes with height.

  • public static ShapeParams Cylinder(float radius, float halfHeight)

    A cylinder.

  • public static ShapeParams Cone(float radius, float halfHeight)

    A cone, apex up.

  • public ShapeParams Scaled(Vector3 scale)

    The same shape, resized.

Used by (23)

  • ConstraintStageBenchmarksVixen.Benchmarks.Animation
  • AuthoringTestsVixen.Animation.Tests
  • ConstraintGizmosVixen.Animation
  • GizmoTestsVixen.Animation.Tests
  • ProxyShapeVixen.Animation
  • ProxyShapeAuditVixen.Animation
  • ProxyShapePoseVixen.Animation
  • ProxyShapeSetVixen.Animation
  • ProxyShapeTestsVixen.Animation.Tests
  • ProxyShapesVixen.Animation
  • ShapeClassMemberVixen.Animation
  • ShapeGeometryVixen.Animation
  • SurfaceFrameVixen.Animation
  • SwellingTestPoserVixen.Animation.Tests
  • TestBodyVixen.Animation.Tests
  • TestBodyVixen.Animation.Tests
  • TestRailVixen.Animation.Tests
  • AnimationWiringTestsVixen.Editor.App.Tests
  • AuthoringContextVixen.Editor.AssetEditors
  • AuthoringContextTestsVixen.Editor.AssetEditors.Tests
  • HarnessViewTestsVixen.Editor.AssetEditors.Tests
  • ProxyShapeImporterTestsVixen.Editor.Assets.Tests
  • ProxyShapeViewVixen.Editor.AssetEditors