Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

glespiral(3gle) [debian man page]

gleSpiral(3GLE) 							GLE							   gleSpiral(3GLE)

NAME
gleSpiral - Sweep an arbitrary contour along a helical path. SYNTAX
void gleSpiral (int ncp, gleDouble contour[][2], gleDouble cont_normal[][2], gleDouble up[3], gleDouble startRadius, /* spiral starts in x-y plane */ gleDouble drdTheta, /* change in radius per revolution */ gleDouble startZ, /* starting z value */ gleDouble dzdTheta, /* change in Z per revolution */ gleDouble startXform[2][3], /* starting contour affine xform */ gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ gleDouble startTheta, /* start angle in x-y plane */ gleDouble sweepTheta); /* degrees to spiral around */ ARGUMENTS
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*PI 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 -- i.e. the derivatives are zero, and therefore the integral is a constant. SEE ALSO
gleLathe AUTHOR
Linas Vepstas (linas@linas.org) GLE
3.0 gleSpiral(3GLE)

Check Out this Related Man Page

GLUNEXTCONTOUR(3G)														GLUNEXTCONTOUR(3G)

NAME
gluNextContour - mark the beginning of another contour C SPECIFICATION
void gluNextContour( GLUtesselator* tess, GLenum type ) PARAMETERS
tess Specifies the tessellation object (created with gluNewTess). type Specifies the type of the contour being defined. Valid values are GLU_EXTERIOR, GLU_INTERIOR, GLU_UNKNOWN, GLU_CCW, and GLU_CW. DESCRIPTION
gluNextContour is used in describing polygons with multiple contours. After the first contour has been described through a series of gluTessVertex calls, a gluNextContour call indicates that the previous contour is complete and that the next contour is about to begin. Another series of gluTessVertex calls is then used to describe the new contour. This process can be repeated until all contours have been described. type defines what type of contour follows. The legal contour types are as follows: GLU_EXTERIOR An exterior contour defines an exterior boundary of the polygon. GLU_INTERIOR An interior contour defines an interior boundary of the polygon (such as a hole). GLU_UNKNOWN An unknown contour is analyzed by the library to determine if it is interior or exterior. GLU_CCW, GLU_CW The first GLU_CCW or GLU_CW contour defined is considered to be exterior. All other contours are considered to be exte- rior if they are oriented in the same direction (clockwise or counterclockwise) as the first contour, and interior if they are not. If one contour is of type GLU_CCW or GLU_CW, then all contours must be of the same type (if they are not, then all GLU_CCW and GLU_CW con- tours will be changed to GLU_UNKNOWN). Note that there is no real difference between the GLU_CCW and GLU_CW contour types. Before the first contour is described, gluNextContour can be called to define the type of the first contour. If gluNextContour is not called before the first contour, then the first contour is marked GLU_EXTERIOR. This command is obsolete and is provided for backward compatibility only. Calls to gluNextContour are mapped to gluTessEndContour followed by gluTessBeginContour. EXAMPLE
A quadrilateral with a triangular hole in it can be described as follows: gluBeginPolygon(tobj); gluTessVertex(tobj, v1, v1); gluTessVertex(tobj, v2, v2); gluTessVertex(tobj, v3, v3); gluTessVertex(tobj, v4, v4); gluNextContour(tobj, GLU_INTERIOR); gluTessVertex(tobj, v5, v5); gluTessVertex(tobj, v6, v6); gluTessVertex(tobj, v7, v7); gluEndPolygon(tobj); SEE ALSO
gluBeginPolygon(3G), gluNewTess(3G), gluTessCallback(3G), gluTessVertex(3G), gluTessBeginContour(3G) GLUNEXTCONTOUR(3G)
Man Page