CAPD RedHom Library
capd::complex::impl::GridGraphCellComplexBase< _DIM, ColorStorage, AvailableStorage, Tag > Class Template Reference

#include <capd/complex/GridGraphCellComplex.h>

Public Types

typedef Base::EnumerateCellCodes::GridGraph GridGraph
 
typedef GridGraph::template rebind< CheckColor< const GridGraphCellComplexBase > >::type ColorGridGraph
 
typedef Base::Cell Cell
 
typedef Base::ConstCell ConstCell
 
typedef Base::CellCode CellCode
 
typedef Base::EnumerateCellCodes::FullCube FullCube
 
typedef Base::Dim Dim
 
typedef MemoryModel MemoryModel
 
typedef MemoryModel::Id Id
 
typedef MemoryModel::Color Color
 
typedef MemoryModel::EnumerateCellCodes EnumerateCellCodes
 
typedef MemoryModel::AvailableStorage AvailableCells
 
typedef MemoryModel::ColorStorage Colors
 
typedef boost::mpl::joint_view< impl::CubCellComplexTags< Tags >::type, boost::mpl::vector< typename MemoryModel::Tag, CellComplexTag > > Tags
 
typedef CellComplex_IteratorFamily< CellComplex, Cell, ConstCellIterators
 
typedef CellComplex_IteratorFamily< const CellComplex, ConstCell, ConstCellConstIterators
 
typedef ColoredIteratorFamily< IteratorsColoredIterators
 
typedef ColoredIteratorFamily< ConstIteratorsColoredConstIterators
 
typedef boost::mpl::true_ IsComplex
 

Public Member Functions

template<typename Lengths >
 GridGraphCellComplexBase (const Lengths &lengths, ColorStorage &&colorStorage, AvailableStorage &&availableStorage)
 
ColorGridGraph colorGridGraph (typename Base::Color color) const
 
FullCube fullCube () const
 
CellCode operator() (const FullCube &fullCube) const
 
CellCode operator() (size_t x, size_t y) const
 
CellCode operator() (size_t x, size_t y, size_t z) const
 
int coincidenceIndex (const ConstCell &cellA, const ConstCell &cellB) const
 
size_t size () const
 
size_t cardinality () const
 
CellCode cellCode () const
 
Dim dim () const
 
Dim getDim () const
 
Iterators iterators ()
 
ConstIterators iterators () const
 
ColoredIterators iterators (Color color)
 
ColoredConstIterators iterators (Color color) const
 
ConstCell operator[] (const CellCode &cellCode) const
 
ConstCell operator[] (Id id) const
 
Cell operator[] (const CellCode &cellCode)
 
Cell operator[] (Id id)
 
boost::optional< Cellfind (const CellCode &cellCode)
 
boost::optional< Cellfind (Id id)
 
Color color (Id id) const
 
bool exists (Id id) const
 
bool exists (const CellCode &cellCode) const
 
Cell insert (const CellCode &cellCode)
 
Cell insert (const CellCode &cellCode, Color color)
 
void remove (Cell &cell)
 
void fillWithBoundaries ()
 
void fillWithBoundary (Id cellId, Color color=Color(), bool keepLower=true)
 
void fillWithBoundary (const Cell &cell, Color color=Color(), bool keepLower=true)
 
void resetColors (Color color)
 
EnumerateCellCodesenumerateCellCodes ()
 
const EnumerateCellCodesenumerateCellCodes () const
 
bool isClosed () const
 
void setClosedValidator (const boost::function< bool()> &v)
 
void setClosed (bool closed)
 

Static Public Attributes

static const DimType DIM = _DIM
 

Protected Member Functions

void insertAll (Color color=Color(1))
 

Static Protected Member Functions

template<typename Lengths >
static size_t ComputeSize (const Lengths &lengths)
 

Member Typedef Documentation

typedef MemoryModel::AvailableStorage capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::AvailableCells
inherited
template<typename MemoryModel, typename Tags>
typedef Base::Cell capd::complex::CubCellComplexBase< MemoryModel, Tags >::Cell
inherited
template<typename MemoryModel, typename Tags>
typedef Base::CellCode capd::complex::CubCellComplexBase< MemoryModel, Tags >::CellCode
inherited
typedef MemoryModel::Color capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::Color
inherited
template<DimType _DIM, typename ColorStorage, typename AvailableStorage, typename Tag = void>
typedef GridGraph::template rebind<CheckColor<const GridGraphCellComplexBase> >::type capd::complex::impl::GridGraphCellComplexBase< _DIM, ColorStorage, AvailableStorage, Tag >::ColorGridGraph
typedef MemoryModel::ColorStorage capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::Colors
inherited
template<typename MemoryModel, typename Tags>
typedef Base::ConstCell capd::complex::CubCellComplexBase< MemoryModel, Tags >::ConstCell
inherited
template<typename MemoryModel, typename Tags>
typedef Base::Dim capd::complex::CubCellComplexBase< MemoryModel, Tags >::Dim
inherited
typedef MemoryModel::EnumerateCellCodes capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::EnumerateCellCodes
inherited
template<typename MemoryModel, typename Tags>
typedef Base::EnumerateCellCodes::FullCube capd::complex::CubCellComplexBase< MemoryModel, Tags >::FullCube
inherited
template<DimType _DIM, typename ColorStorage, typename AvailableStorage, typename Tag = void>
typedef Base::EnumerateCellCodes::GridGraph capd::complex::impl::GridGraphCellComplexBase< _DIM, ColorStorage, AvailableStorage, Tag >::GridGraph
typedef MemoryModel::Id capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::Id
inherited
typedef boost::mpl::joint_view<impl::CubCellComplexTags< Tags >::type , boost::mpl::vector<typename MemoryModel::Tag, CellComplexTag> > capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::Tags
inherited

