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