PuzzleSolver/Source/functions/AbstractionLayers/Layer1/AbstractionLayer_1.h

36 lines
1010 B
C
Raw Normal View History

//
// Created by mpapa on 05.12.2017.
//
#ifndef SOURCE_ABSTRACTIONLAYER_1_H
#define SOURCE_ABSTRACTIONLAYER_1_H
#include "AbstractionLayer_1_Properties.h"
#include "../AbstraktionLayer_Base.h"
#include <vector>
#include <iostream>
#include <bitset>
#include <random>
class AbstractionLayer_1 : public AbstractionLayer_Base<AbstractionLayer_1_Properties>
{
public:
2017-12-22 22:55:55 +01:00
void PreProcessing(coor mySize, const vector<Part*>* partArray) final;
bool EvaluateQuality (const coor constraintCoordinate, qualityVector& qVector);
bool SetConstraintOnPosition(const coor constraintCoordinate, const AbstractionLayer_1_Properties constraint);
bool RemoveConstraintOnPosition(const coor constraintCoordinate);
bool PlaceOfPartGood(coor myCoor, uint8_t& myPart);
void shift(uint8_t& Part, int shifts);
void setEdgeZero();
bool CreateRandomPuzzle();
qualityVector returnInBox(vector<Part>& PuzzleBox);
2017-12-22 23:27:50 +01:00
void printConstraintMatrix();
private:
};
#endif //SOURCE_ABSTRACTIONLAYER_1_H