package ppx_deriving_cad
[@@deriving cad]
A PPX deriver that generates functions for the spatial transformation of user defined abstract and record types composed of types for which said transformation functions are defined, in particular, the types of the OCADml library (e.g. V3.t
and V2.t
), as well as CAD specific types such as Scad.t
of OSCADml.
val cad : Ppxlib.Deriving.t
[@@deriving cad]
Derives translate
, scale
, rotate
, axis_rotate
, quaternion
, affine
, and mirror
for the tagged type (along with xyz specific helpers) respecting the dimensionality (2D, 3D, or either) of the overall type as determined by presence of OCADml
types or attribute tags.
val cad_jane : Ppxlib.Deriving.t
[@@deriving cad_jane]
Same as [@@deriving cad]
, but defaults to expecting keyword ~f
parameters for mappable types other than list
, option
, result
, and tuples. This can be overridden with the [@cad.map]
attribute.