#include "geo.h" /*************************************************************************** C L O S E Z E R O ***************************************************************************/ int closeZero (double t) /*!*/ { if (t<0.00001 && t>0.00001) return 1; else return 0; } /*************************************************************************** L I N E 2 D ***************************************************************************/ void line2D(double x1, double y1, double x2, double y2) /*!*/ { double pt[2]; double pt2[2]; pt[0]=x1; pt[1]=y1; pt2[0]=x2; pt2[1]=y2; bgnline(); v2d(pt); v2d(pt2); endline(); } /*************************************************************************** J V 3 D ***************************************************************************/ void jv3d(double x1, double y1, double z1) { double pt[3]; pt[0]=x1; pt[1]=y1; pt[2]=z1; v3d(pt); } /*************************************************************************** D R A W R E C ***************************************************************************/ void drawrec(int style, double x1, double y1, double z1, double x2, double y2, double z2) { if (style==POLYGON) polymode(PYM_FILL); else polymode(PYM_LINE); bgnpolygon(); if (closeZero(z1-z2)) { jv3d(x1,y1,z1); jv3d(x1,y2,z1); jv3d(x2,y2,z1); jv3d(x2,y1,z1); } else if (closeZero(y1-y2)) { jv3d(x1,y1,z1); jv3d(x1,y1,z2); jv3d(x2,y1,z2); jv3d(x2,y1,z1); } else if (closeZero(x1-x2)) { jv3d(x1,y1,z1); jv3d(x1,y1,z2); jv3d(x1,y2,z2); jv3d(x1,y2,z1); } endpolygon(); } /*************************************************************************** D R A W B O X ***************************************************************************/ void drawbox(int style, double x1, double y1, double z1, double x2, double y2, double z2) { drawrec(style,x1,y1,z1,x2,y2,z1); drawrec(style,x1,y1,z2,x2,y2,z2); drawrec(style,x1,y1,z1,x1,y2,z2); drawrec(style,x2,y1,z1,x2,y2,z2); drawrec(style,x1,y1,z1,x2,y1,z2); drawrec(style,x1,y2,z1,x2,y2,z2); }