Go to the documentation of this file.00001
00022 #ifndef DGVDIOPHANTINEVTK_H
00023 #define DGVDIOPHANTINEVTK_H
00024
00025 #include "QVTKWidget.h"
00026
00027 #include "DGVLatticeVTK.h"
00028
00029 #include "vtkLineSource.h"
00030 #include "vtkProperty.h"
00031
00032 typedef long DiophantineType;
00033
00065 class DGV_VTK_EXPORT DGVDiophantineVTK : public QVTKWidget
00066 {
00067 public:
00068 DGVDiophantineVTK(QWidget *parent = 0);
00069 virtual ~DGVDiophantineVTK();
00070
00071 void setLattice(DGVLatticeVTK *lattice);
00072 void setCoefficients(DiophantineType x, DiophantineType y, DiophantineType z);
00073 void setPointOnLine(DiophantineType x, DiophantineType y, DiophantineType z);
00074 void setStartPoint(Array<DiophantineType,1> &point);
00075 void setStartPoint(DiophantineType x, DiophantineType y);
00076 void setEndPoint(Array<DiophantineType,1> &point);
00077 void setEndPoint(DiophantineType u, DiophantineType v);
00078 void setColour(double red, double green, double blue);
00079
00080 vtkActor* getLineActor()
00081 { return actor; }
00082
00083 DGVLatticeVTK* loadFile(QString filename);
00084 void generateLine();
00085
00086 protected:
00087 DGVLatticeVTK *gamma;
00088 DiophantineType xCoefficient;
00089 DiophantineType yCoefficient;
00090 DiophantineType zCoefficient;
00091 Array<DiophantineType,1> pointOnLine;
00092 Array<double,1> start;
00093 Array<double,1> end;
00094 DiophantineType intercept;
00095 bool latticeSet;
00096 bool generatedBefore;
00097 bool manual;
00098
00099 vtkLineSource *line;
00100 vtkPolyDataMapper *mapper;
00101 vtkActor *actor;
00102 vtkProperty *displayProperties;
00103 };
00104
00105 #endif // DGVDIOPHANTINEVTK_H