00001
00002 #ifndef __JBXL_GRAPHIC_HEADER_
00003 #define __JBXL_GRAPHIC_HEADER_
00004
00005
00014 #include "gdata.h"
00015
00016
00017 void local2world(WSGraph gd, WSGraph vp, vector ox, vector oz, vector ex, double* csf, double* snf);
00018 void topola(vector nv, double* cst, double* snt, double* csf, double* snf);
00019 void set_around(WSGraph vp, int cc);
00020
00021 void bline (BSGraph vp, int xs, int ys, int xe, int ye, int c);
00022 void bline3d (BSGraph vp, int xs, int ys, int zs, int xe, int ye, int ze, int c);
00023
00024 void line (WSGraph vp, int xs, int ys, int xe, int ye, int c);
00025 void line3d (WSGraph vp, int xs, int ys, int zs, int xe, int ye, int ze, int c);
00026 void circle (WSGraph vp, int x, int y, int r, int c, int mode);
00027 void paint (WSGraph vp, int x, int y, int mn, int mx, int c, int m);
00028 void paint3d (WSGraph vp, int x, int y, int z, int mn, int mx, int c, int m);
00029 void _paint_3d(WSGraph vp, int x, int y, int z, int mn, int mx, int c, int m);
00030
00031 void box (WSGraph vp, int xs, int ys, int xe, int ye ,int c, int m);
00032 void triangle(WSGraph vp, int x1, int y1, int x2, int y2, int x3, int y3, int c, int m);
00033
00034 void circle3d(WSGraph vp, vector a, vector b, int rr, int cc, int mode);
00035 void sphere (WSGraph vp, vector a, int r, int c, int mode);
00036 void pool (WSGraph vp, vector a, vector b, int rr, int c);
00037 void torus (WSGraph vp, vector a, vector b, int rr, int ra, int c);
00038
00039 WSGraph x_reverse_wsg(WSGraph vp);
00040 WSGraph cut_object (WSGraph vp, int cc, IRBound* rb, int blank);
00041 WSGraph zoom_WSGraph(WSGraph vp, int zm, int mode);
00042 WSGraph grab_WSGraph(WSGraph vp, int x1, int y1, int x2, int y2);
00043 void copy_WSGraph(WSGraph src, WSGraph dst);
00044
00045 int get_wdat(WSGraph, double, double, double, IRBound);
00046 int get_idat(WSGraph, int, int, int);
00047 void set_wdat(WSGraph, double, double, double, int, IRBound);
00048 void set_idat(WSGraph, int, int, int, int);
00049
00050 int get_bdat(BSGraph, int, int, int);
00051 void set_bdat(BSGraph, int, int, int, int);
00052
00053 int isinctri(int x1, int y1, int x2, int y2, int x3, int y3, int xx, int yy);
00054
00055 #define set_around_space(vp) set_around((vp), 0)
00056
00057
00075 #define SetPixel(vp, x, y, cc) set_idat((vp), (x), (y), 0, (cc))
00076
00077
00095 #define GetPixel(vp, x, y) get_idat((vp), (x), (y), 0)
00096
00097
00107 #define isCrossLine(x1, y1, x2, y2, x3, y3, x4, y4) (((x1)-(x2))*((y3)-(y1))+((y1)-(y2))*((x1)-(x3)))*(((x1)-(x2))*((y4)-(y1))+((y1)-(y2))*((x1)-(x4)))
00108
00109
00110 #endif // __JBXL_GRAPHIC_HEADER_
00111