(GuillotineBinPack) Improved readability

Former-commit-id: a65647370d30dfe110ba38c65afc850328f84b01
This commit is contained in:
Lynix 2015-04-07 17:42:00 +02:00
parent fca2dad9d3
commit 51942c1eb9
1 changed files with 22 additions and 19 deletions

View File

@ -18,25 +18,8 @@
class NAZARA_API NzGuillotineBinPack class NAZARA_API NzGuillotineBinPack
{ {
public: public:
enum FreeRectChoiceHeuristic enum FreeRectChoiceHeuristic : int;
{ enum GuillotineSplitHeuristic : int;
RectBestAreaFit,
RectBestLongSideFit,
RectBestShortSideFit,
RectWorstAreaFit,
RectWorstLongSideFit,
RectWorstShortSideFit
};
enum GuillotineSplitHeuristic
{
SplitLongerAxis,
SplitLongerLeftoverAxis,
SplitMaximizeArea,
SplitMinimizeArea,
SplitShorterAxis,
SplitShorterLeftoverAxis
};
NzGuillotineBinPack(); NzGuillotineBinPack();
NzGuillotineBinPack(unsigned int width, unsigned int height); NzGuillotineBinPack(unsigned int width, unsigned int height);
@ -70,6 +53,26 @@ class NAZARA_API NzGuillotineBinPack
NzGuillotineBinPack& operator=(const NzGuillotineBinPack&) = default; NzGuillotineBinPack& operator=(const NzGuillotineBinPack&) = default;
NzGuillotineBinPack& operator=(NzGuillotineBinPack&&) = default; NzGuillotineBinPack& operator=(NzGuillotineBinPack&&) = default;
enum FreeRectChoiceHeuristic : int
{
RectBestAreaFit,
RectBestLongSideFit,
RectBestShortSideFit,
RectWorstAreaFit,
RectWorstLongSideFit,
RectWorstShortSideFit
};
enum GuillotineSplitHeuristic : int
{
SplitLongerAxis,
SplitLongerLeftoverAxis,
SplitMaximizeArea,
SplitMinimizeArea,
SplitShorterAxis,
SplitShorterLeftoverAxis
};
private: private:
void SplitFreeRectAlongAxis(const NzRectui& freeRect, const NzRectui& placedRect, bool splitHorizontal); void SplitFreeRectAlongAxis(const NzRectui& freeRect, const NzRectui& placedRect, bool splitHorizontal);
void SplitFreeRectByHeuristic(const NzRectui& freeRect, const NzRectui& placedRect, GuillotineSplitHeuristic method); void SplitFreeRectByHeuristic(const NzRectui& freeRect, const NzRectui& placedRect, GuillotineSplitHeuristic method);