#include "AbstractionLayer_PoempelPosition.h" #include "../../../header.h" bool AbstractionLayer_PoempelPosition::PreProcessing(coor mySize, const vector* partArray) { //get layer information here cout << "Abstraction Poempel Position Preprocessing... " << flush; InitialiseConstraintMatrixSize(mySize.col, mySize.row); cout << "Done" << endl; return false; } //it through qualityVector and removes all that do not trigger PlaceOfPartGood bool AbstractionLayer_PoempelPosition::EvaluateQuality (const coor constraintCoordinate, qualityVector& qVector) { for(int i = 0;im_a3.SideLength)); if(value > 0.8)//TODO find threshold { qVector[i].first=value; continue; } qVector[i].first=0; } } bool AbstractionLayer_PoempelPosition::SetConstraintOnPosition(const coor constraintCoordinate, const AbstractionLayer_PoempelPosition_Properties constraint) { m_constraintMatrix[constraintCoordinate.col][constraintCoordinate.row].SideLength=constraint.SideLength; } bool AbstractionLayer_PoempelPosition::RemoveConstraintOnPosition(const coor constraintCoordinate) { m_constraintMatrix[constraintCoordinate.col][constraintCoordinate.row].SideLength={0,0,0,0,0,0,0,0}; } float AbstractionLayer_PoempelPosition::PlaceOfPartGood(coor myCoor, vector myPart) { //sets coordinates to correct position for layer //create negativePart, watch out for edges //check vector against negative part //return of well it fits within threshold } //shifts vector i steps to the right (8-2i to the left) void AbstractionLayer_PoempelPosition_Properties::shift(int i) { rotate(SideLength.begin(),SideLength.begin()+(8-2*i),SideLength.end()); }