NuTo
Numerics Tool
Prism.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Shape.h"
4 
5 namespace NuTo
6 {
7 
8 class Prism : public Shape
9 {
10 public:
11  eShape Enum() const override
12  {
13  return eShape::Prism;
14  }
15 
16  bool IsWithinShape(Eigen::VectorXd xi, double e = 1e-8) const override
17  {
18  double x = xi[0];
19  double y = xi[1];
20  double z = xi[2];
21  return (0.-e < x) && (x < 1.+e) && (0.-e < y) && (y < 1.+e) && (-1.-e < z) && (z < 1.+e) && (x + y < 1.+e);
22  }
23 
24 protected:
25  void Info(std::ostream& out) const override
26  {
27  out << "Prism";
28  }
29 };
30 
31 } // namespace NuTo
bool IsWithinShape(Eigen::VectorXd xi, double e=1e-8) const override
Definition: Prism.h:16
eShape
Definition: Shape.h:9
void Info(std::ostream &out) const override
Definition: Prism.h:25
Definition: Shape.h:20
Definition: Exception.h:6
Definition: Prism.h:8
eShape Enum() const override
Definition: Prism.h:11