00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _QUAD_H
00009 #define _QUAD_H
00010
00033
00034
00035
00036
00037
00038 #include <stdio.h>
00039
00040
00041
00042
00043
00044
00047 typedef struct _quad Quad;
00048
00049
00050
00051
00052
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