| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
#include <Poly_MakeLoops.hxx>

Data Structures | |
| struct | Hasher | 
| 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 orientation.   | |
| 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.
| Poly_MakeLoops::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.
Adds a link to the set. theOrient defines which orientations of the link are allowed.
      
  | 
  protectedpure virtual | 
Implemented in Poly_MakeLoops3D, and Poly_MakeLoops2D.
| void Poly_MakeLoops::GetHangingLinks | ( | ListOfLink & | theLinks | ) | const | 
Fills in the list of hanging links.
      
  | 
  inlineprotected | 
      
  | 
  inline | 
Returns the loop of the given index.
      
  | 
  inline | 
Returns the number of detected hanging chains.
      
  | 
  inline | 
Returns the number of loops in the result.
| Standard_Integer Poly_MakeLoops::Perform | ( | ) | 
Does the work. Returns the collection of result codes.
Replace one link with another (e.g. to change order of nodes)
| void Poly_MakeLoops::Reset | ( | const Helper * | theHelper, | 
| const Handle< NCollection_BaseAllocator > & | theAlloc = 0L  | 
        ||
| ) | 
It is to reset the algorithm to the initial state.
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 orientation.