1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
//////////////////////////////////////////////////////////////////////////
// FineTriang.hh
// produced: 01 Oct 1999 jr
// last change: 01 Oct 1999 jr
/////////////////////////////////////////////////////////////////////////
#ifndef FINETRIANG_HH
#define FINETRIANG_HH
#include <assert.h>
#include "HashSet.hh"
#include "SimplicialComplex.hh"
#include "CommandlineOptions.hh"
#include "Permutation.hh"
#include "Chirotope.hh"
#include "PlacingTriang.hh"
class FineTriang : public SimplicialComplex {
private:
const Chirotope* _chiroptr;
public:
inline FineTriang();
inline FineTriang(const FineTriang& pt);
inline FineTriang(const Chirotope& chiro);
inline ~FineTriang();
inline FineTriang& operator=(const FineTriang& pt);
private:
void _flip_in();
void _flip_in(IntegerSet& not_used, const size_type i);
};
inline FineTriang::FineTriang() :
SimplicialComplex(), _chiroptr(0) {}
inline FineTriang::FineTriang(const FineTriang& pt) :
SimplicialComplex(pt), _chiroptr(pt._chiroptr) {}
inline FineTriang::FineTriang(const Chirotope& chiro) :
SimplicialComplex(PlacingTriang(chiro)), _chiroptr(&chiro) {
_flip_in();
}
inline FineTriang::~FineTriang() {}
inline FineTriang& FineTriang::operator=(const FineTriang& pt) {
if (this == &pt) return *this;
SimplicialComplex::operator=(pt);
_chiroptr = pt._chiroptr;
return *this;
}
#endif
// eof FineTriang.hh
|