gleLathe(3GLE)
π« gleLathe β the 3GLE manual page, but make it cute
okay bestie, buckle up π this is a page from the GLE manual set, section 3GLE, and it's about gleLathe β the function that literally spins your contour around and makes a whole helix out of it. no cap. let's go π
β¨ NAME β¨
gleLathe β sweep using a Z-axis shear to create an arbitrary contour along a helical path.
like, it takes your lil 2D shape and twirls it around the z-axis on a spiral staircase. it's giving pottery wheel πΊ but make it math.
πΈ SYNTAX πΈ
void gleLathe (int ncp,
gleDouble contour[][2],
gleDouble cont_normal[][2],
gleDouble up[3],
gleDouble startRadius, /* spiral starts in x-y plane */
gleDouble drdTheta, /* change in radius per revolution */
gleDouble startZ, /* starting z value */
gleDouble dzdTheta, /* change in Z per revolution */
gleDouble startXform[2][3], /* starting contour affine xform */
gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
gleDouble startTheta, /* start angle in x-y plane */
gleDouble sweepTheta); /* degrees to spiral around */
look at her. twelve arguments. she's high maintenance but she EATS π₯
π¦ ARGUMENTS π¦
ncpβ the number of contour points. count 'em, bestie.contourβ the 2D contour itself.cont_normalβ the 2D contour normals. yes, plural, she brought friends.upβ the up vector for the contour.startRadiusβ where the spiral begins in the x-y plane.drdThetaβ how much the radius changes per revolution. growth rate energy π±startZβ the z value you start at.dzdThetaβ how much Z changes per revolution. this is the climbing part, the main character ascent πstartXformβ the starting contour affine transformation.dXformdThetaβ the tangent change xform per revolution.startThetaβ the starting angle in the x-y plane.sweepThetaβ the degrees to spiral around. how far you go, periodt.
π DESCRIPTION π
Sweep an arbitrary contour along a helical path. that's the whole vibe. π
and here's the part that makes it this function and not some other one: the sweep gets performed as a shear along the z-axis, so the orientation of the contour is displaced, rather than translated, as the contour is swept. read that again bestie, it matters. she's displacing, not translating. totally different girlies.
The axis of the helix lies along the modeling coordinate z-axis. so like, that's the pole, that's the axis, that's where all the spinning happens.
An affine transform can be applied as the contour is swept. and for most ordinary usage? the affines should be given as NULL. so unless you're doing something fancy, just hand her NULL and let her cook π
π SEE ALSO π
gleSpiral β her cousin, also slay, go read that one too π
π AUTHOR π
Linas Vepstas (linas@linas.org) β the icon who wrote this. respect π
okay that's the whole page, you ate that reading it fr fr π«Ά
signing off with the deets: this was GLE, version 3.0, and the page title at the top was gleLathe(3GLE) matching the footer β so like, same energy top and bottom, symmetric, iconic, no notes β bye bestie π
π¦ where this page comes from
- debian bookworm: libgle3-dev 3.1.0-10 Β· GPL-2.0-only
- debian trixie: libgle3-dev 3.1.2-1+b2 Β· GPL-2.0-only
- fedora 43: libgle-devel 3.1.0-36.fc43 Β· GPL-2.0-only OR (ClArtistic AND LicenseRef-Callaway-MIT)
- fedora 43: libgle-devel 3.1.0-36.fc43 Β· GPL-2.0-only OR (ClArtistic AND LicenseRef-Callaway-MIT)
- fedora 44: libgle-devel 3.1.0-37.fc44 Β· GPL-2.0-only OR (ClArtistic AND LicenseRef-Callaway-MIT)
- fedora 44: libgle-devel 3.1.0-37.fc44 Β· GPL-2.0-only OR (ClArtistic AND LicenseRef-Callaway-MIT)
- nixos 26.05: gle 3.1.2
- nixpkgs unstable: gle 3.1.2
- opensuse-leap 16.0: gle-devel 3.1.2-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: gle-devel 3.1.2-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: gle-devel 3.1.2-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: gle-devel 3.1.2-bp160.1.13 Β· GPL-2.0-or-later
- ubuntu jammy: libgle3-dev 3.1.0-10 Β· GPL-2.0-only
- ubuntu noble: libgle3-dev 3.1.2-1build1 Β· GPL-2.0-only
- ubuntu questing: libgle3-dev 3.1.2-1build1
- ubuntu resolute: libgle3-dev 3.1.2-1build2 Β· GPL-2.0-only
- ubuntu stonking: libgle3-dev 3.1.2-1build2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms