Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

quad.h

Go to the documentation of this file.
00001 /*
00002 ** ---------------------------------------------------------------
00003 ** quad.h  -  Quadrilateral primitive module definitions and prototypes.
00004 **
00005 ** ---------------------------------------------------------------
00006 */
00007 
00008 #ifndef _QUAD_H
00009 #define _QUAD_H
00010 
00033 /*
00034 ** ---------------------------------------------------------------
00035 ** Used global definitions:
00036 **
00037 */
00038 #include <stdio.h>  /* FILE */
00039 
00040 /*
00041 ** ---------------------------------------------------------------
00042 ** Public data type definitions:
00043 */
00044 
00047 typedef struct _quad Quad;
00048 
00049 
00050 /*
00051 ** ---------------------------------------------------------------
00052 ** Public functions:
00053 **
00054 */
00055 
00056 /* --------------------------------------------------------------- */
00084 Quad *quadCreate( void );
00085 
00086 /* --------------------------------------------------------------- */
00094 void quadDelete( Quad *quad );
00095 
00096 /* --------------------------------------------------------------- */
00107 void quadRead( Quad *quad, FILE *fd );
00108 
00109 /* --------------------------------------------------------------- */
00120 void quadWrite( Quad *quad, FILE *fd );
00121 
00122 /* --------------------------------------------------------------- */
00134 int quadGetNPts( Quad *quad );
00135 
00136 /* --------------------------------------------------------------- */
00163 void quadSetCoords( Quad *quad, int id, double x, double y );
00164 
00165 /* --------------------------------------------------------------- */
00191 void quadGetCoords( Quad *quad, int id, double *x, double *y );
00192 
00193 /* --------------------------------------------------------------- */
00225 void quadSet1stPt( Quad *quad, double x, double y );
00226 
00227 /* --------------------------------------------------------------- */
00259 void quadSet2ndPt( Quad *quad, double x, double y );
00260 
00261 /* --------------------------------------------------------------- */
00284 int quadPickArea( Quad *quad, double x, double y );
00285 
00286 /* --------------------------------------------------------------- */
00319 int quadPickVertex( Quad *quad, double x, double y, double tol, 
00320                     int *id );
00321 
00322 /* --------------------------------------------------------------- */
00354 int quadPickSide( Quad *quad, double x, double y, double tol, 
00355                   int *id );
00356 
00357 /* --------------------------------------------------------------- */
00368 void quadTranslate( Quad *quad, double dx, double dy );
00369 
00370 /* --------------------------------------------------------------- */
00396 void quadTranslateVertex( Quad *quad, int id, double dx, double dy );
00397 
00398 /* --------------------------------------------------------------- */
00426 void quadTranslateSide( Quad *quad, int id, double dx, double dy );
00427 
00428 /* --------------------------------------------------------------- */
00442 void quadGetBox( Quad *quad, double *xmin, double *xmax, 
00443                              double *ymin, double *ymax );
00444 
00445 /* --------------------------------------------------------------- */
00463 void quadDisplayBoundary( Quad *quad );
00464 
00465 /* --------------------------------------------------------------- */
00481 void quadDisplayInterior( Quad *quad );
00482 
00483 /* --------------------------------------------------------------- */
00495 void quadDisplaySolid( Quad *quad, double height );
00496 
00497 /* --------------------------------------------------------------- */
00509 void quadHighltSolid( Quad *quad, double height );
00510 
00511 /* --------------------------------------------------------------- */
00522 void quadDisplayZbuffer( Quad *quad, double height, long int color );
00523 
00524 
00527 #endif
00528  solid version of a quadrilateral primitive
00529 ** to the zbuffer module to be projected and displayed.
00530 ** The solid version is a prism that has the 2D primitive as 
00531 ** its base and height equal to the primitive height.  
00532 **
00533 **  @param quad    - pointer to target quadrilateral primitive(in)
00534 **  @param height  - primitive height                         (in)
00535 **  @param color  -  primitive coded color                    (in)
00536 */
00537 void quadDisplayZbuffer( Quad *quad, double height, long int color );
00538 
00539 
00542 #endif

Generated on Tue Nov 8 10:58:00 2005 for Trab3 by doxygen1.2.18