Intermediate commit while converting to the new architecture
* Converted Filtration into StaticPersistence and DynamicPersistenceTrails
(both right now work with the underlying std::vector rather than std::list order)
* Filtration is now just an auxilliary glue (a map between Complex and Persistence)
* Whether chains are vectors or lists can be interchanged
* Added PersistenceDiagram with a simple bottleneck_distance() function
* Converted triangle, alphashapes3d, and cech-complex examples
* Lots of organizational changes
(factoring utilities out into containers.h, indirect.h, property-maps.h)
* Trying to document along the way with NaturalDocs-type comments
/*
* Author: Dmitriy Morozov
* Department of Computer Science, Duke University, 2006
*/
#ifndef __FILTRATIONCONTAINER_H__
#define __FILTRATIONCONTAINER_H__
#include "utilities/consistencylist.h"
#include "cycle.h"
/**
* FiltrationContainer class. Serves as a parent of Filtration that
* describes the container functionality. Used by FiltrationSimplex
* to get Cycle representation.
*
* \ingroup topology
*/
template<class FltrSmplx>
class FiltrationContainer: public ConsistencyList<FltrSmplx>
{
public:
typedef FltrSmplx FiltrationSimplex;
typedef ConsistencyList<FiltrationSimplex> ConsistencyLst;
/// \name Cycles and Trails
/// @{
/// Index is and therfore acts like an iterator. The name is preserved for historical reasons.
typedef typename ConsistencyLst::iterator Index;
/// const_Index is a const_iterator
typedef typename ConsistencyLst::const_iterator const_Index;
/// @}
/// \name Cycles and Trails
/// @{
typedef typename ConsistencyLst::GreaterThanComparison CyclesComparator;
typedef typename ConsistencyLst::LessThanComparison TrailsComparator;
typedef typename ConsistencyLst::ConsistencyComparison ConsistencyComparator;
typedef ::Cycle<Index, CyclesComparator, ConsistencyComparator> Cycle;
typedef ::Cycle<Index, TrailsComparator, ConsistencyComparator> Trail;
/// @}
template<class U>
struct rebind { typedef FiltrationContainer<U> other; };
};
#endif // __FILTRATIONCONTAINER_H__