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.