ESyS-Particle  2.3.4
AEdge.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
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:
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
AEdge::AEdge
AEdge(const Vec3 &, const Vec3 &)
Definition: AEdge.cpp:21
AEdge::sep
double sep(const Vec3 &) const
Definition: AEdge.cpp:51
Vec3::unit
VEC3_INLINE Vec3 unit() const
Definition: vec3.hpp:225
AEdge::dist
pair< bool, double > dist(const Vec3 &) const
Definition: AEdge.cpp:77
AEdge
abstract base class for edges in mesh (2D or 3D)
Definition: AEdge.h:28
cmax
VEC3_INLINE Vec3 cmax(const Vec3 &v1, const Vec3 &v2)
Definition: vec3.hpp:231
Vec3
Definition: vec3.h:47
AEdge::~AEdge
virtual ~AEdge()
Definition: AEdge.cpp:27
vec3.h
cmin
VEC3_INLINE Vec3 cmin(const Vec3 &v1, const Vec3 &v2)
Definition: vec3.hpp:240
AEdge.h
Vec3::norm2
VEC3_INLINE double norm2() const
Definition: vec3.hpp:218
AEdge::m_p1
Vec3 m_p1
Definition: AEdge.h:30
AEdge::m_p0
Vec3 m_p0
Definition: AEdge.h:30
AEdge::getBoundingBoxMin
Vec3 getBoundingBoxMin() const
Definition: AEdge.cpp:33
AEdge::getBoundingBoxMax
Vec3 getBoundingBoxMax() const
Definition: AEdge.cpp:41