last ...
This commit is contained in:
@@ -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();
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user