gleSpiral

Sweep an arbitrary contour along a helical path.

Signature

gleSpiral( int( ncp ) , gleDouble[][2]( contour ) , gleDouble[][2]( cont_normal ) , gleDouble[3]( up ) , gleDouble( startRadius ) , gleDouble( drdTheta ) , gleDouble( startZ ) , gleDouble( dzdTheta ) , gleDouble[2][3]( startXform ) , gleDouble[2][3]( dXformdTheta ) , gleDouble( startTheta ) , gleDouble( sweepTheta ) )-> void
gleSpiral( contour , cont_normal , up , startRadius , drdTheta , startZ , dzdTheta , startXform , dXformdTheta , startTheta , sweepTheta )
gleSpiral( c_int(ncp), arrays.GLdoubleArray(contour), arrays.GLdoubleArray(cont_normal), arrays.GLdoubleArray(up), gleDouble(startRadius), gleDouble(drdTheta), gleDouble(startZ), gleDouble(dzdTheta), arrays.GLdoubleArray(startXform), arrays.GLdoubleArray(dXformdTheta), gleDouble(startTheta), gleDouble(sweepTheta) ) -> None

Parameters

VariablesDescription
ncp
number of contour points
contour
2D contour
cont_normal
2D contour normals
up
up vector for contour
startRadius
spiral starts in x-y plane
drdTheta
change in radius per revolution
startZ
starting z value
dzdTheta
change in Z per revolution
startXform
starting contour affine transformation
dXformdTheta
tangent change xform per revolution
startTheta
start angle in x-y plane
sweepTheta
degrees to spiral around

Description

Sweep an arbitrary contour along a helical path.
The axis of the helix lies along the modeling coordinate z-axis.
An affine transform can be applied as the contour is swept. For most ordinary usage, the affines should be given as NULL .
The startXform is an affine matrix applied to the contour to deform the contour. Thus, startXform of the form
cos sin 0 - sin cos 0
will rotate the contour (in the plane of the contour), while
1 0 tx 0 1 ty
will translate the contour, and
sx 0 0 0 sy 0
scales along the two axes of the contour. In particular, note that
1 0 0 0 1 0
is the identity matrix. The dXformdTheta is a differential affine matrix that is integrated while the contour is extruded. Note that this affine matrix lives in the tangent space, and so it should have the form of a generator. Thus, dx/dt's of the form
0 r 0 - r 0 0
rotate the the contour as it is extruded ( r 0 implies no rotation, r 2 implies that the contour is rotated once, etc.), while
0 0 tx 0 0 ty
translates the contour, and
sx 0 0 0 sy 0
scales it. In particular, note that
0 0 0 0 0 0
is the identity matrix

Author

Linas Vepstas

See Also

gleLathe

Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

gleSpiral
OpenGLContext OpenGLContext/scenegraph/extrusions.py Lines: 204

MathML Rendering

Powered by MathJax