00001 #ifndef AFL_SIMPLEX_H 00002 #define AFL_SIMPLEX_H 00003 00004 #include "afltypes.h" 00005 #include <vector> 00006 00007 #include "ddf/ddf.h" 00008 00009 namespace afl 00010 { 00015 class Simplex 00016 { 00018 public: 00019 00023 Simplex(); 00024 00030 Simplex( const Point& x, const Point& y ); 00031 00038 Simplex( const Point& x, const Point& y, const Point& z ); 00039 00047 Simplex( const Point& x, const Point& y, const Point& z, const Point& t ); 00048 00057 Simplex( const Point& x, const Point& y, const Point& z, const Point& t, const Point& w ); 00058 00062 size_t getDimension( ) const; 00063 00068 const Point& operator[]( size_t t ) const; 00069 00074 Point& operator[]( size_t t ); 00075 00077 private: 00078 std::vector<Point> _pts; 00079 }; 00080 00081 } 00082 00083 #endif // AFL_SIMPLEX_H 00084