libjbt

node.h

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

#ifndef jbt_node_h
#define jbt_node_h

#include <jgl/jgl.h>


class jbt_node
{
public:
    

    virtual ~jbt_node();
    

    enum Type
    {
        // primitives
        jbtPoint, jbtLine, jbtVrLine, jbtTorus, jbtPlane,
        
        // non-geometric 
        jbtTransform, jbtAttributes,

        // combination
        jbtBlend, jbtControlledBlend, jbtTwist, jbtTaper, jbtBend,
        jbtUnion, jbtIntersection, jbtDifference,

        // rfunction
        jbtRFunction
    };
    

    static const jFlt L;


    virtual Type type() const = 0;



    virtual bool isGeometric() const { return false; }


    virtual void beginQuery( const jVec3& ) = 0;

protected:

    jbt_node();

    
};

#endif 


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