Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Common/vtkCoordinate.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCoordinate.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00058 #ifndef __vtkCoordinate_h 00059 #define __vtkCoordinate_h 00060 00061 #include "vtkObject.h" 00062 class vtkViewport; 00063 00064 #define VTK_DISPLAY 0 00065 #define VTK_NORMALIZED_DISPLAY 1 00066 #define VTK_VIEWPORT 2 00067 #define VTK_NORMALIZED_VIEWPORT 3 00068 #define VTK_VIEW 4 00069 #define VTK_WORLD 5 00070 #define VTK_USERDEFINED 6 00071 00072 class VTK_COMMON_EXPORT vtkCoordinate : public vtkObject 00073 { 00074 public: 00075 vtkTypeRevisionMacro(vtkCoordinate,vtkObject); 00076 void PrintSelf(ostream& os, vtkIndent indent); 00077 00080 static vtkCoordinate* New(); 00081 00083 00086 vtkSetMacro(CoordinateSystem, int); 00087 vtkGetMacro(CoordinateSystem, int); 00088 void SetCoordinateSystemToDisplay() {this->SetCoordinateSystem(VTK_DISPLAY);} 00089 void SetCoordinateSystemToNormalizedDisplay() 00090 {this->SetCoordinateSystem(VTK_NORMALIZED_DISPLAY);} 00091 void SetCoordinateSystemToViewport() 00092 {this->SetCoordinateSystem(VTK_VIEWPORT);} 00093 void SetCoordinateSystemToNormalizedViewport() 00094 {this->SetCoordinateSystem(VTK_NORMALIZED_VIEWPORT);} 00095 void SetCoordinateSystemToView() {this->SetCoordinateSystem(VTK_VIEW);} 00096 void SetCoordinateSystemToWorld() {this->SetCoordinateSystem(VTK_WORLD);} 00098 00099 const char *GetCoordinateSystemAsString (); 00100 00102 00104 vtkSetVector3Macro(Value,float); 00105 vtkGetVector3Macro(Value,float); 00106 void SetValue(float a, float b) { this->SetValue(a,b,0.0);} 00108 00110 00113 virtual void SetReferenceCoordinate(vtkCoordinate*); 00114 vtkGetObjectMacro(ReferenceCoordinate,vtkCoordinate); 00116 00118 00120 void SetViewport(vtkViewport *viewport); 00121 vtkGetObjectMacro(Viewport,vtkViewport); 00123 00125 00126 float *GetComputedWorldValue(vtkViewport *); 00127 int *GetComputedViewportValue(vtkViewport *); 00128 int *GetComputedDisplayValue(vtkViewport *); 00129 int *GetComputedLocalDisplayValue(vtkViewport *); 00131 00132 float *GetComputedFloatViewportValue(vtkViewport *); 00133 float *GetComputedFloatDisplayValue(vtkViewport *); 00134 00139 float *GetComputedValue(vtkViewport *); 00140 00142 00146 virtual float *GetComputedUserDefinedValue(vtkViewport *) 00147 { return this->Value; } 00149 00150 protected: 00151 vtkCoordinate(); 00152 ~vtkCoordinate(); 00153 00154 float Value[3]; 00155 int CoordinateSystem; 00156 vtkCoordinate *ReferenceCoordinate; 00157 vtkViewport *Viewport; 00158 float ComputedWorldValue[3]; 00159 int ComputedDisplayValue[2]; 00160 int ComputedViewportValue[2]; 00161 int Computing; 00162 00163 float ComputedFloatDisplayValue[2]; 00164 float ComputedFloatViewportValue[2]; 00165 float ComputedUserDefinedValue[3]; 00166 00167 private: 00168 vtkCoordinate(const vtkCoordinate&); // Not implemented. 00169 void operator=(const vtkCoordinate&); // Not implemented. 00170 }; 00171 00172 #endif 00173 00174