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

Function ChartTransitInfluence

charts2.cpp:1010–1160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1008// switch, and display the transits in order sorted by influence.
1009
1010void ChartTransitInfluence(flag fProg)
1011{
1012 int source[MAXINDAY], aspect[MAXINDAY], dest[MAXINDAY], ca[cAspect + 1],
1013 co[objMax], occurcount = 0, fProgress = us.fProgress, i, j, k, l, m, nSav;
1014 real power[MAXINDAY], rPowSum = 0.0, rT;
1015 char sz[cchSzDef], *pch;
1016 byte ignoreSav[objMax];
1017 flag fDistance = us.fDistance && !us.fParallel, f;
1018
1019 ClearB((pbyte)ca, sizeof(ca));
1020 ClearB((pbyte)co, sizeof(co));
1021
1022 if (!FNoTimeOrSpace(ciTran)) {
1023 PrintSz("Transits at: ");
1024 i = DayOfWeek(MonT, DayT, YeaT);
1025 sprintf(sz, "%.3s %s %s (%cT Zone %s)\n", szDay[i],
1026 SzDate(MonT, DayT, YeaT, 3), SzTim(TimT), ChDst(DstT),
1027 SzZone(ZonT)); PrintSz(sz);
1028 }
1029
1030 // Cast the natal and transiting charts as with a relationship chart.
1031
1032 cp1 = cp0;
1033 CopyRgb(ignore, ignoreSav, sizeof(ignore));
1034 for (i = 0; i <= is.nObj; i++)
1035 ignore[i] = ignore2[i];
1036 ciCore = ciTran;
1037 if (us.fProgress = fProg) {
1038 is.JDp = MdytszToJulian(MM, DD, YY, TT, SS, ZZ);
1039 ciCore = ciMain;
1040 }
1041 CastChart(0);
1042 cp2 = cp0;
1043 CopyRgb(ignoreSav, ignore, sizeof(ignore));
1044
1045 // Do a relationship aspect grid to get the transits. Have to make and
1046 // restore two changes to get it right for this chart: (1) Make the natal
1047 // planets have zero velocity so applying vs. separating is only a function
1048 // of the transiter. (2) Tweak the main restrictions to allow for transiting
1049 // objects not restricted.
1050
1051 for (i = 0; i <= is.nObj; i++) {
1052 ret[i] = cp1.dir[i];
1053 cp1.dir[i] = 0.0;
1054 ignore[i] = ignore[i] && ignore2[i];
1055 }
1056 f = FCreateGridRelation(fFalse);
1057 CopyRgb(ignoreSav, ignore, sizeof(ignore));
1058 for (i = 0; i <= is.nObj; i++)
1059 cp1.dir[i] = ret[i];
1060 if (!f)
1061 return;
1062
1063 // Loop through the grid, and build up a list of the valid transits.
1064
1065 for (i = 0; i <= is.nObj; i++) {
1066 if (FIgnore2(i))
1067 continue;

Callers 1

PrintChartFunction · 0.85

Calls 15

ClearBFunction · 0.85
PrintSzFunction · 0.85
DayOfWeekFunction · 0.85
SzDateFunction · 0.85
SzTimFunction · 0.85
SzZoneFunction · 0.85
CopyRgbFunction · 0.85
MdytszToJulianFunction · 0.85
CastChartFunction · 0.85
FCreateGridRelationFunction · 0.85
GetOrbFunction · 0.85
MidpointFunction · 0.85

Tested by

no test coverage detected