27 #ifndef EDELSBRUNNER96_EXAMPLETRAITS_H_ 
   28 #define EDELSBRUNNER96_EXAMPLETRAITS_H_ 
   31 #include <Eigen/Dense> 
   34 namespace edelsbrunner96 {
 
   40   static const unsigned int NDim = 2;
 
   47   typedef Eigen::Matrix<Scalar, NDim, 1> 
Point;
 
  105       if (!
free_.empty()) {
 
  106         result = 
free_.back();
 
  116       free_.push_back(simplex);
 
  126 #endif  // EDELSBRUNNER96_EXAMPLETRAITS_H_ 
SimplexBase< ExampleTraits > Simplex
the simplex type, this may be a structure with extra methods and such but it should provide the same ...
double Scalar
numeric type for scalars 
SimplexRef & NullSimplex()
void Retire(SimplexRef simplex)
A simplex in the triangulation. A simplex is the convex hull of Ndim+1 points in R^NDim. 
Point & operator[](PointRef p)
Storage abstraction for simplices and points. 
Point * PointRef
type which points to a Point structure, this is what is stored inside simplices. Here we simply use a...
Simplex * SimplexRef
How we will refer to simplices within the simplex store. For this example the simplex store is a simp...
Example of a traits class suitable for instantiation an edelsbrunner triangulation object...
std::vector< Simplex * > free_
static const unsigned int NDim
dimension of the triangulation 
Simplex & operator[](SimplexRef s)
uint16_t version
incremented when flipped 
Eigen::Matrix< Scalar, NDim, 1 > Point
the type used for a NDim point, requires some of the interface of an Eigen::Matrix. For now that is probably the only option