#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