Vixen
02b45cc4
csharp
public readonly record struct SurfacePoint

A place on a primitive's surface, in that primitive's own parameterisation.

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

Remarks

⚠ Normalised, and that is the whole point of the type. Scale a shape and the same (face, u, v) resolves to a different world point that means the same place on the body — a hand on the belly of a slim character resolves to the belly of a heavy one, and the same clip works on both. There is no cheap correspondence between the vertices of two meshes and there is an exact one between the surfaces of two boxes, which is why proxy shapes exist at all and why a mesh cannot substitute for them.

Fields and properties (4)

  • public int Face

    Which patch. −1 for the one surface a round shape mostly is; 0–5 for a box's faces in the order +X −X +Y −Y +Z −Z; 0 and 1 for the top and bottom cap of a capsule, cylinder or cone.

  • public float U

    Around, in [0, 1). The angle for a round shape.

  • public float V

    Along, in [0, 1]. Zero at the bottom.

  • public static SurfacePoint Side

    The middle of a round shape's side.

Methods (1)

  • public SurfacePoint(int Face, float U, float V)

    A place on a primitive's surface, in that primitive's own parameterisation.

Used by (10)

  • ConstraintStageBenchmarksVixen.Benchmarks.Animation
  • ConstraintProposalsVixen.Animation
  • ProxyShapeTestsVixen.Animation.Tests
  • ShapeGeometryVixen.Animation
  • SurfaceCoordinateVixen.Animation
  • SurfaceFrameVixen.Animation
  • SurfacePathVixen.Animation
  • SurfacePathKeyVixen.Animation
  • TrajectorySampleVixen.Animation
  • TrajectoryTestsVixen.Animation.Tests