The CustomTubeGeometry( points, radius, radialSegments, heightSegments, withTop, withBottom )
is merely the adaptation of
DynamicTubeGeometry( radius, radialSegments, heightSegments, withTop, withBottom )
from How to update tubeGeometry geometry based in lineCurve modifications? - #14 by hofk
I removed the dynamics by calling the method to set the coordinates of all vertices once directly in the geometry definition (renamed from g.morph to g.setCoordinates).
This geometry is quite simple, more complicated were e.g. some things you can find at hofk (Klaus Hoffmeister) · GitHub.