libjbt

disk.h

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

#ifndef jbt_disk_h
#define jbt_disk_h

#include "primitive.h"


class jbt_disk : public jbt_primitive
{
public:

    jbt_disk( jFlt _disk_radius = 1.0, jFlt field_radius = 1.0 );
    
    jbt_object::Type type() const { return jbt_object::jbtDisk; }


    jFlt getDiskRadius() const { return disk_radius; }


    void setDiskRadius( jFlt dr ) { disk_radius = dr; }

private:

    jVec3 displacement();

    void bracket( const jRay&, jbt_brackets& );
    
    void computeBound();

    void precompute();

    void seedPoints( jVec3list& ) const;

    jVec2 uvl( const jVec3& );

    jFlt disk_radius;

    jVec3 disk_pt;
    jFlt pt_rad;
};


#endif

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