template<typename DLL_Model>
class DLL::Segment< DLL_Model >
Represents a potentially growable piece of DLL (wrt. DLL_Model).
The Segment class represents a piece of a 8-connected DLL that can incrementaly grow by addition of points. At the same time, 4-connected neigbhors of the segment's points are marked as forbidden points and must stay out of the DLL.
- Template Parameters
-
DLL_Model | the underlying DLL type of the segment. It must provide: |
- a bool stillGrowableAfterUpdate() function that returns true if the DLL is still growable after we've added points. If it returns false, the DLL is not growable anymore and its reliable characteristics are the ones we got from the last call to stillGrowableAfterUpdate() that returned true,
- a addInPoint(Coordinates) to add points to the set that has to lie inside the DLL,
- a addUpPoint(Coordinates) to add points to the set that has to lie on the positive side outside of the DLL,
- a addDownPoint(Coordinates) to add points to the set that has to lie on the negative side outside of the DLL.