- if (block->getPatternComputed()) continue; // block has laready been processed
-
- canCompute = block->computeOutputPattern();
- if (!canCompute) {
+ if (block->getPatternComputed()) continue; // block has already been processed
+
+ try {
+ block->checkInputPatternCompatibility();
+ }
+ catch(Exception e) {
+ cout << qPrintable(block->getName()) << " is not compatible with his input pattern" << endl;
+ throw(e);
+ }
+ compatible = true;
+
+ try {
+ block->computeOutputPattern();
+ }
+ catch(Exception e) {