00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef PYRAMID_H
00019 #define PYRAMID_H
00020
00021 #include <list>
00022
00023 #include "geometry.h"
00024 #include "particle.h"
00025
00026
00031 class Pyramid : public Geometry {
00032
00033 private:
00034
00035 Particle::vector_t top;
00036 std::list<Particle::vector_t> polygon;
00037
00038 public:
00039
00043 Pyramid(const Particle::vector_t& top,
00044 const Particle::vector_t& c1,
00045 const Particle::vector_t& c2,
00046 const Particle::vector_t& c3,
00047 const Particle::vector_t& c4);
00048
00049 virtual bool operator()(const Particle::vector_t& p) const;
00050
00053 virtual void to_xml(std::ostream& o);
00054
00055 };
00056
00057
00058 #endif // PYRAMID_H