// // 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 #include #include #include class AbstractionLayer_1 : public AbstractionLayer_Base { public: void PreProcessing(coor mySize, const vector* 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& PuzzleBox); void printConstraintMatrix(); private: }; #endif //SOURCE_ABSTRACTIONLAYER_1_H