#ifndef SIMPLEXFACE_H
#define SIMPLEXFACE_H

#include <iosfwd>
using namespace std;

typedef unsigned int uint;
typedef unsigned int const uintc;


//  Brief:  associates a simplex with on of its faces.
//
//
class simplexface
{
public:
 
  uint id;    // Index to simplex or primitve shape.
  uint face;  // The face opposite the associated point.

  // Constructor
  simplexface();

  // Constructor
  simplexface(uintc _id, uintc _face);

  // Allows this data structure to be used in set and other STL containers.
  // So searching is O(log(n)).
  bool const operator < (simplexface const & tf) const;

  bool const operator == (simplexface const & tf) const;

  simplexface & operator = (simplexface const & tf);

  ostream & print(ostream & os) const;

};

ostream & operator << (ostream & os, simplexface const & x);

#endif



