#pragma once //TODO!! increase Destructioncount #define DESTRUCTION_COUNT 4 #include "DestructionPower_Properties.h" #include "../AbstraktionLayer_Base.h" #include #include #include #include class DestructionPower : public AbstractionLayer_Base { public: bool PreProcessing(coor mySize,const vector* partArray)override; bool EvaluateQuality (coor constraintCoordinate, qualityVector& qVector) override; bool SetConstraintOnPosition(coor constraintCoordinate, DestructionPower_Properties constraint); bool RemoveConstraintOnPosition(coor constraintCoordinate)override; void DestructionOfSurrounding(coor constraintCoordinate); int getNextAbstractionLayer(coor newCoordinate, int currentAbstractionLayer); void setDestructionPower(coor myCoor, int AbstractionLevel, float destructionPower) { m_constraintMatrix[myCoor.col][myCoor.row].DestructionArray[AbstractionLevel] = destructionPower;} private: float defaultDestructionPower(int i); };