RM: aging, minor edits
aging erhöht, damit histo aufgerufen wird. histo layer matrix position verändert, damit die stimmt histo.image daten sind momentan immer NULL -> error bei Aufruf
This commit is contained in:
		@@ -40,6 +40,7 @@ bool DestructionPower::RemoveConstraintOnPosition(const coor constraintCoordinat
 | 
			
		||||
void DestructionPower::DestructionOfSurrounding(const coor constraintCoordinate) {
 | 
			
		||||
 | 
			
		||||
    for (int i = 0; i < DESTRUCTION_COUNT; ++i) {
 | 
			
		||||
 | 
			
		||||
        m_constraintMatrix[constraintCoordinate.col][constraintCoordinate.row].DestructionArray.push_back(0);
 | 
			
		||||
        int divisor=0;
 | 
			
		||||
        if(constraintCoordinate.row > 0)
 | 
			
		||||
@@ -57,6 +58,9 @@ void DestructionPower::DestructionOfSurrounding(const coor constraintCoordinate)
 | 
			
		||||
        else
 | 
			
		||||
            //create default destructionPower //TODO find some better solution for default
 | 
			
		||||
            m_constraintMatrix[constraintCoordinate.col][constraintCoordinate.row].DestructionArray[i] = m_constraintMatrix[constraintCoordinate.col][constraintCoordinate.row].SpeedTable[i];
 | 
			
		||||
        //aging
 | 
			
		||||
        if(m_constraintMatrix[constraintCoordinate.col][constraintCoordinate.row].DestructionArray[i]<0.9)
 | 
			
		||||
            m_constraintMatrix[constraintCoordinate.col][constraintCoordinate.row].DestructionArray[i]=m_constraintMatrix[constraintCoordinate.col][constraintCoordinate.row].DestructionArray[i]*(float)1.001+(float)0.01;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -105,23 +105,21 @@ bool AbstractionLayer_Histogram::PlaceOfPartGood(coor myCoor, Mat& myPart)
 | 
			
		||||
 | 
			
		||||
    HistogramComparer localComparer;
 | 
			
		||||
    //sets coordinates to correct position for layer
 | 
			
		||||
    myCoor.row++;
 | 
			
		||||
    myCoor.col++;
 | 
			
		||||
 | 
			
		||||
    if( myCoor.row == 1 && myCoor.col == 1){return true;}
 | 
			
		||||
    else if(myCoor.col == 1 && myCoor.row >1){
 | 
			
		||||
    if( myCoor.row == 0 && myCoor.col == 0){return true;}
 | 
			
		||||
    else if(myCoor.col == 0 && myCoor.row >0){
 | 
			
		||||
        if(localComparer.CompareHistogram(m_constraintMatrix[myCoor.col][myCoor.row-1].image, myPart)){
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
        else return false;
 | 
			
		||||
    }
 | 
			
		||||
    else if( myCoor.row == 1 && myCoor.col >1){
 | 
			
		||||
    else if( myCoor.row == 0 && myCoor.col >0){
 | 
			
		||||
        if(localComparer.CompareHistogram(m_constraintMatrix[myCoor.col-1][myCoor.row].image, myPart)){
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
        else return false;
 | 
			
		||||
    }
 | 
			
		||||
    else if (myCoor.col > 1 && myCoor.row >1){
 | 
			
		||||
    else if (myCoor.col > 0 && myCoor.row >0){
 | 
			
		||||
        if(     localComparer.CompareHistogram(m_constraintMatrix[myCoor.col][myCoor.row-1].image, myPart) &&
 | 
			
		||||
                localComparer.CompareHistogram(m_constraintMatrix[myCoor.col-1][myCoor.row].image, myPart)){
 | 
			
		||||
            return true;
 | 
			
		||||
 
 | 
			
		||||
@@ -35,8 +35,6 @@ bool next(vector<LogEntry>& log,Puzzle& puzzleMat)
 | 
			
		||||
	    		setsolution(log,puzzleMat);
 | 
			
		||||
        else
 | 
			
		||||
    		setsolution(log,puzzleMat);
 | 
			
		||||
    if(log.back().myCoor.row==26)
 | 
			
		||||
        cout << log.back().myCoor.row << ", " << log.back().myCoor.col << endl;
 | 
			
		||||
    return true;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -81,7 +79,7 @@ void solve(vector<LogEntry>& log,Puzzle& puzzleMat)
 | 
			
		||||
        case 0://pömpel
 | 
			
		||||
            puzzleMat.a1.EvaluateQuality(log.back().myCoor, log.back().PieceCollector);
 | 
			
		||||
        break;
 | 
			
		||||
        case 1://
 | 
			
		||||
        case 1://histogram
 | 
			
		||||
            puzzleMat.a3.EvaluateQuality(log.back().myCoor,log.back().PieceCollector);
 | 
			
		||||
            break;
 | 
			
		||||
        case -1://random
 | 
			
		||||
@@ -111,8 +109,6 @@ void setsolution(vector<LogEntry>& log, Puzzle& puzzleMat)
 | 
			
		||||
    puzzleMat.combinedQualityVector.clear(); //clear data from temp variable
 | 
			
		||||
	//tell log entry that it is set
 | 
			
		||||
	log.back().Set();
 | 
			
		||||
    if(log.back().myCoor.row==27)
 | 
			
		||||
        cout << "hello" << endl;
 | 
			
		||||
    puzzleMat.setConstraints(log.back().myCoor,log.back().PieceCollector.begin()->second);
 | 
			
		||||
    //cout << "set:" << log.back().myCoor.col << "," << log.back().myCoor.row << endl;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user