OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
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
6namespace mslang {
7 struct Triangle : public Base {
8 std::vector<Vector_t<double, 3>> nodes_m;
10 : Base(), nodes_m(std::vector<Vector_t<double, 3>>(3, Vector_t<double, 3>(0, 0, 1))) {}
11
12 Triangle(const Triangle& right) : Base(right), nodes_m(right.nodes_m) {}
13
14 virtual ~Triangle() {}
15
16 virtual void print(int indentwidth);
17 virtual void apply(std::vector<std::shared_ptr<Base>>& bfuncs);
18 virtual std::shared_ptr<Base> clone() const;
19 virtual void writeGnuplot(std::ofstream& out) const;
20 virtual void computeBoundingBox();
21 double crossProduct(const Vector_t<double, 3>& pt, unsigned int nodeNum) const;
22 virtual bool isInside(const Vector_t<double, 3>& R) const;
23 void orientNodesCCW();
24 };
25} // namespace mslang
26
27#endif
ippl::Vector< T, Dim > Vector_t
STL namespace.
std::vector< Vector_t< double, 3 > > nodes_m
Definition Triangle.h:8
virtual void computeBoundingBox()
Definition Triangle.cpp:58
virtual ~Triangle()
Definition Triangle.h:14
void orientNodesCCW()
Definition Triangle.cpp:108
virtual std::shared_ptr< Base > clone() const
Definition Triangle.cpp:29
virtual bool isInside(const Vector_t< double, 3 > &R) const
Definition Triangle.cpp:93
virtual void print(int indentwidth)
Definition Triangle.cpp:5
Triangle(const Triangle &right)
Definition Triangle.h:12
virtual void writeGnuplot(std::ofstream &out) const
Definition Triangle.cpp:41
double crossProduct(const Vector_t< double, 3 > &pt, unsigned int nodeNum) const
Definition Triangle.cpp:84
virtual void apply(std::vector< std::shared_ptr< Base > > &bfuncs)
Definition Triangle.cpp:25