libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
triangleForm.hpp
1 #ifndef TRIANGLEFORM_H
2 #define TRIANGLEFORM_H
3 
4 #include "geometricForm.hpp"
5 
6 
7 class TriangleForm : public GeometricForm
8 {
9  MOVE3D_STATIC_LOGGER;
10 public:
11  TriangleForm(p3d_point a, p3d_point b, p3d_point c, p3d_vector3 norm);
12  virtual ~TriangleForm(){}
13 
14  bool isPointInForm(p3d_point p);
15  double distHToPoint(p3d_point p);
16 
17  double getDistanceFromPoint(p3d_point p);
18  double getPlannarDistanceFromPoint(p3d_point p);
19 
20  p3d_point getRandomPointInForm();
21  std::vector<p3d_point> getFormGrid(double sampleRate);
22  GeometricForm* getTransformedForm(p3d_matrix4 M);
23 
24  void draw();
25 
26 private:
27  p3d_point _a;
28  p3d_point _b;
29  p3d_point _c;
30 };
31 
32 
33 #endif // TRIANGLEFORM_H
p3d_point getRandomPointInForm()
Definition: triangleForm.cpp:41
Definition: geometricForm.hpp:11
GeometricForm * getTransformedForm(p3d_matrix4 M)
create a new form rotate by M compared to this one.
Definition: triangleForm.cpp:57
Definition: triangleForm.hpp:7
double getPlannarDistanceFromPoint(p3d_point p)
Definition: triangleForm.cpp:35
double getDistanceFromPoint(p3d_point p)
Definition: triangleForm.cpp:28
std::vector< p3d_point > getFormGrid(double sampleRate)
Definition: triangleForm.cpp:51
double distHToPoint(p3d_point p)
Definition: triangleForm.cpp:22
bool isPointInForm(p3d_point p)
Definition: triangleForm.cpp:16
void draw()
draw the form
Definition: triangleForm.cpp:62