Vertices(3U)
β¨ Vertices β the manual page (3U) β¨
okay bestie, welcome to the InterViews Reference Manual π this one's about Vertices, and it lives in section 3U. let's get into it, no cap.
πΈ NAME πΈ
Vertices β the abstract base class for graphics defined by a set of coordinate pairs. yeah. the blueprint-y one. the mother of polygons and splines. main character energy fr. π
β¨ SYNOPSIS β¨
#include <Unidraw/Graphic/verts.h>
π¦ DESCRIPTION π¦
okay so Vertices is an abstract base class for graphics whose whole geometry is specified by a set of coordinate pairs β think polygons, think splines, think all the shape girlies whose vibe is "here is a list of points, do with that what you will." π
the Vertices class handles the vertex-related operations that all of those graphical objects have in common, and it also supports extent caching. lowkey efficient of it. π
π PUBLIC OPERATIONS π
virtual ~Vertices()β the destructor. it deallocates the list of coordinate pairs that's stored up in the graphic. bye bye points, thanks for everything π«Άvirtual int GetOriginal(const Coord*& x, const Coord*& y)β hands you back pointers to the arrays ofCoords stored internally that define the graphic's vertices. andGetOriginal's return value tells you the size of the arrays, so you're not out here guessing. iconic behaviour honestly. βvirtual boolean operator == (Vertices&)virtual boolean operator != (Vertices&)
these two compare this to the given Vertices instance and tell you whether they (do not) store identical sets of vertices. like a vibe check but for coordinate arrays. π
π₯ PROTECTED OPERATIONS π₯
Vertices(Graphic* = nil)Vertices(Coord* x, Coord* y, int count, Graphic* = nil)
so these constructors are protected on purpose β it's to disallow instantiation of the abstract class, bestie. you cannot just make a raw Vertices, that's not the move. π
subclasses can pass in a set of vertices to copy into internal storage, plus an optional graphic to grab an initial set of graphics state from. and important: Vertices itself stores no additional graphics state beyond what's already in the Graphic base class. it's minimalist like that. π
void s_getExtent(float&, float&, float&, float&, float&, Graphic*)void f_getExtent(float&, float&, float&, float&, float&, Graphic*)
these are helper functions that return extent info based on the bounding box that the vertices define. π¦
s_getExtentreturns an extent that accounts for the width of a brush β which is what you'd need if the vertices defined a stroked path.f_getExtentassumes the vertices define the graphic's extremities β which is the case if the vertices defined a filled path.
and the way that these operations cache the extent they compute initially?? obsessed. they do the math once and then justβ¦ remember it. π β¨
π SEE ALSO π
Graphic(3U)
and that's the whole page, bestie!! π«Ά this came out of the Unidraw era, dated 2 February 1991, and it's still filed under Vertices(3U) β go forth and draw your little point-lists. periodt. πππ¦
π¦ 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