vtkControlLine.h

Go to the documentation of this file.
00001 /*
00002  *
00003  * Program:   Slicer Image-Guided Navigator (The SIGN)
00004  * Module:    $RCSfile: vtkControlLine.h,v $
00005  */
00016 #ifndef __vtkControlLine_h
00017 #define __vtkControlLine_h
00018 
00019 #include <string>
00020 
00021 #include <vtkObject.h>
00022 #include <SignDLL.h>
00023 
00024 class vtkActor2D;
00025 class vtkLineSource;
00026 class vtkAppendPolyData;
00027 class vtkPolyDataMapper2D;
00028 class vtkGlyphSource2D;
00029 class vtkMatrix4x4;
00030 
00031 class SIGN_EXPORT vtkControlLine : public vtkObject
00032 {
00033 
00034 public:
00035   vtkTypeRevisionMacro(vtkControlLine,vtkObject);
00036   virtual void PrintSelf(::ostream& os, vtkIndent indent);
00037 
00039         static vtkControlLine *New();
00040 
00042         vtkActor2D *GetActor();
00043 
00045         void SetPosition(int x, int y);
00047   void SetCenterPosition(int x, int y);
00049   void SetLeftPosition(int x, int y);
00051   void SetRightPosition(int x, int y);
00053   void SetAngle(float a) {};
00054 
00056         void GetCenterPosition(int *pos);
00058   void GetLeftPosition(int *pos);
00060   void GetRightPosition(int *pos);
00062   float GetAngle();
00064   std::string GetName();
00066   void SetName(std::string);
00070   void GetQFromR(const vtkMatrix4x4 *matrix, float quat[4]);
00071 protected:
00072   vtkControlLine();
00073   ~vtkControlLine();
00074 
00075 private:
00076   void SetAll();
00077 
00078   int centerpos[2];
00079   int leftpos[2];
00080   int rightpos[2];
00081 
00082   std::string name;
00083 
00084   float angle;
00085 
00086   vtkActor2D *lineActor;
00087   vtkLineSource *line;
00088   vtkGlyphSource2D *circleCenter;
00089   vtkGlyphSource2D *circleLeft;
00090   vtkGlyphSource2D *circleRight;
00091 
00092   vtkControlLine(const vtkControlLine&);  // Not implemented.
00093   void operator=(const vtkControlLine&);  // Not implemented.
00094 
00095 };
00096 
00097 #endif

Generated on Mon Feb 26 12:11:16 2007 for TheSIGN by  doxygen 1.4.6