PuzzleSolver/Source/functions/AbstractionLayers/DestructionPower/DestructionPower.h
2018-01-29 20:25:33 +01:00

30 lines
1.0 KiB
C++

#pragma once
//TODO!! increase Destructioncount
#define DESTRUCTION_COUNT 2
#include "DestructionPower_Properties.h"
#include "../AbstraktionLayer_Base.h"
#include <vector>
#include <iostream>
#include <bitset>
#include <random>
class DestructionPower : public AbstractionLayer_Base<DestructionPower_Properties>
{
public:
bool PreProcessing(coor mySize,const vector<Part*>* 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);
};