ESyS-Particle  4.0.1
RectPatch.h
1 
2 // //
3 // Copyright (c) 2003-2011 by The University of Queensland //
4 // Earth Systems Science Computational Centre (ESSCC) //
5 // http://www.uq.edu.au/esscc //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 #ifndef __RECT_PATCH_H
14 #define __RECT_PATCH_H
15 
16 // --- project includes ---
17 #include "Foundation/vec3.h"
18 #include "Geometry/Plane.h"
19 
22 class RectPatch
23 {
24  private:
25  double m_xmin,m_xmax,m_zmin,m_zmax,m_y0,m_dy;
26 
27  public:
28  RectPatch(double,double,double,double,double,double);
29 
30  double sep(const Vec3&);
31  double dist(const Vec3&);
32  bool intersect(const Vec3&,const Vec3&);
33  Plane getPlane(const Vec3&);
34  Vec3 getBasePoint() const {return Vec3(m_xmin,m_y0,m_zmin);};
35 };
36 
37 
38 
39 #endif // __RECT_PATCH_H