libjbt

bracket.h

This is the verbatim text of the bracket.h include file.

#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

JSP / libjbt v0.1 mtigges@cpsc.ucalgary.ca