OPAL (Object Oriented Parallel Accelerator Library) 2024.2
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#include <fstream>
7#include <memory>
8#include <vector>
9
10namespace mslang {
11 struct Triangle: public Base {
12 std::vector<Vector_t> nodes_m;
14 Base(),
15 nodes_m(std::vector<Vector_t>(3, Vector_t({0, 0, 1})))
16 { }
17
18 Triangle(const Triangle &right):
19 Base(right),
20 nodes_m(right.nodes_m)
21 { }
22
23 virtual ~Triangle()
24 { }
25
26 virtual void print(int indentwidth);
27 virtual void apply(std::vector<std::shared_ptr<Base> > &bfuncs);
28 virtual std::shared_ptr<Base> clone() const;
29 virtual void writeGnuplot(std::ofstream &out) const;
30 virtual void computeBoundingBox();
31 double crossProduct(const Vector_t &pt, unsigned int nodeNum) const;
32 virtual bool isInside(const Vector_t &R) const;
33 void orientNodesCCW();
34 };
35}
36
37#endif
virtual void computeBoundingBox()
Definition Triangle.cpp:64
virtual ~Triangle()
Definition Triangle.h:23
void orientNodesCCW()
Definition Triangle.cpp:111
virtual std::shared_ptr< Base > clone() const
Definition Triangle.cpp:33
virtual void print(int indentwidth)
Definition Triangle.cpp:12
Triangle(const Triangle &right)
Definition Triangle.h:18
virtual void writeGnuplot(std::ofstream &out) const
Definition Triangle.cpp:45
virtual bool isInside(const Vector_t &R) const
Definition Triangle.cpp:96
virtual void apply(std::vector< std::shared_ptr< Base > > &bfuncs)
Definition Triangle.cpp:29
double crossProduct(const Vector_t &pt, unsigned int nodeNum) const
Definition Triangle.cpp:86
std::vector< Vector_t > nodes_m
Definition Triangle.h:12