| 1980 | // are used to mark the exact locations of zoomed in planets in the scene. |
| 1981 | |
| 1982 | void WireSphere(int x, int y, int z, int r) |
| 1983 | { |
| 1984 | real rgx[12+1], rgy[12+1], rgr[6+1]; |
| 1985 | int rgz[6+1], i, j, x1, y1, x2, y2; |
| 1986 | |
| 1987 | for (i = 0; i < 12; i++) { |
| 1988 | rgx[i] = RCosD((real)(i * nDegMax / 12)); |
| 1989 | rgy[i] = RSinD((real)(i * nDegMax / 12)); |
| 1990 | } |
| 1991 | rgx[12] = rgx[0]; rgy[12] = rgy[0]; |
| 1992 | for (i = 0; i <= 6; i++) { |
| 1993 | rgz[i] = z + (int)((real)r * rgx[i]); |
| 1994 | rgr[i] = (real)r * rgy[i]; |
| 1995 | } |
| 1996 | for (j = 1; j <= 6; j++) { |
| 1997 | x2 = x + (int)rgr[j]; y2 = y; |
| 1998 | for (i = 0; i < 12; i++) { |
| 1999 | x1 = x2; y1 = y2; |
| 2000 | x2 = x + (int)(rgr[j] * rgx[i+1]); |
| 2001 | y2 = y + (int)(rgr[j] * rgy[i+1]); |
| 2002 | if (j < 6) |
| 2003 | WireLine(x1, y1, rgz[j], x2, y2, rgz[j]); |
| 2004 | x1 = x + (int)(rgr[j-1] * rgx[i+1]); |
| 2005 | y1 = y + (int)(rgr[j-1] * rgy[i+1]); |
| 2006 | WireLine(x2, y2, rgz[j], x1, y1, rgz[j-1]); |
| 2007 | } |
| 2008 | } |
| 2009 | } |
| 2010 | |
| 2011 | |
| 2012 | // Add a fixed star to the current wireframe file. |
no test coverage detected