Module Dometyl.Hand

module Bone : sig ... end
module Finger : sig ... end
module Fingers : sig ... end
module Thumb : sig ... end
type config = {
  1. index : Finger.config;
  2. middle : Finger.config;
  3. ring : Finger.config;
  4. pinky : Finger.config;
  5. thumb : Finger.config;
  6. carpal_len : float option;
  7. knuckle_rad : float option;
}
type t = {
  1. fingers : Fingers.t;
  2. thumb : Thumb.t;
  3. carpals : OSCADml.Scad.d3;
  4. knuckle_rad : float;
  5. origin : OCADml.V3.t;
  6. wrist : OCADml.V3.t;
  7. heading : OCADml.V3.t;
  8. normal : OCADml.V3.t;
}
val translate : OCADml.V3.t -> t -> t
val xtrans : float -> t -> t
val ytrans : float -> t -> t
val ztrans : float -> t -> t
val rotate : ?about:OCADml.V3.t -> OCADml.V3.t -> t -> t
val xrot : ?about:OCADml.V3.t -> float -> t -> t
val yrot : ?about:OCADml.V3.t -> float -> t -> t
val zrot : ?about:OCADml.V3.t -> float -> t -> t
val axis_rotate : ?about:OCADml.V3.t -> OCADml.V3.t -> float -> t -> t
val quaternion : ?about:OCADml.V3.t -> OCADml.Quaternion.t -> t -> t
val scale : OCADml.V3.t -> t -> t
val xscale : float -> t -> t
val yscale : float -> t -> t
val zscale : float -> t -> t
val mirror : OCADml.V3.t -> t -> t
val affine : OCADml.Affine3.t -> t -> t
val flex_fingers : ?mult:(float * float * float) -> float -> t -> t
val extend_fingers : ?mult:(float * float * float) -> float -> t -> t
val flex_thumb : ?mult:(float * float * float) -> float -> t -> t
val extend_thumb : ?mult:(float * float * float) -> float -> t -> t
val extend : float -> t -> t
val flex : float -> t -> t
val adduction : float -> t -> t
val abduction : float -> t -> t
val suppinate : float -> t -> t
val pronate : float -> t -> t
val radial_dev : float -> t -> t
val ulnar_dev : float -> t -> t
val update_digits : ?index:(Finger.t -> Finger.t) -> ?ring:(Finger.t -> Finger.t) -> ?middle:(Finger.t -> Finger.t) -> ?pinky:(Finger.t -> Finger.t) -> ?thumb:(Finger.t -> Finger.t) -> t -> t
val make : ?carpal_len:float -> ?knuckle_rad:float -> Fingers.t -> Thumb.t -> t
val of_config : config -> t
val to_scad : ?alpha:float -> ?color:OSCADml.Color.t -> t -> ([ `D3 ], OCADml.V3.t, OCADml.V3.t, OCADml.Affine3.t) OSCADml.Scad.t
val home : ?hover:float -> Plate.t -> t -> t
val home_curl : t -> t
val default_config : config
val example : t