34 #ifndef __vtkViewport_h
35 #define __vtkViewport_h
39 class vtkActor2DCollection;
65 void RemoveAllViewProps(
void);
73 vtkActor2DCollection *GetActors2D();
79 vtkSetVector3Macro(Background,
double);
80 vtkGetVector3Macro(Background,
double);
86 vtkSetVector3Macro(Background2,
double);
87 vtkGetVector3Macro(Background2,
double);
93 vtkSetMacro(GradientBackground,
bool);
94 vtkGetMacro(GradientBackground,
bool);
95 vtkBooleanMacro(GradientBackground,
bool);
101 vtkSetVector2Macro(Aspect,
double);
102 vtkGetVectorMacro(Aspect,
double,2);
103 virtual void ComputeAspect();
110 vtkSetVector2Macro(PixelAspect,
double);
111 vtkGetVectorMacro(PixelAspect,
double,2);
118 vtkSetVector4Macro(Viewport,
double);
119 vtkGetVectorMacro(Viewport,
double,4);
126 vtkSetVector3Macro(DisplayPoint,
double);
127 vtkGetVectorMacro(DisplayPoint,
double,3);
134 vtkSetVector3Macro(ViewPoint,
double);
135 vtkGetVectorMacro(ViewPoint,
double,3);
141 vtkSetVector4Macro(WorldPoint,
double);
142 vtkGetVectorMacro(WorldPoint,
double,4);
146 virtual double *GetCenter();
149 virtual int IsInViewport(
int x,
int y);
155 virtual void DisplayToView();
158 virtual void ViewToDisplay();
161 virtual void WorldToView();
164 virtual void ViewToWorld();
178 virtual void LocalDisplayToDisplay(
double &x,
double &y);
179 virtual void DisplayToNormalizedDisplay(
double &u,
double &v);
180 virtual void NormalizedDisplayToViewport(
double &x,
double &y);
181 virtual void ViewportToNormalizedViewport(
double &u,
double &v);
182 virtual void NormalizedViewportToView(
double &x,
double &y,
double &z);
184 virtual void DisplayToLocalDisplay(
double &x,
double &y);
185 virtual void NormalizedDisplayToDisplay(
double &u,
double &v);
186 virtual void ViewportToNormalizedDisplay(
double &x,
double &y);
187 virtual void NormalizedViewportToViewport(
double &u,
double &v);
188 virtual void ViewToNormalizedViewport(
double &x,
double &y,
double &z);
196 virtual int *GetSize();
197 virtual int *GetOrigin();
198 void GetTiledSize(
int *width,
int *height);
199 virtual void GetTiledSizeAndOrigin(
int *width,
int *height,
200 int *lowerLeftX,
int *lowerLeftY);
211 virtual vtkAssemblyPath* PickProp(
double selectionX,
double selectionY) = 0;
224 double GetPickX()
const {
return (this->PickX1 + this->PickX2)*0.5;}
225 double GetPickY()
const {
return (this->PickY1 + this->PickY2)*0.5;}
232 vtkGetMacro(IsPicking,
int);
237 virtual double GetPickedZ() = 0;
239 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
240 # define RemovePropA RemoveProp
241 # define RemovePropW RemoveProp
245 VTK_LEGACY(
void RemoveProp(
vtkProp*));
247 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
251 VTK_LEGACY(
void RemovePropA(
vtkProp*));
252 VTK_LEGACY(
void RemovePropW(
vtkProp*));
257 VTK_LEGACY(
void AddProp(
vtkProp *));
263 VTK_LEGACY(
int HasProp(
vtkProp *));
267 VTK_LEGACY(
void RemoveAllProps());
279 virtual void DevicePickRender() = 0;
281 virtual void StartPick(
unsigned int pickFromSize) = 0;
283 virtual void UpdatePickId() = 0;
285 virtual void DonePick() = 0;
287 virtual unsigned int GetPickedId() = 0;
289 virtual unsigned int GetNumPickedIds() = 0;
292 virtual int GetPickedIds(
unsigned int atMost,
unsigned int *callerBuffer) = 0;
312 double Background[3];
313 double Background2[3];
316 double PixelAspect[2];
322 double DisplayPoint[3];
324 double WorldPoint[4];
abstract superclass for all actors, volumes and annotations
unsigned int CurrentPickId
abstract base class for most VTK objects
vtkPropCollection * PickResultProps
abstract specification for Viewports
double GetPickWidth() const
virtual void WorldToView(double &, double &, double &)
vtkPropCollection * GetViewProps()
vtkAssemblyPath * PickedProp
vtkPropCollection * Props
window superclass for vtkRenderWindow
virtual void PrintSelf(ostream &os, vtkIndent indent)
virtual void ViewToWorld(double &, double &, double &)
a list of nodes that form an assembly path
a simple class to control print indentation
double GetPickHeight() const
vtkPropCollection * PickFromProps
vtkActor2DCollection * Actors2D