Splits this blob into two blobs by applying the splits included in this SEAM
| 122 | // Splits this blob into two blobs by applying the splits included in |
| 123 | // *this SEAM |
| 124 | void SEAM::ApplySeam(bool italic_blob, TBLOB* blob, TBLOB* other_blob) const { |
| 125 | for (int s = 0; s < num_splits_; ++s) { |
| 126 | splits_[s].SplitOutlineList(blob->outlines); |
| 127 | } |
| 128 | blob->ComputeBoundingBoxes(); |
| 129 | |
| 130 | divide_blobs(blob, other_blob, italic_blob, location_); |
| 131 | |
| 132 | blob->EliminateDuplicateOutlines(); |
| 133 | other_blob->EliminateDuplicateOutlines(); |
| 134 | |
| 135 | blob->CorrectBlobOrder(other_blob); |
| 136 | } |
| 137 | |
| 138 | // Undoes ApplySeam by removing the seam between these two blobs. |
| 139 | // Produces one blob as a result, and deletes other_blob. |
no test coverage detected