module GLE:sig..end
Bindings to the GLE library. A set of functions to make extrusions.
GLE is a library that draws extruded surfaces, including surfaces of revolution, sweeps, tubes, polycones, polycylinders and helicoids. Generically, the extruded surface is specified with a 2D polyline that is extruded along a 3D path. A local coordinate system allows for additional flexibility in the primitives drawn. Extrusions may be texture mapped in a variety of ways. The GLE library generates 3D triangle coordinates, lighting normal vectors and texture coordinates as output.
type join_style =
| |
TUBE_JN_RAW |
| |
TUBE_JN_ANGLE |
| |
TUBE_JN_CUT |
| |
TUBE_JN_ROUND |
| |
TUBE_JN_CAP |
| |
TUBE_NORM_FACET |
| |
TUBE_NORM_EDGE |
| |
TUBE_NORM_PATH_EDGE |
| |
TUBE_CONTOUR_CLOSED |
val gleSetJoinStyle : join_style list -> unit
val gleGetJoinStyle : unit -> join_style listcontrol join style of the tubes
val gleDestroyGC : unit -> unitclean up global memory usage
type gle_float
val ba2_float32_of_array : float array array ->
(float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.tidentical to Bigarray.Array2.of_array Bigarray.float32 Bigarray.c_layout array
val ba2_float32_create : int ->
int ->
(float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.tidentical to Bigarray.Array2.create Bigarray.float32 Bigarray.c_layout dim1 dim2
val ba2_glefloat_of_array : float array array ->
(float, gle_float, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array2.tidentical to ba2_float32_of_array but with gle_float
val ba2_glefloat_create : int ->
int ->
(float, gle_float, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array2.tidentical to ba2_float32_create but with gle_float
val ba1_glefloat_of_array : float array ->
(float, gle_float, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t
val ba1_glefloat_create : int ->
(float, gle_float, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t
val colors_none : (float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t
val glePolyCylinder : points:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
colors:(float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
radius:float -> unitdraw polyclinder, specified as a polyline
points : polyline verticescolors : colors at polyline vertsradius : radius of polycylinderval glePolyCone : points:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
colors:(float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
radii:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array1.t ->
unitdraw polycone, specified as a polyline with radii
points : polyline verticescolors : colors at polyline vertsradii : cone radii at polyline vertsval glePolyCone_c4f : points:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
colors:(float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
radii:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array1.t ->
unitsame than glePolyCone but with RGBA colors
val gleExtrusion : contour:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
cont_normals:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
up:(float * float * float) option ->
points:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
colors:(float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
unitextrude arbitrary 2D contour along arbitrary 3D path
contour : 2D contourcont_normals : 2D contour normalsup : up vector for contourpoints : polyline verticescolors : colors at polyline vertsval gleTwistExtrusion : contour:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
cont_normals:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
up:(float * float * float) option ->
points:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
colors:(float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
twist:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array1.t ->
unitextrude 2D contour, specifying local rotations (twists)
contour : 2D contourup : up vector for contourval gleSpiral : contour:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
cont_normals:(float, gle_float, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array2.t ->
up:(float * float * float) option ->
start_radius:float ->
drd_theta:float ->
start_z:float ->
dzd_theta:float ->
start_xform:((float * float * float) * (float * float * float)) option ->
dx_formd_theta:((float * float * float) * (float * float * float)) option ->
start_theta:float -> sweep_theta:float -> unitsweep an arbitrary contour along a helical path
contour : 2D contourup : up vector for contourstart_radius : spiral starts in x-y planedrd_theta : change in radius per revolutionstart_z : starting z valuedzd_theta : change in z per revolutionstart_xform : starting contour affine transformdx_formd_theta : tangent change transform per revolutionstart_theta : start angle in x-y planesweep_theta : degrees to spiral aroundval gleHelicoid : torus_radius:float ->
start_radius:float ->
drd_theta:float ->
start_z:float ->
dzd_theta:float ->
start_xform:((float * float * float) * (float * float * float)) option ->
dx_formd_theta:((float * float * float) * (float * float * float)) option ->
start_theta:float -> sweep_theta:float -> unitGeneralized Torus. Similar to gleSpiral, except contour is a circle.
torus_radius : circle contour (torus) radiusstart_radius : spiral starts in x-y planedrd_theta : change in radius per revolutionstart_z : starting z valuedzd_theta : change in z per revolutionstart_xform : starting contour affine transformdx_formd_theta : tangent change transform per revolutionstart_theta : start angle in x-y planesweep_theta : degrees to spiral around