VTK
vtkCoordinate.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCoordinate.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
55 #ifndef vtkCoordinate_h
56 #define vtkCoordinate_h
57 
58 #include "vtkRenderingCoreModule.h" // For export macro
59 #include "vtkObject.h"
60 class vtkViewport;
61 
62 #define VTK_DISPLAY 0
63 #define VTK_NORMALIZED_DISPLAY 1
64 #define VTK_VIEWPORT 2
65 #define VTK_NORMALIZED_VIEWPORT 3
66 #define VTK_VIEW 4
67 #define VTK_WORLD 5
68 #define VTK_USERDEFINED 6
69 
70 class VTKRENDERINGCORE_EXPORT vtkCoordinate : public vtkObject
71 {
72 public:
73  vtkTypeMacro(vtkCoordinate, vtkObject);
74  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
75 
80  static vtkCoordinate* New();
81 
83 
88  vtkSetMacro(CoordinateSystem, int);
89  vtkGetMacro(CoordinateSystem, int);
91  { this->SetCoordinateSystem(VTK_DISPLAY); }
93  { this->SetCoordinateSystem(VTK_NORMALIZED_DISPLAY); }
95  { this->SetCoordinateSystem(VTK_VIEWPORT); }
97  { this->SetCoordinateSystem(VTK_NORMALIZED_VIEWPORT); }
99  { this->SetCoordinateSystem(VTK_VIEW); }
101  { this->SetCoordinateSystem(VTK_WORLD); }
103 
104  const char *GetCoordinateSystemAsString ();
105 
107 
111  vtkSetVector3Macro(Value, double);
112  vtkGetVector3Macro(Value, double);
113  void SetValue(double a, double b)
114  { this->SetValue(a, b, 0.0); }
116 
118 
123  virtual void SetReferenceCoordinate(vtkCoordinate*);
124  vtkGetObjectMacro(ReferenceCoordinate, vtkCoordinate);
126 
128 
135  void SetViewport(vtkViewport *viewport);
136  vtkGetObjectMacro(Viewport, vtkViewport);
138 
140 
143  double *GetComputedWorldValue(vtkViewport *);
144  int *GetComputedViewportValue(vtkViewport *);
145  int *GetComputedDisplayValue(vtkViewport *);
146  int *GetComputedLocalDisplayValue(vtkViewport *);
148 
149  double *GetComputedDoubleViewportValue(vtkViewport *);
150  double *GetComputedDoubleDisplayValue(vtkViewport *);
151 
158  double *GetComputedValue(vtkViewport *);
159 
168  { return this->Value; }
169 
170 protected:
171  vtkCoordinate();
172  ~vtkCoordinate();
173 
174  double Value[3];
178  double ComputedWorldValue[3];
179  int ComputedDisplayValue[2];
180  int ComputedViewportValue[2];
182 
183  double ComputedDoubleDisplayValue[2];
184  double ComputedDoubleViewportValue[2];
185  double ComputedUserDefinedValue[3];
186 
187 private:
188  vtkCoordinate(const vtkCoordinate&) VTK_DELETE_FUNCTION;
189  void operator=(const vtkCoordinate&) VTK_DELETE_FUNCTION;
190 };
191 
192 #endif
void SetCoordinateSystemToWorld()
Set/get the coordinate system which this coordinate is defined in.
abstract base class for most VTK objects
Definition: vtkObject.h:59
void SetCoordinateSystemToNormalizedViewport()
Set/get the coordinate system which this coordinate is defined in.
Definition: vtkCoordinate.h:96
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract specification for Viewports
Definition: vtkViewport.h:47
void SetValue(double a, double b)
Set/get the value of this coordinate.
#define VTK_NORMALIZED_VIEWPORT
Definition: vtkCoordinate.h:65
void SetCoordinateSystemToDisplay()
Set/get the coordinate system which this coordinate is defined in.
Definition: vtkCoordinate.h:90
#define VTK_VIEW
Definition: vtkCoordinate.h:66
vtkCoordinate * ReferenceCoordinate
void SetCoordinateSystemToNormalizedDisplay()
Set/get the coordinate system which this coordinate is defined in.
Definition: vtkCoordinate.h:92
a simple class to control print indentation
Definition: vtkIndent.h:39
#define VTK_VIEWPORT
Definition: vtkCoordinate.h:64
void SetCoordinateSystemToView()
Set/get the coordinate system which this coordinate is defined in.
Definition: vtkCoordinate.h:98
#define VTK_NORMALIZED_DISPLAY
Definition: vtkCoordinate.h:63
void SetCoordinateSystemToViewport()
Set/get the coordinate system which this coordinate is defined in.
Definition: vtkCoordinate.h:94
vtkViewport * Viewport
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems ...
Definition: vtkCoordinate.h:70
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
#define VTK_WORLD
Definition: vtkCoordinate.h:67
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual double * GetComputedUserDefinedValue(vtkViewport *)
GetComputedUserDefinedValue() is to be used only when the coordinate system is VTK_USERDEFINED.
#define VTK_DISPLAY
Definition: vtkCoordinate.h:62