Library

Module

Module type

Parameter

Class

Class type

sectionYPositions = computeSectionYPositions($el), 10)" x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)">

On This Page

Legend:

Library

Module

Module type

Parameter

Class

Class type

Library

Module

Module type

Parameter

Class

Class type

Vectors for describing transformations and points in 2/3-dimensional space.

`type v4 = Gg.v4`

4-dimensional vector

`type v2 = Gg.v2`

2-dimensional vector

`type v3 = Gg.v3`

3-dimensional vector

`val v2 : float -> float -> Gg.v2`

`v2 x y`

Construct a 2d vector from `x`

and `y`

coordinates.

`val v3 : float -> float -> float -> Gg.v3`

`v3 x y z`

Construct a 3d vector from `x`

, `y`

, and `z`

coordinates.

`val v4 : float -> float -> float -> float -> Gg.v4`

`v4 x y z`

Construct a 4d vector from `x`

, `y`

, `z`

, and `w`

coordinates.

`module V2 : sig ... end`

`module V3 : sig ... end`

`module Affine2 : sig ... end`

A 2d affine transformation matrix.

`module Affine3 : sig ... end`

Affine transformation matrices for transforming 3d vectors (`V3.t`

), and 3d shapes.

`module Quaternion : sig ... end`

Provides functions for the creation of and operations between quaternions. These can be used to create composable and interpolatable rotations to be applied to 3d vectors (`V3.t`

), and shapes.

`module Plane : sig ... end`

Normalized cartesian plane operations facilitating conversion between 2d and 3d space.

`module Path2 : sig ... end`

2d path generation (including arcs and basic shapes), manipulation (including offset and roundovers (see `Round`

), and measurement.

`module Bezier2 : sig ... end`

Generation and measurement of 2d bezier curve (and patch/surface) functions. Including `of_path`

, which produces a bezier spline function that passes through all points of the given path.

`module CubicSpline : sig ... end`

Cubic spline interpolation of 2d paths.

`module Poly2 : sig ... end`

2d polygons made up of an outer, and zero or more inner `Path2.t`

s. Includes basic shape creation helpers, manipulations, (including offset and basic transformations), measurement, and validation.

`module PolyText : sig ... end`

Point path representations (using `Poly2.t`

) of text via ocaml-cairo import of system fonts. **NOTE:** Still somewhat experimental.

`module Box2 = Gg.Box2`

`module Path3 : sig ... end`

3d path generation (including arcs and basic shapes), manipulation (including roundovers (see `Round`

), and conversion to sweeping transformations with `to_transforms`

), and measurement.

`module Bezier3 : sig ... end`

Generation and measurement of 3d bezier curve (and patch/surface) functions. Including `of_path`

, which produces a bezier spline function that passes through all points of the given path.

`module Poly3 : sig ... end`

Planar 3d polygons made up of an outer, and zero or more inner `Path3.t`

s. Includes basic shape creation helpers, manipulations, (including offset and basic transformations), measurement, and validation.

`module Mesh : sig ... end`

Generation, and manipulation of 3-dimensional meshes (points and faces).

`module Box3 = Gg.Box3`

`module Math : sig ... end`

Various operations on floats (*e.g.* approximate equality, linear interpolation), and basic arbitrary size 2d matrix operations.

`module Easing : sig ... end`

Cubic bezier easing.

`module BallTree2 : sig ... end`

Construction of 2d vector space partitioning ball tree structures for nearest neighbour search. Implementation adapted from the BOSL2 vectors module.

`module BallTree3 : sig ... end`

Construction of 3d vector space partitioning ball tree structures for nearest neighbour search. Implementation adapted from the BOSL2 vectors module.

On This Page