ESyS-Particle
4.0.1
|
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_LSMSPHEREBOXVOLCALCULATOR_H 00015 #define ESYS_LSMSPHEREBOXVOLCALCULATOR_H 00016 00017 #include "Foundation/vec3.h" 00018 #include "Geometry/IntersectionVolCalculator.h" 00019 00020 namespace esys 00021 { 00022 namespace lsm 00023 { 00028 class SphereBoxVolCalculator : public impl::IntersectionVolCalculator<3, Vec3> 00029 { 00030 public: 00031 typedef impl::IntersectionVolCalculator<3, Vec3> Inherited; 00032 typedef Inherited::BasicSphere Sphere; 00033 typedef Inherited::BasicBox Box; 00034 SphereBoxVolCalculator( 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