This commit is contained in:
2025-03-05 04:47:19 +03:30
parent 17c6704104
commit 8f9ad96b90
3 changed files with 507 additions and 36 deletions
@@ -339,6 +339,7 @@ class XCX121SMCXWZSignalDetector : public XCBase
double targets[];
double reward = 0;
XBoxZone signalBox;
XOBFVG activatedZone;
double amountPercent = 0;
bool hasPriority = false;
bool hasSignalBox = false;
@@ -420,6 +421,7 @@ class XCX121SMCXWZSignalDetector : public XCBase
//
result = false;
workingZone.Clean();
activatedZone.Clean();
hasWorkingZone = false;
//
@@ -462,6 +464,50 @@ class XCX121SMCXWZSignalDetector : public XCBase
}
}
//
// Detect Signal Box ...
hasSignalBox = hasWorkingZone &&
hasWaitingZones &&
workingZone.IsZoneRejected(
activatedZone,
zIndex //
);
if (hasSignalBox)
{
//
signalBox.Clean();
hasSignalBox = activatedZone.ToZone(signalBox);
if (hasSignalBox)
{
//
signalBox.to = cTime;
signalBoxDir = signalBox.dir;
provider = X121SMC_XWZ_PROVIDER_ACTIVATED_ZONE;
//
int idx = FindIndex(
activatedZone,
workingZone.waitingZones //
);
bool has = IsValidIndex(idx);
if (has)
{
//
ArrayRemove(
workingZone.waitingZones,
idx,
1 //
);
//
AddRef(
activatedZone,
workingZone.unavailableZones //
);
}
}
}
//
//
//
@@ -517,6 +563,9 @@ class XCX121SMCXWZSignalDetector : public XCBase
iObj.BoxWidth(1);
iObj.BoxColor(clrYellow);
iObj.BoxStyle(STYLE_SOLID);
//
workingZone.mDrawnObjects.Add(iObj);
}
//
@@ -535,20 +584,24 @@ class XCX121SMCXWZSignalDetector : public XCBase
//
double iSL = 0;
double signalBoxRange = (signalBox.upper - signalBox.lower);
if (signalBoxRange < points * 100)
{
iSL = pivot;
}
else
{
iSL = signalBox.lower + (signalBox.upper - signalBox.lower) / 2;
}
// double signalBoxRange = (signalBox.upper - signalBox.lower);
// if (signalBoxRange < points * 100)
// {
// iSL = pivot;
// }
// else
// {
// iSL = signalBox.lower + (signalBox.upper - signalBox.lower) / 2;
// }
// //
// if (provider == X121SMC_XWZ_PROVIDER_PV_ZONE)
// {
// }
//
if (provider == X121SMC_XWZ_PROVIDER_PV_ZONE)
{
}
iSL = pivot;
//
Add(
@@ -904,15 +957,10 @@ class XCX121SMCXWZSignalDetector : public XCBase
//
true, // Draw Supply Zone ...
true, // Draw Demand Zone ...
true // Draw Waiting Zones ...
true, // Draw Waiting Zones ...
true // Draw Waiting Zones Box Area ...
//
);
//
if (hasWaitingZones)
{
Print("Has Waiting Zones ...");
}
}
//
@@ -922,6 +970,10 @@ class XCX121SMCXWZSignalDetector : public XCBase
//
// Cleanup Resources ...
//
Clean(sls);
Clean(targets);
//
Clean(visionPoiEvents);
Clean(analysePoiEvents);
@@ -953,6 +1005,8 @@ class XCX121SMCXWZSignalDetector : public XCBase
consolidationXConditions.Clean();
//
signalBox.Clean();
activatedZone.Clean();
consolidationZBar.Clean();
//