MCPcopy Create free account
hub / github.com/CruiserOne/Astrolog / ChartAstroGraphRelation

Function ChartAstroGraphRelation

charts2.cpp:1167–1592  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1165// lines, zenith positions, and locations of Ascendant and Descendant lines.
1166
1167flag ChartAstroGraphRelation(void)
1168{
1169 CrossInfo *rgcr, *pcr, crT;
1170 char sz[cchSzDef], sz2[2][4];
1171 real planet1[2][objMax], planet2[2][objMax], mc[2][objMax], ic[2][objMax],
1172 asc[2][objMax], des[2][objMax], asc1[2][objMax], des1[2][objMax],
1173 rgad[2][objMax], lo[2], longm, w, x, y, z, ww, xx, yy, zz, ad, oa, am, od;
1174 int cCross = 0, i, i2, j, k, l, m, n, o;
1175 byte ignore3[objMax];
1176 flag fTransit, fEdge;
1177
1178 if (us.fLatitudeCross) {
1179 rgcr = RgAllocate(MAXCROSS, CrossInfo, "crossing table");
1180 if (rgcr == NULL)
1181 return fFalse;
1182 pcr = rgcr;
1183 }
1184
1185 fTransit = us.nRel == rcTransit || us.nRel == rcProgress;
1186 if (fTransit) {
1187 sprintf(sz2[0], "%c.", us.nRel == rcTransit ? 'T' : 'P');
1188 sprintf(sz2[1], "N.");
1189 for (i = 0; i <= is.nObj; i++)
1190 ignore3[i] = ignore[i] && ignore2[i];
1191 } else {
1192 sprintf(sz2[0], "#1 "); sprintf(sz2[1], "#2 ");
1193 CopyRgb(ignore, ignore3, sizeof(ignore));
1194 }
1195
1196 for (i2 = 0; i2 <= 1; i2++) {
1197
1198 for (i = 0; i <= is.nObj; i++) if (!ignore3[i]) {
1199 planet1[i2][i] = Tropical(rgpcp[i2+1]->obj[i]);
1200 planet2[i2][i] = rgpcp[i2+1]->alt[i]; // Calculate zenith loc.
1201 EclToEqu(&planet1[i2][i], &planet2[i2][i]); // of each object.
1202 }
1203
1204 // Print header.
1205
1206 AnsiColor(kDefault);
1207 sprintf(sz, "%sObject :", sz2[i2]); PrintSz(sz);
1208 for (j = 0; j <= is.nObj; j++) {
1209 i = rgobjList[j];
1210 if (!ignore3[i] && FThing2(i)) {
1211 AnsiColor(kObjA[i]);
1212 sprintf(sz, VSeconds(" %.3s", " %-10.10s", " %-14.14s"), szObjDisp[i]);
1213 PrintSz(sz);
1214 }
1215 }
1216 AnsiColor(kDefault);
1217 sprintf(sz, "\n%s------ :", sz2[i2]); PrintSz(sz);
1218 for (i = 0; i <= is.nObj; i++)
1219 if (!ignore3[i] && FThing2(i)) {
1220 PrintCh(' ');
1221 PrintTab('#', VSeconds(3, 10, 14));
1222 }
1223
1224 // Print the longitude locations of the Midheaven lines.

Callers 1

PrintChartFunction · 0.85

Calls 14

CopyRgbFunction · 0.85
AnsiColorFunction · 0.85
PrintSzFunction · 0.85
PrintChFunction · 0.85
PrintTabFunction · 0.85
SzLocationFunction · 0.85
ModFunction · 0.85
MinDistanceFunction · 0.85
ExpSetRFunction · 0.85
ExpSetNFunction · 0.85
NParseExpressionFunction · 0.85
InterpretAstroGraphFunction · 0.85

Tested by

no test coverage detected