ScalarField.h

Go to the documentation of this file.
00001 /**<!-------------------------------------------------------------------->
00002    @class  ScalarField
00003    @author Travis Fischer (fisch0920@gmail.com)
00004    @author Matthew Jacobs (jacobs.mh@gmail.com)
00005    @date   Spring 2008
00006    
00007    @brief
00008       Represents a possibly bounded 3D scalar field (function from R^3 -> R 
00009    which may be non-zero only within a bounded domain -- its AABB or 
00010    Axis-Aligned-Bounding-Box)
00011    <!-------------------------------------------------------------------->**/
00012 
00013 #ifndef SCALAR_FIELD_H_
00014 #define SCALAR_FIELD_H_
00015 
00016 #include <common/math/Point.h>
00017 #include <accel/AABB.h>
00018 
00019 class ScalarField {
00020    public:
00021       /**
00022        * @returns the bounding box of influence which bounds the domain in 
00023        *    which this ScalarField may have a non-zero value
00024        */
00025       virtual AABB getAABB() const = 0;
00026       
00027       /**
00028        * @returns the value of this scalar field at the given point
00029        * 
00030        * @note
00031        *    If the given point is outside of the field's AABB, evaluate is 
00032        * assumed to return zero
00033        */
00034       virtual real_t evaluate(const Point3 &pt) const = 0;
00035 };
00036 
00037 #endif // SCALAR_FIELD_H_
00038 

Generated on 28 Feb 2009 for Milton by doxygen 1.5.6