ESyS-Particle  4.0.1
CircleBoxVolCalculator.h
00001 
00002 //                                                         //
00003 // Copyright (c) 2003-2011 by The University of Queensland //
00004 // Earth Systems Science Computational Centre (ESSCC)      //
00005 // http://www.uq.edu.au/esscc                              //
00006 //                                                         //
00007 // Primary Business: Brisbane, Queensland, Australia       //
00008 // Licensed under the Open Software License version 3.0    //
00009 // http://www.opensource.org/licenses/osl-3.0.php          //
00010 //                                                         //
00012 
00013 
00014 #ifndef ESYS_LSMCIRCLEBOXVOLCALCULATOR_H
00015 #define ESYS_LSMCIRCLEBOXVOLCALCULATOR_H
00016 
00017 #include "Foundation/vec3.h"
00018 #include "Geometry/IntersectionVolCalculator.h"
00019 
00020 namespace esys
00021 {
00022   namespace lsm
00023   {
00028     class CircleBoxVolCalculator : public impl::IntersectionVolCalculator<2, Vec3>
00029     {
00030     public:
00031       typedef impl::IntersectionVolCalculator<2, Vec3> Inherited;
00032       typedef Inherited::BasicSphere                   Sphere;
00033       typedef Inherited::BasicBox                      Box;
00034       CircleBoxVolCalculator(
00035         const Box &box
00036       ) : Inherited(box)
00037       {
00038       }
00039       
00040       double getVolume(const Sphere &sphere)
00041       {
00042         return Inherited::getVolume(sphere);
00043       }
00044 
00045     private:
00046     };
00047   };
00048 };
00049 #endif