////////////////////////////////////////////////////////////////////////////////
// 
// CheckTriang.hh 
//
//    produced: 22 Nov 1999 jr
//
////////////////////////////////////////////////////////////////////////////////
#ifndef CHECKTRIANG_HH
#define CHECKTRIANG_HH

#include "ConfData.hh"
#include "SimplicialComplex.hh"
#include "Chirotope.hh"
#include "Symmetry.hh"


namespace topcom {
  
  class CheckTriang {
  private:
    const ConfData&             _confdata;
    const SimplicialComplex&    _triang;
    const symmetryptr_datapair& _triang_symmetryptrs;
  private:
    CheckTriang();
    CheckTriang(const CheckTriang&);
  public:
    inline CheckTriang(const ConfData&             confdata,
		       const SimplicialComplex&    triang, 
		       const symmetryptr_datapair& triang_symmetryptrs) :
      _confdata(confdata),
      _triang(triang), 
      _triang_symmetryptrs(triang_symmetryptrs) {}
  public:
    const bool operator()() const;
  private:
    const bool _check(const Simplex& facet) const;
    const bool _opposite_sides(const Simplex& facet,
			       const size_type,
			       const size_type) const;
    const bool _check_extension_cover() const;
  };

}; // namespace topcom

#endif
// eof CheckTriang.hh