Constructor & Destructor Documentation

template<DimType _DIM, typename ColorStorage, typename AvailableStorage, typename Tag = void>
template<typename Lengths >
capd::complex::impl::GridGraphCellComplexBase< _DIM, ColorStorage, AvailableStorage, Tag >::GridGraphCellComplexBase ( const Lengths &  lengths,
ColorStorage &&  colorStorage,
AvailableStorage &&  availableStorage 
)
inline

Member Function Documentation

size_t capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::cardinality ( ) const
inlineinherited
CellCode capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::cellCode ( ) const
inlineinherited
template<typename MemoryModel, typename Tags>
int capd::complex::CubCellComplexBase< MemoryModel, Tags >::coincidenceIndex ( const ConstCell cellA,
const ConstCell cellB 
) const
inlineinherited
Color capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::color ( Id  id) const
inlineinherited
template<DimType _DIM, typename ColorStorage, typename AvailableStorage, typename Tag = void>
ColorGridGraph capd::complex::impl::GridGraphCellComplexBase< _DIM, ColorStorage, AvailableStorage, Tag >::colorGridGraph ( typename Base::Color  color) const
inline
template<DimType _DIM, typename ColorStorage, typename AvailableStorage, typename Tag = void>
template<typename Lengths >
static size_t capd::complex::impl::GridGraphCellComplexBase< _DIM, ColorStorage, AvailableStorage, Tag >::ComputeSize ( const Lengths &  lengths)
inlinestaticprotected
Dim capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::dim ( ) const
inlineinherited
EnumerateCellCodes& capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::enumerateCellCodes ( )
inlineinherited
const EnumerateCellCodes& capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::enumerateCellCodes ( ) const
inlineinherited
bool capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::exists ( Id  id) const
inlineinherited
bool capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::exists ( const CellCode cellCode) const
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::fillWithBoundaries ( )
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::fillWithBoundary ( Id  cellId,
Color  color = Color(),
bool  keepLower = true 
)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::fillWithBoundary ( const Cell cell,
Color  color = Color(),
bool  keepLower = true 
)
inlineinherited
boost::optional<Cell> capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::find ( const CellCode cellCode)
inlineinherited
boost::optional<Cell> capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::find ( Id  id)
inlineinherited
template<typename MemoryModel, typename Tags>
FullCube capd::complex::CubCellComplexBase< MemoryModel, Tags >::fullCube ( ) const
inlineinherited
Dim capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::getDim ( ) const
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::insert ( const CellCode cellCode)
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::insert ( const CellCode cellCode,
Color  color 
)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::insertAll ( Color  color = Color(1))
inlineprotectedinherited
bool capd::complex::SComplexBase::isClosed ( ) const
inlineinherited
Iterators capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::iterators ( )
inlineinherited
ConstIterators capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::iterators ( ) const
inlineinherited
ColoredIterators capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::iterators ( Color  color)
inlineinherited
ColoredConstIterators capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::iterators ( Color  color) const
inlineinherited
template<typename MemoryModel, typename Tags>
CellCode capd::complex::CubCellComplexBase< MemoryModel, Tags >::operator() ( const FullCube fullCube) const
inlineinherited
template<typename MemoryModel, typename Tags>
CellCode capd::complex::CubCellComplexBase< MemoryModel, Tags >::operator() ( size_t  x,
size_t  y 
) const
inlineinherited
template<typename MemoryModel, typename Tags>
CellCode capd::complex::CubCellComplexBase< MemoryModel, Tags >::operator() ( size_t  x,
size_t  y,
size_t  z 
) const
inlineinherited
ConstCell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::operator[] ( const CellCode cellCode) const
inlineinherited
ConstCell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::operator[] ( Id  id) const
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::operator[] ( const CellCode cellCode)
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::operator[] ( Id  id)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::remove ( Cell cell)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::resetColors ( Color  color)
inlineinherited
void capd::complex::SComplexBase::setClosed ( bool  closed)
inlineinherited
void capd::complex::SComplexBase::setClosedValidator ( const boost::function< bool()> &  v)
inlineinherited
size_t capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::size ( ) const
inlineinherited

Member Data Documentation

template<DimType _DIM, typename ColorStorage, typename AvailableStorage, typename Tag = void>
const DimType capd::complex::impl::GridGraphCellComplexBase< _DIM, ColorStorage, AvailableStorage, Tag >::DIM = _DIM
static