00001
00002
00003
00004
00005
00006
00007 #ifndef BALL_VIEW_PRIMITIV_GRIDSLICE_H
00008 #define BALL_VIEW_PRIMITIV_GRIDSLICE_H
00009
00010 #ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H
00011 # include <BALL/VIEW/KERNEL/geometricObject.h>
00012 #endif
00013
00014 #ifndef BALL_DATATYPE_REGULARDATA3D_H
00015 # include <BALL/DATATYPE/regularData3D.h>
00016 #endif
00017
00018 namespace BALL
00019 {
00020 namespace VIEW
00021 {
00025 class BALL_VIEW_EXPORT GridVisualisation
00026 : public GeometricObject
00027 {
00028 public:
00029
00030 enum Type
00031 {
00033 PLANE,
00034
00036 SLICES,
00037
00039 DOTS
00040 };
00041
00042 BALL_CREATE(GridVisualisation)
00043
00044
00045 GridVisualisation();
00046
00048 GridVisualisation(const GridVisualisation& plane);
00049
00052 virtual ~GridVisualisation(){};
00053
00055 const GridVisualisation& operator = (const GridVisualisation& plane);
00056
00058 const Vector3& getNormal() const { return normal_;}
00059
00061 void setNormal(const Vector3& normal) { normal_ = normal;}
00062
00064 const Vector3& getPoint() const { return point_;}
00065
00067 void setPoint(const Vector3& v) { point_ = v;}
00068
00070 void setGrid(const RegularData3D* grid) { grid_ = grid;}
00071
00073 const RegularData3D* getGrid() const { return grid_;}
00074
00076 Position getTexture() const { return texture_;}
00077
00079 void setTexture(Position texture) { texture_ = texture;}
00080
00082 void setDotSize(Size dot_size) { dot_size_ = dot_size;}
00083
00085 Size getDotSize() const { return dot_size_;}
00086
00087 Vector3 origin, x,y,z;
00088 float max_dim;
00089 Size slices;
00090 vector<Vector3> points;
00091 Type type;
00092 bool draw_box;
00093
00094 protected:
00095
00096 Vector3 normal_;
00097 Vector3 point_;
00098 Position texture_;
00099 const RegularData3D* grid_;
00100 Size dot_size_;
00101 };
00102
00103 }
00104 }
00105
00106 #endif // BALL_VIEW_KERNEL_CLIPPING_PLANE_H