Smith.Assembly.Joint (Smith v0.1.0)

Copy Markdown View Source

An evaluated attachment frame and the member to which it belongs.

Define frames with Smith.Assembly.joint/3, connect them with Smith.Assembly.connect/3, and inspect them with Smith.Assembly.fetch_joint/2. :name is normalized like an assembly member name. :member is a list of normalized names relative to the result used for lookup. :frame contains the final world :origin and unit local axes :u, :v, and :n.

These are immutable evaluated values, not live constraints. Reevaluate the recipe after changing a motion parameter. Connections calculate rigid poses; they do not detect collisions or solve closed mechanical linkages.

Summary

Types

t()

@type t() :: %Smith.Assembly.Joint{
  frame: Smith.Assembly.Frame.t(),
  member: [String.t()],
  name: String.t()
}