ug4
polychain_util.h File Reference
#include <utility>
#include "lib_grid/lg_base.h"
#include "polychain_util_impl.hpp"

Go to the source code of this file.

Namespaces

 ug
 the ug namespace
 

Enumerations

enum  ug::PolyChainTypes {
  ug::PCT_UNKNOWN = 0 , ug::PCT_CLOSED = 1 , ug::PCT_OPEN = 1 << 1 , ug::PCT_SEPARATED = 1 << 2 ,
  ug::PCT_IRREGULAR = 1 << 3 , ug::PCT_EMPTY = 1 << 4
}
 

Functions

template<class TEdgeIter >
bool ug::CreatePolyChain (std::vector< Vertex * > &polyChainOut, Grid &grid, TEdgeIter edgesBegin, TEdgeIter edgesEnd)
 given a list of edges, this method collects associated vertices in a polychain More...
 
template<class TEdgeIterator >
std::pair< Vertex *, Edge * > ug::GetFirstSectionOfPolyChain (Grid &grid, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, Grid::edge_traits::callback cbEdgeIsInPolyChain)
 Returns the start-vertex and start-edge of a polygonal chain. More...
 
std::pair< Vertex *, Edge * > ug::GetNextSectionOfPolyChain (Grid &grid, std::pair< Vertex *, Edge * > lastSection, Grid::edge_traits::callback cbEdgeIsInPolyChain)
 returns the next section in a polygonal chain. More...
 
template<class TEdgeIterator >
size_t ug::GetPolyChainType (Grid &grid, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, Grid::edge_traits::callback cbEdgeIsInPolyChain)
 returns an or combination of constants enumerated in PolyChainTypes. More...
 
bool ug::SplitIrregularPolyChain (SubsetHandler &sh, int srcIndex, int targetIndex)
 Makes sure that the polychain at srcIndex is regular and not separated. More...