00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00083 #ifndef __vtkCoordinate_h
00084 #define __vtkCoordinate_h
00085
00086 #include "vtkObject.h"
00087 class vtkViewport;
00088
00089 #define VTK_DISPLAY 0
00090 #define VTK_NORMALIZED_DISPLAY 1
00091 #define VTK_VIEWPORT 2
00092 #define VTK_NORMALIZED_VIEWPORT 3
00093 #define VTK_VIEW 4
00094 #define VTK_WORLD 5
00095 #define VTK_USERDEFINED 6
00096
00097 class VTK_COMMON_EXPORT vtkCoordinate : public vtkObject
00098 {
00099 public:
00100 vtkTypeMacro(vtkCoordinate,vtkObject);
00101 void PrintSelf(ostream& os, vtkIndent indent);
00102
00105 static vtkCoordinate* New();
00106
00108
00111 vtkSetMacro(CoordinateSystem, int);
00112 vtkGetMacro(CoordinateSystem, int);
00113 void SetCoordinateSystemToDisplay() {this->SetCoordinateSystem(VTK_DISPLAY);}
00114 void SetCoordinateSystemToNormalizedDisplay()
00115 {this->SetCoordinateSystem(VTK_NORMALIZED_DISPLAY);}
00116 void SetCoordinateSystemToViewport()
00117 {this->SetCoordinateSystem(VTK_VIEWPORT);}
00118 void SetCoordinateSystemToNormalizedViewport()
00119 {this->SetCoordinateSystem(VTK_NORMALIZED_VIEWPORT);}
00120 void SetCoordinateSystemToView() {this->SetCoordinateSystem(VTK_VIEW);}
00121 void SetCoordinateSystemToWorld() {this->SetCoordinateSystem(VTK_WORLD);}
00123
00124 const char *GetCoordinateSystemAsString ();
00125
00127
00129 vtkSetVector3Macro(Value,float);
00130 vtkGetVector3Macro(Value,float);
00131 void SetValue(float a, float b) { this->SetValue(a,b,0.0);}
00133
00135
00138 vtkSetObjectMacro(ReferenceCoordinate,vtkCoordinate);
00139 vtkGetObjectMacro(ReferenceCoordinate,vtkCoordinate);
00141
00143
00145 void SetViewport(vtkViewport *viewport);
00146 vtkGetObjectMacro(Viewport,vtkViewport);
00148
00150
00151 float *GetComputedWorldValue(vtkViewport *);
00152 int *GetComputedViewportValue(vtkViewport *);
00153 int *GetComputedDisplayValue(vtkViewport *);
00154 int *GetComputedLocalDisplayValue(vtkViewport *);
00156
00157 float *GetComputedFloatViewportValue(vtkViewport *);
00158 float *GetComputedFloatDisplayValue(vtkViewport *);
00159
00164 float *GetComputedValue(vtkViewport *);
00165
00167
00171 virtual float *GetComputedUserDefinedValue(vtkViewport *)
00172 { return this->Value; }
00174
00175 protected:
00176 vtkCoordinate();
00177 ~vtkCoordinate();
00178
00179 float Value[3];
00180 int CoordinateSystem;
00181 vtkCoordinate *ReferenceCoordinate;
00182 vtkViewport *Viewport;
00183 float ComputedWorldValue[3];
00184 int ComputedDisplayValue[2];
00185 int ComputedViewportValue[2];
00186 int Computing;
00187
00188 float ComputedFloatDisplayValue[2];
00189 float ComputedFloatViewportValue[2];
00190 float ComputedUserDefinedValue[3];
00191
00192 private:
00193 vtkCoordinate(const vtkCoordinate&);
00194 void operator=(const vtkCoordinate&);
00195 };
00196
00197 #endif
00198
00199