Cutout Vis2012
TUWienVisualisierung2(SS2012)-AdaptiveCutaways
 All Classes Namespaces Functions Pages
Plane.h
1 #ifndef _PLANE_H_
2 #define _PLANE_H_
3 
4 #include <glm/glm.hpp>
5 
9 class Plane
10 {
11 public:
15  Plane(const glm::vec3& a, const glm::vec3& b, const glm::vec3& c);
19  Plane(const glm::vec3& origin, const glm::vec3& normal);
20  ~Plane();
21 
25  double signedDistance(const glm::vec3& p) const;
29  bool isFrontFacingTo(const glm::vec3& direction) const;
35  bool lineIntersect(const glm::vec3& linePoint, const glm::vec3& lineDirection, glm::vec3& intersection);
36 
37 private:
38  glm::vec3 _origin;
39  glm::vec3 _normal;
40  double _d;
41 };
42 
43 #endif