VTK  9.4.20251007
vtkCoordinate.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
50
51#ifndef vtkCoordinate_h
52#define vtkCoordinate_h
53
54#include "vtkObject.h"
55#include "vtkRenderingCoreModule.h" // For export macro
56#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
57VTK_ABI_NAMESPACE_BEGIN
58class vtkViewport;
59
60#define VTK_DISPLAY 0
61#define VTK_NORMALIZED_DISPLAY 1
62#define VTK_VIEWPORT 2
63#define VTK_NORMALIZED_VIEWPORT 3
64#define VTK_VIEW 4
65#define VTK_POSE 5
66#define VTK_WORLD 6
67#define VTK_USERDEFINED 7
68
69class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkCoordinate : public vtkObject
70{
71public:
72 vtkTypeMacro(vtkCoordinate, vtkObject);
73 void PrintSelf(ostream& os, vtkIndent indent) override;
74
79 static vtkCoordinate* New();
80
82
87 vtkSetMacro(CoordinateSystem, int);
88 vtkGetMacro(CoordinateSystem, int);
103
105
107
111 vtkSetVector3Macro(Value, double);
112 vtkGetVector3Macro(Value, double);
113 void SetValue(double a, double b) { this->SetValue(a, b, 0.0); }
115
117
125
127
134 void SetViewport(vtkViewport* viewport);
135 vtkGetObjectMacro(Viewport, vtkViewport);
137
139
147
150
158
166 virtual double* GetComputedUserDefinedValue(vtkViewport*) VTK_SIZEHINT(3) { return this->Value; }
167
168protected:
170 ~vtkCoordinate() override;
171
172 double Value[3];
180
184
185private:
186 vtkCoordinate(const vtkCoordinate&) = delete;
187 void operator=(const vtkCoordinate&) = delete;
188};
189
190VTK_ABI_NAMESPACE_END
191#endif
double * GetComputedWorldValue(vtkViewport *)
Return the computed value in a specified coordinate system.
double ComputedUserDefinedValue[3]
virtual double * GetComputedUserDefinedValue(vtkViewport *)
GetComputedUserDefinedValue() is to be used only when the coordinate system is VTK_USERDEFINED.
void SetCoordinateSystemToWorld()
Set/get the coordinate system which this coordinate is defined in.
double * GetComputedDoubleViewportValue(vtkViewport *)
double * GetComputedDoubleDisplayValue(vtkViewport *)
virtual void SetReferenceCoordinate(vtkCoordinate *)
If this coordinate is relative to another coordinate, then specify that coordinate as the ReferenceCo...
int ComputedViewportValue[2]
static vtkCoordinate * New()
Creates an instance of this class with the following defaults: value of (0,0,0) in world coordinates.
virtual void SetCoordinateSystem(int)
Set/get the coordinate system which this coordinate is defined in.
int * GetComputedLocalDisplayValue(vtkViewport *)
Return the computed value in a specified coordinate system.
void SetCoordinateSystemToNormalizedViewport()
Set/get the coordinate system which this coordinate is defined in.
void SetCoordinateSystemToDisplay()
Set/get the coordinate system which this coordinate is defined in.
int * GetComputedViewportValue(vtkViewport *)
Return the computed value in a specified coordinate system.
~vtkCoordinate() override
void SetCoordinateSystemToPose()
Set/get the coordinate system which this coordinate is defined in.
const char * GetCoordinateSystemAsString()
int * GetComputedDisplayValue(vtkViewport *)
Return the computed value in a specified coordinate system.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double * GetComputedValue(vtkViewport *)
GetComputedValue() will return either World, Viewport or Display based on what has been set as the co...
double ComputedDoubleDisplayValue[2]
vtkCoordinate * ReferenceCoordinate
void SetCoordinateSystemToViewport()
Set/get the coordinate system which this coordinate is defined in.
int ComputedDisplayValue[2]
double ComputedWorldValue[3]
void SetViewport(vtkViewport *viewport)
If you want this coordinate to be relative to a specific vtkViewport (vtkRenderer) then you can speci...
double ComputedDoubleViewportValue[2]
vtkViewport * Viewport
void SetCoordinateSystemToView()
Set/get the coordinate system which this coordinate is defined in.
double Value[3]
void SetCoordinateSystemToNormalizedDisplay()
Set/get the coordinate system which this coordinate is defined in.
void SetValue(double a, double b)
Set/get the value of this coordinate.
a simple class to control print indentation
Definition vtkIndent.h:29
abstract specification for Viewports
Definition vtkViewport.h:46
#define VTK_DISPLAY
#define VTK_WORLD
#define VTK_VIEW
#define VTK_NORMALIZED_VIEWPORT
#define VTK_VIEWPORT
#define VTK_POSE
#define VTK_NORMALIZED_DISPLAY
#define VTK_SIZEHINT(...)
#define VTK_MARSHALAUTO