Data Structures |
| class | HeapOfInteger |
| | This class implements a heap of integers. The most effective usage of it is first to add there all items, and then get top item and remove any items till it becomes empty. More...
|
| class | Helper |
| | The abstract helper class. More...
|
| struct | Link |
| | The Link structure. More...
|
Public Types |
| enum | LinkFlag {
LF_None = 0,
LF_Fwd = 1,
LF_Rev = 2,
LF_Both = 3,
LF_Reversed = 4
} |
| | Orientation flags that can be attached to a link. More...
|
| enum | ResultCode { RC_LoopsDone = 1,
RC_HangingLinks = 2,
RC_Failure = 4
} |
| typedef NCollection_List< Link > | ListOfLink |
| typedef ListOfLink | Loop |
Public Member Functions |
| | Poly_MakeLoops (const Helper *theHelper, const Handle_NCollection_BaseAllocator &theAlloc=0L) |
| | Constructor. If helper is NULL then the algorithm will probably return a wrong result.
|
| void | Reset (const Helper *theHelper, const Handle_NCollection_BaseAllocator &theAlloc=0L) |
| | It is to reset the algorithm to the initial state.
|
| void | AddLink (const Link &theLink) |
| | Adds a link to the set. theOrient defines which orientations of the link are allowed.
|
| void | ReplaceLink (const Link &theLink, const Link &theNewLink) |
| | Replace one link with another (e.g. to change order of nodes)
|
| LinkFlag | SetLinkOrientation (const Link &theLink, const LinkFlag theOrient) |
| | Set a new value of orientation of a link already added earlier. It can be used with LF_None to exclude the link from consideration. Returns the old value of orienation.
|
| Link | FindLink (const Link &theLink) const |
| | Find the link stored in algo by value.
|
| Standard_Integer | Perform () |
| | Does the work. Returns the collection of result codes.
|
| Standard_Integer | GetNbLoops () const |
| | Returns the number of loops in the result.
|
| const Loop & | GetLoop (Standard_Integer theIndex) const |
| | Returns the loop of the given index.
|
| Standard_Integer | GetNbHanging () const |
| | Returns the number of detected hanging chains.
|
| void | GetHangingLinks (ListOfLink &theLinks) const |
| | Fills in the list of hanging links.
|
Protected Member Functions |
| virtual Standard_Integer | chooseLeftWay (const Standard_Integer theNode, const Standard_Integer theSegIndex, const NCollection_List< Standard_Integer > &theLstIndS) const =0 |
| const Helper * | getHelper () const |
| Link | getLink (const Standard_Integer theSegIndex) const |
Make loops from a set of connected links. A link is represented by a pair of integer indices of nodes.