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