I am working on a path display and am currently stuck on the implementation of Helix. I tried to understand MakeBottle.cxx from the occ-examples, but I had no chance. I understand too little about OCC to distinguish between Helix and the surfaces for the threading.
Fortunately, I discovered a post on cppblog that deals with Helix and OCC. I ran the Chinese through the translator, but somehow I'm still stuck.
So that a helix is a straight line on a cylinder surface is kind of clear. However, I don't understand all the steps to create the helix (from the blog).
The straight line "aLine2d" seems to be a vector. From the center axis of the cylinder to the shell surface with radius as one direction and cylinder axis as second direction. So far so good.
GCE2d_MakeSegment seems to be responsible for creating the helix. Could someone please help me understand what exactly the function does? Or point me to some background information? Maybe there is some prose to read? If possible written for dummies - i.e. without a PhD in math.
From the path library I use, I get three 3D space coordinates (start, end and center), the number of full turnarounds and the vector of the cylinder center axis.
I would like to understand GCE2d_MakeSegment to the extent that I can adapt the code to my needs.