KurusView  1.0
MPyramid.h
Go to the documentation of this file.
1 
8 #ifndef INC_KURUSVIEW_MPYRAMID_H
9 #define INC_KURUSVIEW_MPYRAMID_H
10 
11 
12 #include "MCell.h"
13 
15 class MPyramid : public MCell {
16 public:
17 
24  MPyramid(const std::vector<std::shared_ptr<MVector>> &vertices, const std::shared_ptr<MMaterial> &material,
25  long int id);
26 
30  MPyramid() = delete;
31 
37  ~MPyramid() = default; // this should call the base destructor regardless
38 
39 private:
44  double calcVolume() const override;
45 
52  double calcWeight() const override;
53 
64  std::shared_ptr<MVector> calcCentreOfGrav() const override;
65 };
66 
67 
68 #endif //INC_KURUSVIEW_MPYRAMID_H
Header file for MCell base class.
MCell - Interface (abstract) class for all the cell shapes.
Definition: MCell.h:24
~MPyramid()=default
default destructor - wraps MCell destructor (decrements Instance Count)
MPyramid object - inherits from MCell.
Definition: MPyramid.h:15
MPyramid()=delete
deleted default constructor. See MCell default ctor for reference.