CAPD RedHom Library
CubCellSetT< P_EuclSetT, P_Reductor > Class Template Reference

#include <capd/cubSet/CubSetT.h>

Public Types

typedef P_EuclSetT P_EuclSet
 
typedef P_EuclSet::Pixel Pixel
 
typedef P_EuclSet::BitCoordIterator BitCoordIterator
 
typedef P_EuclSet::BitParIterator BitParIterator
 
typedef P_EuclSet::BitIterator BitIterator
 
typedef P_EuclSet::PointIterator PointIterator
 
typedef P_EuclSet::PointCoordIterator PointCoordIterator
 
typedef P_EuclSet::PointParIterator PointParIterator
 
typedef P_EuclSet::NeighbIterator NeighbIterator
 
typedef P_EuclSet::Word Word
 
typedef P_Reductor ReductorType
 
typedef P_EuclSet BaseClass
 
typedef P_EuclSet::BaseClass::BaseClass BitmapType
 
typedef PointCoordIterator const_iterator
 

Public Member Functions

 CubCellSetT (const int *A_w, bool clear=false)
 
 CubCellSetT (const CubCellSetT &A_org, bool clear=false)
 
 CubCellSetT (int size=0, bool clear=false)
 
 CubCellSetT (const P_EuclSet &A_EuclSet)
 
 CubCellSetT (const CubCellSetT &org, const std::vector< int > &lc, const std::vector< int > &uc)
 
 CubCellSetT (const RepSet< ElementaryCube > &A_RepSetOfElementaryCube)
 
 CubCellSetT (const RepSet< ElementaryCell > &A_RepSetOfElementaryCell)
 
template<class Chain_Container >
void fillWith (const ChainT< Chain_Container > &chain)
 
const std::vector< P_Reductor > & getReductors () const
 
const BaseClassgetBaseObject () const
 
int topDim () const
 
void addEmptyCollar ()
 
void rescale (int A_factor)
 
void rescale (const int A_factor[])
 
bool isVertex (BitCoordIterator &A_it) const
 
bool isMaximal (BitCoordIterator &A_it) const
 
bool isFreeFace (BitCoordIterator &A_faceIt, BitCoordIterator &A_coFaceIt) const
 
bool findCoFreeFaceOrFreeVertex (const CubCellSetT &source, PointIterator &A_startIter, BitCoordIterator &A_it) const
 
bool isFreeCoFace (BitCoordIterator &A_it, BitCoordIterator &A_codimOneFaceIt) const
 
void getCoFaces (BitCoordIterator &A_it, std::vector< BitCoordIterator > &A_codimOneCofacesIterators) const
 
void getFaces (BitCoordIterator &A_it, std::vector< BitCoordIterator > &A_facesIterators) const
 
void getFaces (BitCoordIterator &A_it, std::vector< BitCoordIterator > &A_facesIterators, std::vector< int > &A_coefficients) const
 
void getOrdered2Faces (BitCoordIterator &A_it, std::vector< BitCoordIterator > &A_facesIterators, std::vector< int > &A_coefficients) const
 
void fillWithSubEmbDimCells ()
 
void fillWithBoundaries (PointCoordIterator it)
 
void fillWithBoundaries ()
 
int shave ()
 
int coShave ()
 
int reduce (int limit=0)
 
int coReduce ()
 
bool findFreeCoFace (PointIterator &A_startIter, BitCoordIterator &A_it) const
 
bool findVertex (PointIterator &A_startIter, BitCoordIterator &A_it) const
 
int coReduceCompactSet ()
 
int coReduceCompactSetFast ()
 
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
bool belongsToCubicalClosure (BitCoordIterator &A_it)
 
void cubicalClosureSkeleton (int A_skeletonDimension)
 
template<typename P_Chain >
void reduce (P_Chain &A_chain)
 
template<typename P_Chain >
void reduceInDimZero (P_Chain &A_chain)
 
template<typename P_Chain >
void restore (P_Chain &A_chain)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 
template<>
void removeReductionPair (BitCoordIterator &A_freeFaceIt, BitCoordIterator &A_companionFaceIt)
 

Public Attributes

std::vector< P_Reductor > reductors
 

Static Public Attributes

static const int theDim =P_EuclSet::theDim
 

Friends

std::ostream & operator<< (std::ostream &out, const CubCellSetT< P_EuclSet, P_Reductor > &A_BmpCubSet)
 
void swap (CubCellSetT &A_set1, CubCellSetT &A_set2)
 

Member Typedef Documentation

