- SGP_ID gid;
- if (m_trace >= TRACE_PHM) {
- double wsize = 1.42 * m_phmLen / 2; /* sqrt(2) * radius */
-
- gid = sgp2_init (512, 512, "RayCollect");
- sgp2_color (C_LTBLUE);
- sgp2_window (xcent - wsize, ycent - wsize, xcent + wsize, ycent + wsize);
- sgp2_color (C_BROWN);
-#if RADIUS
- sgp2_draw_circle (m_phmLen / 2);
-#else
- sgp2_draw_rect (xcent - m_phmLen / 2, ycent - m_phmLen / 2,
- xcent + m_phmLen / 2, ycent + m_phmLen / 2);
-#endif
- sgp2_color (C_BROWN);
- sgp2_move_abs (0., 0.);
- sgp2_draw_circle (wsize);
- // raysum_trace_menu_column = (crt->xsize * crt->asp) / 8 + 3;
- traceShowParam ("X-Ray Simulator", "%s", RAYSUM_TRACE_ROW_TITLE, 8+C_LTWHITE, " ");
- traceShowParam ("---------------", "%s", RAYSUM_TRACE_ROW_TITLE2, 8+C_LTWHITE, " ");
+ if (pSGP && m_trace >= TRACE_PHM) {
+ double halfPhmLen = m_phmLen / 2;
+ double wsize = SQRT2 * halfPhmLen;
+
+ pSGP->setRasterOp (RO_SET);
+ pSGP->eraseWindow ();
+ pSGP->setColor (C_LTBLUE);
+ pSGP->setWindow (xcent - wsize, ycent - wsize, xcent + wsize, ycent + wsize);
+ pSGP->setColor (C_BROWN);
+ pSGP->drawRect (xcent - halfPhmLen, ycent - halfPhmLen, xcent + halfPhmLen, ycent + halfPhmLen);
+ pSGP->setColor (C_BROWN);
+ pSGP->moveAbs (0., 0.);
+ pSGP->drawCircle (wsize);
+
+ traceShowParam ("X-Ray Simulator", "%s", RAYSUM_TRACE_ROW_TITLE, C_BLACK, " ");
+ traceShowParam ("---------------", "%s", RAYSUM_TRACE_ROW_TITLE2, C_BLACK, " ");