#include /* get HP-PHIGS definitions for C */ #include /* get standard I/O definitions */ main() /* file "Polymarker.c" */ { Pint WorkstnID = 1; /* workstation identifier */ Pint ConnID; /* connection identifier */ Pint TheStructure = 1; /* structure ID (chosen by user) */ static float dY[] = { /* oscillation about Y values */ 0.0, -0.02, 0.03, 0.0}; static Ppoint MarkerPts[4] = { /* XYs for each set of markers */ 0.1, 0.0, 0.4, 0.0, 0.8, 0.0, 0.9, 0.0}; /* Ys change */ Ppoint_list MarkerData; /* whole marker set */ int I, J; /* loop control variables */ popen_phigs (PDEF_ERR_FILE, PDEF_MEM_SIZE); popen_ws(WorkstnID, NULL, phigs_ws_type_x_tool); popen_struct(TheStructure); pset_marker_size(10.0); MarkerData.num_points = 4; /* same every time... */ for (I = -5; I <= 5; I++) { if (I != 0) { /* leave space for nonexistent type */ for (J = 0; J < 4; J++) /* define line's Y values */ MarkerPts[J].y = dY[J] + 0.5 - I / 11.0; pset_marker_type(I); MarkerData.points = MarkerPts; ppolymarker(&MarkerData); ppolyline(&MarkerData); /* polyline joins like markers */ } } pclose_struct(); ppost_struct(WorkstnID, TheStructure, 1.0); pupd_ws(WorkstnID, PFLAG_PERFORM); getchar(); pclose_ws(WorkstnID); pclose_phigs(); }