00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00054 #ifndef __vtkCoordinate_h
00055 #define __vtkCoordinate_h
00056
00057 #include "vtkObject.h"
00058 class vtkViewport;
00059
00060 #define VTK_DISPLAY 0
00061 #define VTK_NORMALIZED_DISPLAY 1
00062 #define VTK_VIEWPORT 2
00063 #define VTK_NORMALIZED_VIEWPORT 3
00064 #define VTK_VIEW 4
00065 #define VTK_WORLD 5
00066 #define VTK_USERDEFINED 6
00067
00068 class VTK_FILTERING_EXPORT vtkCoordinate : public vtkObject
00069 {
00070 public:
00071 vtkTypeRevisionMacro(vtkCoordinate,vtkObject);
00072 void PrintSelf(ostream& os, vtkIndent indent);
00073
00076 static vtkCoordinate* New();
00077
00079
00082 vtkSetMacro(CoordinateSystem, int);
00083 vtkGetMacro(CoordinateSystem, int);
00084 void SetCoordinateSystemToDisplay() {this->SetCoordinateSystem(VTK_DISPLAY);}
00085 void SetCoordinateSystemToNormalizedDisplay()
00086 {this->SetCoordinateSystem(VTK_NORMALIZED_DISPLAY);}
00087 void SetCoordinateSystemToViewport()
00088 {this->SetCoordinateSystem(VTK_VIEWPORT);}
00089 void SetCoordinateSystemToNormalizedViewport()
00090 {this->SetCoordinateSystem(VTK_NORMALIZED_VIEWPORT);}
00091 void SetCoordinateSystemToView() {this->SetCoordinateSystem(VTK_VIEW);}
00092 void SetCoordinateSystemToWorld() {this->SetCoordinateSystem(VTK_WORLD);}
00094
00095 const char *GetCoordinateSystemAsString ();
00096
00098
00100 vtkSetVector3Macro(Value,double);
00101 vtkGetVector3Macro(Value,double);
00102 void SetValue(double a, double b) { this->SetValue(a,b,0.0);}
00104
00106
00109 virtual void SetReferenceCoordinate(vtkCoordinate*);
00110 vtkGetObjectMacro(ReferenceCoordinate,vtkCoordinate);
00112
00114
00116 void SetViewport(vtkViewport *viewport);
00117 vtkGetObjectMacro(Viewport,vtkViewport);
00119
00121
00122 double *GetComputedWorldValue(vtkViewport *);
00123 int *GetComputedViewportValue(vtkViewport *);
00124 int *GetComputedDisplayValue(vtkViewport *);
00125 int *GetComputedLocalDisplayValue(vtkViewport *);
00127
00128 double *GetComputedDoubleViewportValue(vtkViewport *);
00129 double *GetComputedDoubleDisplayValue(vtkViewport *);
00130
00135 double *GetComputedValue(vtkViewport *);
00136
00138
00142 virtual double *GetComputedUserDefinedValue(vtkViewport *)
00143 { return this->Value; }
00145
00146 protected:
00147 vtkCoordinate();
00148 ~vtkCoordinate();
00149
00150 double Value[3];
00151 int CoordinateSystem;
00152 vtkCoordinate *ReferenceCoordinate;
00153 vtkViewport *Viewport;
00154 double ComputedWorldValue[3];
00155 int ComputedDisplayValue[2];
00156 int ComputedViewportValue[2];
00157 int Computing;
00158
00159 double ComputedDoubleDisplayValue[2];
00160 double ComputedDoubleViewportValue[2];
00161 double ComputedUserDefinedValue[3];
00162
00163 private:
00164 vtkCoordinate(const vtkCoordinate&);
00165 void operator=(const vtkCoordinate&);
00166 };
00167
00168 #endif
00169
00170