template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet CubCellSetT< P_EuclSetT, P_Reductor >::BaseClass
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::BitCoordIterator CubCellSetT< P_EuclSetT, P_Reductor >::BitCoordIterator
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::BitIterator CubCellSetT< P_EuclSetT, P_Reductor >::BitIterator
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::BaseClass::BaseClass CubCellSetT< P_EuclSetT, P_Reductor >::BitmapType
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::BitParIterator CubCellSetT< P_EuclSetT, P_Reductor >::BitParIterator
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef PointCoordIterator CubCellSetT< P_EuclSetT, P_Reductor >::const_iterator
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::NeighbIterator CubCellSetT< P_EuclSetT, P_Reductor >::NeighbIterator
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSetT CubCellSetT< P_EuclSetT, P_Reductor >::P_EuclSet
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::Pixel CubCellSetT< P_EuclSetT, P_Reductor >::Pixel
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::PointCoordIterator CubCellSetT< P_EuclSetT, P_Reductor >::PointCoordIterator
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::PointIterator CubCellSetT< P_EuclSetT, P_Reductor >::PointIterator
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::PointParIterator CubCellSetT< P_EuclSetT, P_Reductor >::PointParIterator
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_Reductor CubCellSetT< P_EuclSetT, P_Reductor >::ReductorType
template<typename P_EuclSetT , typename P_Reductor = void*>
typedef P_EuclSet::Word CubCellSetT< P_EuclSetT, P_Reductor >::Word

Constructor & Destructor Documentation

template<typename P_EuclSetT , typename P_Reductor = void*>
CubCellSetT< P_EuclSetT, P_Reductor >::CubCellSetT ( const int *  A_w,
bool  clear = false 
)
inline
template<typename P_EuclSetT , typename P_Reductor = void*>
CubCellSetT< P_EuclSetT, P_Reductor >::CubCellSetT ( const CubCellSetT< P_EuclSetT, P_Reductor > &  A_org,
bool  clear = false 
)
template<typename P_EuclSetT , typename P_Reductor = void*>
CubCellSetT< P_EuclSetT, P_Reductor >::CubCellSetT ( int  size = 0,
bool  clear = false 
)
inline
template<typename P_EuclSetT , typename P_Reductor = void*>
CubCellSetT< P_EuclSetT, P_Reductor >::CubCellSetT ( const CubCellSetT< P_EuclSetT, P_Reductor > &  org,
const std::vector< int > &  lc,
const std::vector< int > &  uc 
)
inline

Member Function Documentation

template<typename P_EuclSetT , typename P_Reductor = void*>
int CubCellSetT< P_EuclSetT, P_Reductor >::coReduceCompactSetFast ( )
template<typename P_EuclSetT , typename P_Reductor = void*>
bool CubCellSetT< P_EuclSetT, P_Reductor >::findFreeCoFace ( PointIterator A_startIter,
BitCoordIterator A_it 
) const
template<typename P_EuclSetT , typename P_Reductor = void*>
const BaseClass& CubCellSetT< P_EuclSetT, P_Reductor >::getBaseObject ( ) const
inline
template<typename P_EuclSetT , typename P_Reductor = void*>
const std::vector<P_Reductor>& CubCellSetT< P_EuclSetT, P_Reductor >::getReductors ( ) const
inline
template<typename P_EuclSetT , typename P_Reductor = void*>
template<typename P_Chain >
void CubCellSetT< P_EuclSetT, P_Reductor >::reduce ( P_Chain &  A_chain)
template<typename P_EuclSetT , typename P_Reductor = void*>
template<typename P_Chain >
void CubCellSetT< P_EuclSetT, P_Reductor >::reduceInDimZero ( P_Chain &  A_chain)
template<>
void CubCellSetT< EuclBitSetT< BitSet, 2 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 3 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 4 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 5 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 6 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 7 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 8 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 9 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 10 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 11 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 12 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 13 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 14 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<>
void CubCellSetT< EuclBitSetT< BitSet, 15 >, void * >::removeReductionPair ( BitCoordIterator A_freeFaceIt,
BitCoordIterator A_companionFaceIt 
)
inline
template<typename P_EuclSetT , typename P_Reductor = void*>
template<typename P_Chain >
void CubCellSetT< P_EuclSetT, P_Reductor >::restore ( P_Chain &  A_chain)
template<typename P_EuclSetT , typename P_Reductor = void*>
int CubCellSetT< P_EuclSetT, P_Reductor >::topDim ( ) const
inline

Friends And Related Function Documentation

template<typename P_EuclSetT , typename P_Reductor = void*>
std::ostream& operator<< ( std::ostream &  out,
const CubCellSetT< P_EuclSet, P_Reductor > &  A_BmpCubSet 
)
friend
template<typename P_EuclSetT , typename P_Reductor = void*>
void swap ( CubCellSetT< P_EuclSetT, P_Reductor > &  A_set1,
CubCellSetT< P_EuclSetT, P_Reductor > &  A_set2 
)
friend

Member Data Documentation

template<typename P_EuclSetT , typename P_Reductor = void*>
std::vector<P_Reductor> CubCellSetT< P_EuclSetT, P_Reductor >::reductors
template<typename P_EuclSetT , typename P_Reductor = void*>
const int CubCellSetT< P_EuclSetT, P_Reductor >::theDim =P_EuclSet::theDim
static