#ifndef jbt_bracket_h #define jbt_bracket_h #include <jgl/jgl.h> class jbt_bracket { public: jbt_bracket( jFlt _a, jFlt _b, const jVec3& _p ) : a(_a), b(_b), p(_p) {} struct link { link( jFlt _a, jFlt _b, const jVec3& _pos, link* _n ) : a(_a), b(_b), pos(_pos), n(_n) {} ~link() { if(n) delete n; } jFlt a, b; jVec3 pos; link* n; }; jFlt A() const { return a; } jFlt B() const { return b; } const jVec3& pos() const { return p; } static void Flatten( link*, jbt_bracket*&, int& ); private: jbt_bracket() {} jFlt a, b; jVec3 p; static int qcmp( const jbt_bracket*, const jbt_bracket* ); }; #endif