splines(3U)
π NAME π
OpenBSpline, S_OpenBSpline, F_OpenBSpline, SF_OpenBSpline, SFH_OpenBSpline, ClosedBSpline, S_ClosedBSpline, F_ClosedBSpline, SF_ClosedBSpline, SFH_ClosedBSpline β structured graphics classes for open and closed B-splines
okay so bestie, this is splines(3U) from the InterViews Reference Manual, and it's literally your one-stop shop for B-spline structured graphics, both the open kind and the closed kind. no cap. π
β¨ SYNOPSIS β¨
#include <Unidraw/Graphic/splines.h>
πΈ DESCRIPTION πΈ
So here's the tea π: OpenBSpline and ClosedBSpline are Vertices subclasses, and they're abstract base classes β like, they exist to be the blueprint, not to be instantiated directly, iykyk. One is for open B-splines, one is for closed B-splines.
The predefined subclasses you actually get to play with:
S_OpenBSpline,F_OpenBSpline, andSF_OpenBSplineβ these draw stroked, filled, and stroked-filled open B-splines, respectively.S_ClosedBSpline,F_ClosedBSpline, andSF_ClosedBSplineβ these draw stroked, filled, and stroked-filled closed B-splines, respectively.
Then we have the extra-special ones π: SFH_OpenBSpline and SFH_ClosedBSpline are identical to their SF_-prefixed counterparts, EXCEPT β and this is the part that eats π
β they can detect hits on their control points in addition to detecting hits on their visible parts. main character energy fr fr.
And the storage situation, because everything has a home π«Ά:
- the stroked subclasses store a
PSBrush - the filled subclasses store a
PSPattern - the stroked-filled subclasses store one of each
π¦ OPENBSPLINE PROTECTED OPERATIONS π¦
OpenBSpline(Coord* x, Coord* y, int count, Graphic* = nil)βOpenBSpline's constructor is protected, and that's on purpose, bestie: it's there to prevent instantiation of the abstract base class. The parameters get passed directly to theVerticesconstructor. so don't try to make one, it's not for you π
π OPENBSPLINE SUBCLASS PUBLIC OPERATIONS π
S_OpenBSpline(Coord* x, Coord* y, int count, Graphic* = nil)F_OpenBSpline(Coord* x, Coord* y, int count, Graphic* = nil)SF_OpenBSpline(Coord* x, Coord* y, int count, Graphic* = nil)SFH_OpenBSpline(Coord* x, Coord* y, int count, Graphic* = nil)
These are the constructors for the various predefined Rect subclasses. (yes, it says Rect, that's what the page says, we're just the messenger π)
π CLOSEDBSPLINE PROTECTED OPERATIONS π
ClosedBSpline(Coord* x, Coord* y, int count, Graphic* = nil)β same deal as its open sibling: the constructor is protected to prevent instantiation of the abstract base class, and the parameters are passed directly to theVerticesconstructor. no touching, it's abstract β
β CLOSEDBSPLINE SUBCLASS PUBLIC OPERATIONS β
S_ClosedBSpline(Coord* x, Coord* y, int count, Graphic* = nil)F_ClosedBSpline(Coord* x, Coord* y, int count, Graphic* = nil)SF_ClosedBSpline(Coord* x, Coord* y, int count, Graphic* = nil)SFH_ClosedBSpline(Coord* x, Coord* y, int count, Graphic* = nil)
Constructors for the various predefined Rect subclasses. (again with the Rect, we know, we know π)
π₯ SEE ALSO π₯
Graphic(3U)Vertices(3U)geomobjs(3U)pspaint(3U)
go read those too, they're iconic, we stan cross-references π
okay that's the whole page, periodt β¨ this one came from Unidraw and it's dated 2 February 1991 β vintage, retro, ahead of its time, we love a classic ππ¦ bye bestie, go draw some splines π
π¦ where this page comes from
- debian bookworm: ivtools-dev 2.0.11d.a1-1+b4
- debian trixie: ivtools-dev 2.0.11d.a1-3+b4
- ubuntu jammy: ivtools-dev 2.0.11d.a1-1build1
- ubuntu noble: ivtools-dev 2.0.11d.a1-3build1
- ubuntu questing: ivtools-dev 2.0.11d.a1-3build7
- ubuntu resolute: ivtools-dev 2.0.11d.a1-3build9
- ubuntu stonking: ivtools-dev 2.1.1+git.2025.07.26.a1-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms