.TH GRAPHADD 3 "9 September 1992" .SH NAME v_print2, v_print3, m_print2, m_print3, v_scan2, v_scan3, v_inters2, v_dupl2, v_dupl3, m_dupl2, m_dupl3 \- additional 3d graphics and associated matrix and vector routines .nf .SH SYNOPSIS .nf .B #include .LP .B void v_print2(hvec2_t vec, const char *name) .B void v_print3(hvec3_t vec, const char *name) .B void m_print2(hmat2_t mat, const char *name) .B void m_print3(hmat3_t mat, const char *name) .B int v_scan2(hvec2_t &vec) .B int v_scan3(hvec3_t &vec) .B int v_inters2( const hvec2_t &p1, const hvec2_t &p2, const hvec2_t &q1, const hvec2_t &q2, hvec2_t *S1, hvec2_t *S2) .B void v_dupl2(hvec2_t *, hvec2_t *) .B void v_dupl3(hvec3_t *, hvec3_t *) .B void m_dupl2(hmat2_t *, hmat2_t *) .B void m_dupl3(hmat3_t *, hmat3_t *) .SH DESCRIPTION These routines ar an addition to grapmat(3). The *print routines print the appropriate data to .I stderr. The *scan routines read from .I stdin. The *dupl routines copy data. v_inters2 returns the intersection point of p1,p2 and q1,q2 in S1 and S2. The return value is 0 if no intersection point is found, 1 if there is an intersection point, and two if the two lines do overlap. In that case, the two points are the extrema. .SH NAMES Naming conventions as in graphmat(3). .SH USAGE All the "functions" may have been implemented as macro's, so you can't take the address of a function. It is however guaranteed that arguments of each function/macro will be evaluated only once, except for the result argument, which can be evaluated multiple times. .SH SEE ALSO graphmat(3), graphmat++(3), Graphics and matrix routines. .SH NOTE Only available in C++ and ANSI C. v_inters2 only in C++. Library file is .B /usr/local/lib/libgraphmat.a and the C++ util files. .SH AUTHOR Herbert Hilhorst .br Klamer Schutte