Provided by: libclippoly-dev_0.11-8_amd64

**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

**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*)

**DESCRIPTION**

These routines ar an addition to grapmat(3). The *print routines print the appropriate data tostderr.The *scan routines read fromstdin.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.

**NAMES**

Naming conventions as in graphmat(3).

**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.

**SEE** **ALSO**

graphmat(3), graphmat++(3), Graphics and matrix routines.

**NOTE**

Only available in C++ and ANSI C. v_inters2 only in C++. Library file is/usr/local/lib/libgraphmat.aand the C++ util files.

**AUTHOR**

Herbert Hilhorst Klamer Schutte 9 September 1992 GRAPHADD(3)