00001 #ifndef _ots_Visual3DGeometry_h
00002 #define _ots_Visual3DGeometry_h
00003
00004 #include "otsdaq-core/MonicelliInterface/Visual3DEvent.h"
00005
00006 #include <vector>
00007
00008 namespace ots
00009 {
00010
00011 class Point
00012 {
00013 public:
00014 double x;
00015 double y;
00016 double z;
00017 Point& operator*(double factor){this->x*=factor;this->y*=factor;this->z*=factor;return *this;}
00018 };
00019
00020 typedef std::vector<Point> Points;
00021
00022 class Visual3DShape
00023 {
00024 public:
00025
00026
00027
00028
00029 Points corners;
00030 int numberOfRows;
00031 int numberOfColumns;
00032 };
00033
00034 typedef std::vector<Visual3DShape> Visual3DShapes;
00035
00036 class Visual3DGeometry
00037 {
00038 public:
00039 Visual3DGeometry(){;}
00040 virtual ~Visual3DGeometry(void){;}
00041
00042 void reset(void){theShapes_.clear();}
00043
00044
00045 void addShape(const Visual3DShape& shape) {theShapes_.push_back(shape);}
00046
00047 const Visual3DShapes& getShapes(void) const {return theShapes_;}
00048
00049 private:
00050 Visual3DShapes theShapes_;
00051 };
00052
00053 }
00054
00055 #endif