2017-12-20 22:05:04 +01:00
|
|
|
//
|
|
|
|
// Created by mpapa on 05.12.2017.
|
|
|
|
//
|
|
|
|
|
2017-12-21 12:43:31 +01:00
|
|
|
#pragma once
|
2017-12-20 22:05:04 +01:00
|
|
|
|
|
|
|
#define DESTRUCTION_COUNT 1
|
|
|
|
|
2017-12-20 23:15:17 +01:00
|
|
|
#include "DestructionPower_Properties.h"
|
2017-12-21 12:20:57 +01:00
|
|
|
#include "../AbstraktionLayer_Base.h"
|
|
|
|
|
2017-12-20 22:05:04 +01:00
|
|
|
#include <vector>
|
|
|
|
#include <iostream>
|
|
|
|
#include <bitset>
|
|
|
|
#include <random>
|
|
|
|
|
2017-12-21 12:20:57 +01:00
|
|
|
class DestructionPower : public AbstractionLayer_Base<DestructionPower_Properties>
|
2017-12-20 22:05:04 +01:00
|
|
|
{
|
|
|
|
public:
|
2017-12-22 22:55:55 +01:00
|
|
|
void PreProcessing(coor mySize,const vector<Part*>* partArray)override;
|
2017-12-21 12:20:57 +01:00
|
|
|
bool EvaluateQuality (coor constraintCoordinate, qualityVector& qVector) override;
|
2017-12-22 23:09:23 +01:00
|
|
|
bool SetConstraintOnPosition(coor constraintCoordinate, DestructionPower_Properties constraint);
|
2017-12-21 12:20:57 +01:00
|
|
|
bool RemoveConstraintOnPosition(coor constraintCoordinate)override;
|
2017-12-20 22:05:04 +01:00
|
|
|
|
2017-12-21 12:20:57 +01:00
|
|
|
void DestructionOfSurrounding(coor constraintCoordinate);
|
2017-12-22 22:55:55 +01:00
|
|
|
int getNextAbstractionLayer(coor newCoordinate, int currentAbstractionLayer);
|
|
|
|
|
2017-12-20 22:05:04 +01:00
|
|
|
private:
|
|
|
|
};
|