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
type config = {
offset : OCADml.V3.t option;
lengths : float * float * float;
radii : (float * float * float) option;
splay : float option;
}
val config :
?offset:OCADml.V3.t ->
?radii:(float * float * float) ->
?splay:float ->
(float * float * float) ->
config
val splay : float -> t -> t
val extend : ?mult:(float * float * float) -> float -> t -> t
val flex : ?mult:(float * float * float) -> float -> t -> t
val make :
?splay:float ->
?offset:OCADml.V3.t ->
?radii:(float * float * float) ->
(float * float * float) ->
t
val to_scad :
t ->
([ `D3 ], OCADml.V3.t, OCADml.V3.t, OCADml.Affine3.t) OSCADml.Scad.t