v_print2, v_print3, m_print2, m_print3, v_scan2, v_scan3, v_inters2, v_dupl2, v_dupl3, m_dupl2, m_dupl3
Contents
Description
These routines ar an addition to grapmat(3). The *print routines print the appropriate data to stderr.
The *scan routines read from 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.
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
Names
Naming conventions as in graphmat(3).
Note
Only available in C++ and ANSI C. v_inters2 only in C++. Library file is /usr/local/lib/libgraphmat.a
and the C++ util files.
See Also
graphmat(3), graphmat++(3), Graphics and matrix routines.
Synopsis
#include<graphadd.h>voidv_print2(hvec2_tvec,constchar*name)voidv_print3(hvec3_tvec,constchar*name)voidm_print2(hmat2_tmat,constchar*name)voidm_print3(hmat3_tmat,constchar*name)intv_scan2(hvec2_t&vec)intv_scan3(hvec3_t&vec)intv_inters2(
const hvec2_t &p1, const hvec2_t &p2, const hvec2_t &q1,
const hvec2_t &q2, hvec2_t *S1, hvec2_t *S2)
voidv_dupl2(hvec2_t*,hvec2_t*)voidv_dupl3(hvec3_t*,hvec3_t*)voidm_dupl2(hmat2_t*,hmat2_t*)voidm_dupl3(hmat3_t*,hmat3_t*)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.
