Stefan Schuermans commited on 2017-05-25 15:54:14
Showing 5 changed files, with 29 additions and 0 deletions.
| ... | ... |
@@ -73,3 +73,12 @@ void Distri::writePixels(std::ostream & strm) const |
| 73 | 73 |
} |
| 74 | 74 |
} |
| 75 | 75 |
|
| 76 |
+size_t Distri::countPixels() const |
|
| 77 |
+{
|
|
| 78 |
+ size_t pixels = 0; |
|
| 79 |
+ std::vector<Chain>::const_iterator itC; |
|
| 80 |
+ for (itC = mChains.begin(); itC != mChains.end(); ++itC) |
|
| 81 |
+ pixels += itC->countPixels(); |
|
| 82 |
+ return pixels; |
|
| 83 |
+} |
|
| 84 |
+ |
| ... | ... |
@@ -34,6 +34,7 @@ public: |
| 34 | 34 |
void writeDistri(std::ostream & strm) const; |
| 35 | 35 |
void writeMapping(std::ostream & strm) const; |
| 36 | 36 |
void writePixels(std::ostream & strm) const; |
| 37 |
+ size_t countPixels() const; |
|
| 37 | 38 |
unsigned int mNo, mChainCnt, mPixelCnt; |
| 38 | 39 |
std::vector<Chain> mChains; |
| 39 | 40 |
}; |
| ... | ... |
@@ -483,6 +483,19 @@ int main(int argc, char *argv[]) |
| 483 | 483 |
if (itD->pixCoord(ptPixel0, ptPixelSz, width, height) != 0) |
| 484 | 484 |
err = true; |
| 485 | 485 |
|
| 486 |
+ // count pixels connected to distributors and compare to total pixels |
|
| 487 |
+ size_t distri_pixels = 0; |
|
| 488 |
+ for (itD = distris.begin(); itD != distris.end(); ++itD) |
|
| 489 |
+ distri_pixels += itD->countPixels(); |
|
| 490 |
+ std::cout << "pixels connected to distributors: " |
|
| 491 |
+ << distri_pixels << std::endl; |
|
| 492 |
+ if (distri_pixels != gLayerPixel.mObjects.size()) {
|
|
| 493 |
+ std::cerr << "number of connected pixels (" << distri_pixels
|
|
| 494 |
+ << ") does not match total number of pixels ("
|
|
| 495 |
+ << gLayerPixel.mObjects.size() << ")" << std::endl; |
|
| 496 |
+ err = true; |
|
| 497 |
+ } |
|
| 498 |
+ |
|
| 486 | 499 |
// write config file |
| 487 | 500 |
if (writeCfg(width, height, distris, strCfgFileName) != 0) |
| 488 | 501 |
err = true; |
| 489 | 502 |