last ...
This commit is contained in:
@@ -6593,6 +6593,96 @@ int GetYoungest(
|
||||
return result;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
int GetLowest(
|
||||
T *&source[] //
|
||||
)
|
||||
{
|
||||
//
|
||||
int result = -1;
|
||||
|
||||
//
|
||||
int count = ArraySize(source);
|
||||
if (!IsValidSize(count))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
XBoxZone boxes[];
|
||||
bool isConverted = ToBox(
|
||||
source,
|
||||
boxes //
|
||||
);
|
||||
if (!isConverted)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
int boxesCount = ArraySize(boxes);
|
||||
|
||||
//
|
||||
if (count != boxesCount)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
result = GetLowest(boxes);
|
||||
|
||||
//
|
||||
Clean(boxes);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
int GetHighest(
|
||||
T *&source[] //
|
||||
)
|
||||
{
|
||||
//
|
||||
int result = -1;
|
||||
|
||||
//
|
||||
int count = ArraySize(source);
|
||||
if (!IsValidSize(count))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
XBoxZone boxes[];
|
||||
bool isConverted = ToBox(
|
||||
source,
|
||||
boxes //
|
||||
);
|
||||
if (!isConverted)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
int boxesCount = ArraySize(boxes);
|
||||
|
||||
//
|
||||
if (count != boxesCount)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
result = GetHighest(boxes);
|
||||
|
||||
//
|
||||
Clean(boxes);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
bool IsSame(
|
||||
T *source,
|
||||
@@ -7794,6 +7884,96 @@ int GetYoungest(
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Highest Box Index ...
|
||||
*
|
||||
* @param source: XBoxZone instance Reference Collection ...
|
||||
*
|
||||
* @return ( int )
|
||||
*/
|
||||
int GetHighest(
|
||||
XBoxZone &source[] //
|
||||
)
|
||||
{
|
||||
//
|
||||
int result = -1;
|
||||
|
||||
//
|
||||
int count = ArraySize(source);
|
||||
if (!IsValidSize(count))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
XBoxZone selected;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = source[i];
|
||||
|
||||
//
|
||||
bool canSet =
|
||||
!selected.IsValid()
|
||||
? true
|
||||
: selected.upper < iBox.upper;
|
||||
if (canSet)
|
||||
{
|
||||
//
|
||||
result = i;
|
||||
selected = iBox;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Lowest Box Index ...
|
||||
*
|
||||
* @param source: XBoxZone instance Reference Collection ...
|
||||
*
|
||||
* @return ( int )
|
||||
*/
|
||||
int GetLowest(
|
||||
XBoxZone &source[] //
|
||||
)
|
||||
{
|
||||
//
|
||||
int result = -1;
|
||||
|
||||
//
|
||||
int count = ArraySize(source);
|
||||
if (!IsValidSize(count))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
XBoxZone selected;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = source[i];
|
||||
|
||||
//
|
||||
bool canSet =
|
||||
!selected.IsValid()
|
||||
? true
|
||||
: selected.lower > iBox.lower;
|
||||
if (canSet)
|
||||
{
|
||||
//
|
||||
result = i;
|
||||
selected = iBox;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
typedef void (*TOnPOIEvent)(ENUM_XPOI_EVENTS event,
|
||||
XCBasePOI *param //
|
||||
|
||||
Reference in New Issue
Block a user