Acoustic FDTD Solver
Shape.hpp
Go to the documentation of this file.
1 #ifndef SHAPE_HPP
2 #define SHAPE_HPP
3 
4 #include "constant.hpp"
5 #include "Grid.hpp"
6 #include "CartPosition.hpp"
7 
8 class Shape {
9 public:
14  virtual CartPosition getUpper() const=0;
19  virtual CartPosition getLower() const=0;
20  virtual double getXLength() const=0;
21  virtual double getYLength() const=0;
22  virtual double getZLength() const=0;
23  virtual double getLargestLength() const=0;
24  virtual unsigned getType() const=0;
25  // virtual std::vector<unsigned> getDimension(const Grid &grid) const=0;
26  // virtual std::vector<unsigned> getIndex(const Grid &grid) const=0;
27 
28  virtual Shape * clone() const = 0;
29  virtual std::vector<std::vector<unsigned> > getCoordinateIndex(const Grid &grid) const = 0;
30 
39  virtual ~Shape() {}
40 };
41 
42 
43 #endif