OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Triangle.h
Go to the documentation of this file.
1 #ifndef MSLANG_TRIANGLE_H
2 #define MSLANG_TRIANGLE_H
3 
4 #include "Utilities/MSLang.h"
5 
6 namespace mslang {
7  struct Triangle: public Base {
8  std::vector<Vector_t> nodes_m;
10  Base(),
11  nodes_m(std::vector<Vector_t>(3, Vector_t(0, 0, 1)))
12  { }
13 
14  Triangle(const Triangle &right):
15  Base(right),
16  nodes_m(right.nodes_m)
17  { }
18 
19  virtual ~Triangle()
20  { }
21 
22  virtual void print(int indentwidth);
23  virtual void apply(std::vector<std::shared_ptr<Base> > &bfuncs);
24  virtual std::shared_ptr<Base> clone() const;
25  virtual void writeGnuplot(std::ofstream &out) const;
26  virtual void computeBoundingBox();
27  double crossProduct(const Vector_t &pt, unsigned int nodeNum) const;
28  virtual bool isInside(const Vector_t &R) const;
29  void orientNodesCCW();
30  };
31 }
32 
33 #endif
double crossProduct(const Vector_t &pt, unsigned int nodeNum) const
Definition: Triangle.cpp:79
virtual ~Triangle()
Definition: Triangle.h:19
virtual bool isInside(const Vector_t &R) const
Definition: Triangle.cpp:89
virtual std::shared_ptr< Base > clone() const
Definition: Triangle.cpp:26
std::vector< Vector_t > nodes_m
Definition: Triangle.h:8
virtual void computeBoundingBox()
Definition: Triangle.cpp:57
virtual void writeGnuplot(std::ofstream &out) const
Definition: Triangle.cpp:38
void orientNodesCCW()
Definition: Triangle.cpp:104
virtual void print(int indentwidth)
Definition: Triangle.cpp:5
virtual void apply(std::vector< std::shared_ptr< Base > > &bfuncs)
Definition: Triangle.cpp:22
Triangle(const Triangle &right)
Definition: Triangle.h:14