ESyS-Particle  4.0.1
AEdge.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 __AEDGE_H
14 #define __AEDGE_H
15 
16 //-- Project includes --
17 #include "Foundation/vec3.h"
18 
27 class AEdge
28 {
29  protected:
30  Vec3 m_p0,m_p1;
31 
32  public:
33  AEdge(const Vec3&,const Vec3&);
34  virtual ~AEdge();
35 
36  double sep(const Vec3&) const;
37  pair<bool,double> dist(const Vec3&) const ; // signed separation according to direction of the normal
38  Vec3 getBoundingBoxMin() const;
39  Vec3 getBoundingBoxMax() const;
40 };
41 #endif // __AEDGE_H