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