- .
This directory contains the source files for the upper level C VOGLE interface.
KNOWN BUGS:
Objects are problematic in that while they are built the calls are
recorded but not executed. This means that any routine that gets
information like current position or looks at attributes will get the
wrong information. Either make that clear, or only record routines
that actually call the driver or make a driver that just records the
low-level calls are other solutions. Scaling from the driver solution
might be tough.
- arcs.c VOGLE:arcprecision - sets the number of segments in an arc or circle. - obsolete function.
VOGLE:circleprecision - sets the number of segments in an arc or circle.
VOGLE:arc - draw an arc at given location.
VOGLE ... Precision of arc (# line segments) is calculated from the value given to circleprecision.
VOGLE:sector - draw a sector at given location.
VOGLE ... The number of line segments in the arc of the segment is the same as in arc.
VOGLE:circle - * Draw a circle of given radius at given world coordinates.
VOGLE ... The number of segments in the circle is the same as that of an arc.
- aspect.c VOGLE:getaspect - Gets the aspect ratio of the display/window. IE. y / x
VOGLE:getdisplaysize - Returns the raw size of the display window in pixel units as floating point values.
VOGLE:getfactors - returns x,y scaling factors for use with the viewport call
VOGLE ... so the viewport can be set to the whole display/window.
VOGLE:expandviewport - set viewport to whole device
VOGLE:unexpandviewport - opposite of the above (expandviewport)
- attr.c VOGLE:copyattributes - copy everything except back pointer from attribute b to a
VOGLE:printattribs - print attributes
VOGLE:getattribs - make something to return attributes so can query them
VOGLE:printlogicals - print logical device attributes
VOGLE:printvdevice - print logical and other attributes
VOGLE:pushattributes - save the current attributes on the matrix stack
VOGLE:popattributes - pop the top entry on the attribute stack
- buffer.c VOGLE:backbuffer - swap drawing to backbuffer - returns -1 if no backbuffer is available.
VOGLE:frontbuffer - start drawing in the front buffer again. This will always work!
VOGLE:swapbuffers - swap the back and front buffers - returns -1 if no backbuffer is available.
- clip.c VOGLE:MakeEdgeCoords - calculates distance from point to each clipping plane in Homogeneous clipping coordinates.
VOGLE ... Return code if on outside of any clipping plane is non-zero.
VOGLE:clip - Clips a 3D line using Homogeneous clipping. Reference: Newman and Sproull
VOGLE:quickclip - A variation on the above that assumes p0 is a valid position in device coords
VOGLE:clipping - Turns clipping on or off.
- curves.c VOGLE:curvebasis - sets the basis type of curves.
VOGLE:make_prec - Make the precision matrix for a single curve
VOGLE:curveprecision - sets the number of line segments that make up a curve segment.
VOGLE:rcurve - draws a rational curve
VOGLE:curve - draws a curve
VOGLE:drcurve - Iterate a forward difference matrix to draw a curve.
VOGLE:curven - draws a series of curve segments.
- draw.c VOGLE:dashcode - Set the current dash length
VOGLE:linestyle - Set the current linestyle as a character string of 1's and 0's
VOGLE:dashline - Draw dashed lines.Assumes p0 - p1 are valid (possibly clipped endpoints)
VOGLE:draw - draw a line form the logical graphics position to the world coordinates x, y, z.
VOGLE:draw2 - draw a line from the logical graphics position to the world coordinates x, y.
VOGLE:rdraw - 3D relative draw from the logical graphics position by dx, dy, dz.
VOGLE:rdraw2 - 2D relative draw from the logical graphics position by dx, dy.
VOGLE:sdraw2 - Draw directly in proportion to screen coordinates.
VOGLE:rsdraw2 - Relative draw as a fraction of screen size.
- drivers.c
- getgp.c VOGLE:getgp - return the current (x, y, z) graphics position
VOGLE:getgp2 - return the current (x, y) graphics position
VOGLE:getgpt - return the current transformed graphics position.
VOGLE:sgetgp2 - return the current (x, y) graphics position in screen coordinates
- getstring.c VOGLE:getstring - Get a character string from the keyboard in graphics mode.
- mapping.c VOGLE:VtoWxy - Return the world x and y values corresponding to the input screen x and y values.
VOGLE:calcW2Vcoeffs - Calculate the linear coeffs defining the mapping of world space to actual device space
VOGLE:WtoVx - return the Screen X coordinate corresponding to world point 'p' (does the perspective division as well)
VOGLE:WtoVy - return the Screen Y coordinate corresponding to world point 'p' (does the perspective division as well)
- matrix.c VOGLE:copyvector - Copy the 4 vector b to a.
VOGLE:copymatrix - Copy the 4 x 4 matrix b to the 4 x 4 matrix a
VOGLE:copytranspose - copy the transpose of the 4 x 4 matrix b to the 4 x 4 matrix a.
VOGLE:getmatrix - Retrieve the top matrix on the stack and place it in m
VOGLE:pushmatrix - Push the top matrix of the stack down, placing a copy of it on the top of the stack.
VOGLE:popmatrix - Pop the top matrix from the stack.
VOGLE:loadmatrix - load matrix
VOGLE:mult4x4 - multiply 4 x 4 matrices b and c assigning them into a.
VOGLE:multmatrix - Premultipy the top matrix on the stack by 'mat'
VOGLE:identmatrix - Return a 4 x 4 identity matrix
VOGLE:multvector - Multiply the vector a and the matrix b to form v. Need it to be snappy again.
VOGLE:premultvector - PreMultiply the vector a and the matrix b to form v. Need it to be snappy again.
VOGLE:printmat - print s and then dump matrix m.
VOGLE:printvect - print vector
- move.c VOGLE:move - Move the logical graphics position to the world coordinates x, y, z.
VOGLE:move2 - Move the logical graphics position to the world coords x, y, 0.0
VOGLE:rmove - move the logical graphics position from the current world coordinates by dx, dy, dz
VOGLE:rmove2 - Move Relative in 2D.
VOGLE:smove2 - Move directly as a fraction of the screen size.
VOGLE:rsmove2 - Relative move as a fraction of the screen size.
- newtokens.c VOGLE:newtokens - returns the space for num tokens
- objects.c VOGLE:makeobj - start a new object.
VOGLE:closeobj - close an object
VOGLE:delobj - deletes an object, freeing its memory
VOGLE:genobj - generates a unique object identifier
VOGLE:getopenobj - returns the object currently being edited, -1 if none.
VOGLE:loadobj - reads in object file file and makes it the object referred to by n.
VOGLE:saveobj - saves the object n into file file.
VOGLE:doarc - draw an arc or circle.
VOGLE:callobj - draws an object
VOGLE:isobj - returns 1 if there is an object n, 0 otherwise.
- patches.c VOGLE:patchbasis - Specify the two basis matrices for a patch
VOGLE:patchprecision - Specify the lower limit on the number of line segments used to draw a curve as part of a patch.
VOGLE:patchcurves - Specify the number of curves to be drawn in each direction on a patch.
VOGLE:makeprec - Makes up the two precision matrices for a patch
VOGLE:patch - Draws a bicubic patch. (ie. all the w coords a 1 and the basis matrices don't change that)
VOGLE:rpatch - Draws rational bicubic patches.
VOGLE:transformtensor - Transform the tensor S by the matrix m
VOGLE:replace - Does the reverse of extract.
VOGLE:drpatch - Actually does the work of drawing a patch.
VOGLE:iterate - Iterates the forward difference tensor R
VOGLE:extract - Extract the k'th column of the tensor a into the matrix b.
VOGLE:addemup
- points.c VOGLE:point - plot a point in x, y, z.
VOGLE:point2 - plot a point in x, y.
VOGLE:spoint - plot a point in screen coords.
- polygons.c VOGLE:polyfill - set the polygon fill flag. This will always turn off hatching.
VOGLE:polyhatch - set the polygon hatch flag. This will always turn off fill.
VOGLE:hatchang - set the hatch angle
VOGLE:hatchpitch - set the hatch pitch
VOGLE:hatch - hatch the polygon defined by the n points in the array p.
VOGLE:backfacedir - Set which direction backfacing polygons are defined to be.
VOGLE:... * 1 = clockwise (in screen coords) 0 = anticlockwise.
VOGLE:backface - Turns on culling of backfacing polygons. A polygon is
VOGLE:... backfacing if it's orientation in *screen* coords is clockwise.
VOGLE:dopoly - do a transformed polygon with n edges using fill or hatch
VOGLE:polyoutline - draws a polygon outline from already transformed points.
VOGLE:polyobj - construct a polygon from a object token list
VOGLE:poly2 - construct polygon from a (x, y) array of points provided by user
VOGLE:poly - construct a polygon from an array of points provided by the user.
VOGLE:pmove - set the start position of a polygon
VOGLE:pdraw - add another vertex to the polygon array
VOGLE:makepoly - set up a polygon which will be constructed by a series of move draws.
VOGLE:closepoly - draw the polygon started by the above.
VOGLE:checkbacki - Checks if a transformed polygon is backfacing or not.
VOGLE:The following routines are an implementation of the Sutherland - Hodgman
VOGLE:polygon clipper, as described in 'Reentrant Polygon Clipping'
VOGLE:Communications of the ACM Jan 1974, Vol 17 No. 1.
VOGLE:polyclip
VOGLE:shclip
VOGLE:shclose
VOGLE:intersect
VOGLE:visible
- pref.c VOGLE:prefposition - Specify a preferred position for a window that is under control of a window manager.
VOGLE:prefsize - Specify the preferred size for a window under control of a window manager.
VOGLE:getprefposandsize - Returns the preferred position and size of a window under control of a window manager.
- rect.c VOGLE:rect - draw a rectangle given two opposite corners
VOGLE:srect - draw a rectangle given two opposite corners in screen coords.
- scale.c VOGLE:scale - Set up a scale matrix and premultiply it and the top matrix on the stack.
- tensor.c VOGLE:premulttensor - Premultiply the tensor b by the matrix a and place the result into the tensor c.
VOGLE:multtensor - Multiply the tensor b by the matrix a and place the result into the tensor c.
VOGLE:copytensor - Copy the tensor a into b.
VOGLE:copytensortrans - Copy the tensor a into b 'transposed'.
- text.c VOGLE:font - loads in a font.
VOGLE:numchars - return the number of characters in the currently loaded hershey font.
VOGLE:hershfont - Load in a Hershey font
VOGLE:getcharsize - get the width and height of a single character
VOGLE:drawchar - Display a character from the currently loaded font.
VOGLE:drawhardchar - Displays a hardware character.
VOGLE:textsize - set software character scaling values
VOGLE:getfontwidth - Return the maximum width of the current font.
VOGLE:getfontheight - Return the maximum Height of the current font
VOGLE:getfontdec - Return the maximum descender of the current font
VOGLE:getfontasc - Return the maximum ascender of the current font
VOGLE:getfontsize - get the current character size in user coords.
VOGLE:drawhstr - Display the text string using the currently loaded Hershey font
VOGLE:drawstr - Draw a string from the current pen position.
VOGLE:istrlength - Find out the length of a string in raw 'Hershey coordinates'.
VOGLE:strlength - Find out the length (in world coords) of a string.
VOGLE:boxtext - Draw text so it fits in a 'box' - note only works with Hershey text
VOGLE:boxfit - Set up the scales etc for text so that a string of 'nchars' characters of the maximum width in the font fits in a box.
VOGLE:centertext - Turns centering of text on or off. Turns off all other justifying.
VOGLE:textjustify - Directly turns on/off justification
VOGLE:xcentertext - Directly turns on xcentering
VOGLE:ycentertext - Directly turns on ycentering
VOGLE:leftjustify - Turns on leftjustification
VOGLE:rightjustify - Turns on rightjustification
VOGLE:topjustify - Turns on topjustification
VOGLE:bottomjustify - Turns on bottomjustification
VOGLE:fixedwidth - Turns fixedwidth text on or off
VOGLE:textang - set software character angle in degrees
VOGLE:textslant - Defines the obliqueness of the fonts.
VOGLE:textweight - Defines the weight of the fonts.
VOGLE:actual_move - implements a move
- trans.c VOGLE:translate - Set up a translation matrix and premultiply it and the top matrix on the stack.
VOGLE:rotate - Set up a rotate matrix and premultiply it with the top matrix on the stack.
- valloc.c VOGLE:vallocate - malloc with error checking
VOGLE:realloc with error checking
VOGLE:vfree - free with error checking
- verror.c VOGLE:verror - print an error on the graphics device, and then exit.
- viewing.c VOGLE:polarview - Specify the viewer's position in polar coordinates
VOGLE:up - set the up vector
VOGLE:normallookat - do the standard lookat transformation.
VOGLE:lookatwithup - do the standard lookat transformation using an up vector as well.
VOGLE:lookat - Specify the viewer's position by giving a viewpoint and a reference point in world coordinates.
VOGLE:perspective - Specify a perspective viewing pyramid in world coordinates
VOGLE:window - Specify a perspective viewing pyramid in world coordinates
VOGLE:ortho - Define a three dimensional viewing box
VOGLE:ortho2 - Specify a two dimensional viewing rectangle.
- viewp.c VOGLE:pushviewport - pushes the current viewport on the viewport stack
VOGLE:popviewport - pops the top viewport off the viewport stack.
VOGLE:viewport - Define a Viewport in Normalized Device Coordinates
VOGLE:getviewport - Returns the left, right, bottom and top limits of the current viewport.
- yobbarays.c VOGLE:yobbarays - Turns on (or off) yobba rays, as described by Larry Dart's friend.
This index was generated (by tree2html(1)) on Mon, Jun 4, 2018 9:46:11 AM.