X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fgeometry%2Fshape.h;h=ded8f13d8b7464b896e8d0510fe8146de2e68a85;hb=a29d2c17ca70a3ed5df1e863c92ccd851d5dba6b;hp=22b18876620657e9f2858ea568196cc66a2d3f9c;hpb=7de28b9c89ca4554f5c12746f481f5b385529479;p=libs%2Fmath.git diff --git a/source/geometry/shape.h b/source/geometry/shape.h index 22b1887..ded8f13 100644 --- a/source/geometry/shape.h +++ b/source/geometry/shape.h @@ -10,6 +10,13 @@ namespace Msp { namespace Geometry { +enum Coverage +{ + NO_COVERAGE, + PARTIAL_COVERAGE, + FULL_COVERAGE +}; + /** Base class and interface for geometric shapes. Shapes may be bounded or unbounded. They are always considered to be solid, i.e. have a distinct inside @@ -31,6 +38,7 @@ public: virtual unsigned get_max_ray_intersections() const = 0; virtual unsigned get_intersections(const Ray &, SurfacePoint *, unsigned) const = 0; std::vector > get_intersections(const Ray &) const; + virtual Coverage get_coverage(const BoundingBox &) const = 0; }; template