VTK  9.1.0
vtkRenderer.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkRenderer.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=========================================================================*/
32#ifndef vtkRenderer_h
33#define vtkRenderer_h
34
35#include "vtkRenderingCoreModule.h" // For export macro
36#include "vtkViewport.h"
37
38#include "vtkActorCollection.h" // Needed for access in inline members
39#include "vtkVolumeCollection.h" // Needed for access in inline members
40
41#include <array> // To store matrices
42
43class vtkFXAAOptions;
44class vtkRenderWindow;
45class vtkVolume;
46class vtkCuller;
47class vtkActor;
48class vtkActor2D;
49class vtkCamera;
51class vtkInformation;
54class vtkLight;
57class vtkRenderPass;
58class vtkTexture;
59
60class vtkRecti;
61class vtkVector3d;
62
63class VTKRENDERINGCORE_EXPORT vtkRenderer : public vtkViewport
64{
65public:
66 vtkTypeMacro(vtkRenderer, vtkViewport);
67 void PrintSelf(ostream& os, vtkIndent indent) override;
68
74 static vtkRenderer* New();
75
77
82 void AddActor(vtkProp* p);
87
92
97
102
106 vtkLightCollection* GetLights();
107
115
119 void CreateLight(void);
120
126 virtual vtkLight* MakeLight();
127
129
135 vtkGetMacro(TwoSidedLighting, vtkTypeBool);
136 vtkSetMacro(TwoSidedLighting, vtkTypeBool);
137 vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
139
141
154 vtkSetMacro(LightFollowCamera, vtkTypeBool);
155 vtkGetMacro(LightFollowCamera, vtkTypeBool);
156 vtkBooleanMacro(LightFollowCamera, vtkTypeBool);
158
160
168 vtkGetMacro(AutomaticLightCreation, vtkTypeBool);
169 vtkSetMacro(AutomaticLightCreation, vtkTypeBool);
170 vtkBooleanMacro(AutomaticLightCreation, vtkTypeBool);
172
179
184
189
194
201
208
210
216 vtkSetMacro(Erase, vtkTypeBool);
217 vtkGetMacro(Erase, vtkTypeBool);
218 vtkBooleanMacro(Erase, vtkTypeBool);
220
222
227 vtkSetMacro(Draw, vtkTypeBool);
228 vtkGetMacro(Draw, vtkTypeBool);
229 vtkBooleanMacro(Draw, vtkTypeBool);
231
237
244
249
254
258 vtkCullerCollection* GetCullers();
259
261
264 vtkSetVector3Macro(Ambient, double);
265 vtkGetVectorMacro(Ambient, double, 3);
267
269
273 vtkSetMacro(AllocatedRenderTime, double);
274 virtual double GetAllocatedRenderTime();
276
283 virtual double GetTimeFactor();
284
291 virtual void Render();
292
296 virtual void DeviceRender(){};
297
305
316
321 virtual void ClearLights(void) {}
322
326 virtual void Clear() {}
327
332
337
342 void ComputeVisiblePropBounds(double bounds[6]);
343
348
353 virtual void ResetCameraClippingRange();
354
356
359 virtual void ResetCameraClippingRange(const double bounds[6]);
360 virtual void ResetCameraClippingRange(
361 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
363
365
370 vtkSetClampMacro(NearClippingPlaneTolerance, double, 0, 0.99);
371 vtkGetMacro(NearClippingPlaneTolerance, double);
373
375
380 vtkSetClampMacro(ClippingRangeExpansion, double, 0, 0.99);
381 vtkGetMacro(ClippingRangeExpansion, double);
383
390 virtual void ResetCamera();
391
401 virtual void ResetCamera(const double bounds[6]);
402
406 virtual void ResetCamera(
407 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
408
413 virtual void ResetCameraScreenSpace();
414
420 virtual void ResetCameraScreenSpace(const double bounds[6]);
421
422 using vtkViewport::DisplayToWorld;
423
427 vtkVector3d DisplayToWorld(const vtkVector3d& display);
428
434 void ZoomToBoxUsingViewAngle(const vtkRecti& box, const double offsetRatio = 1.0);
435
439 virtual void ResetCameraScreenSpace(
440 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
441
443
448 void SetRenderWindow(vtkRenderWindow*);
449 vtkRenderWindow* GetRenderWindow() { return this->RenderWindow; }
452
454
460 vtkSetMacro(BackingStore, vtkTypeBool);
461 vtkGetMacro(BackingStore, vtkTypeBool);
462 vtkBooleanMacro(BackingStore, vtkTypeBool);
464
466
471 vtkSetMacro(Interactive, vtkTypeBool);
472 vtkGetMacro(Interactive, vtkTypeBool);
473 vtkBooleanMacro(Interactive, vtkTypeBool);
475
477
488 virtual void SetLayer(int layer);
489 vtkGetMacro(Layer, int);
491
493
503 vtkGetMacro(PreserveColorBuffer, vtkTypeBool);
504 vtkSetMacro(PreserveColorBuffer, vtkTypeBool);
505 vtkBooleanMacro(PreserveColorBuffer, vtkTypeBool);
507
509
513 vtkSetMacro(PreserveDepthBuffer, vtkTypeBool);
514 vtkGetMacro(PreserveDepthBuffer, vtkTypeBool);
515 vtkBooleanMacro(PreserveDepthBuffer, vtkTypeBool);
517
523
527 void WorldToView() override;
528
530
533 void ViewToWorld() override;
534 void ViewToWorld(double& wx, double& wy, double& wz) override;
536
540 void WorldToView(double& wx, double& wy, double& wz) override;
541
543
546 void WorldToPose(double& wx, double& wy, double& wz) override;
547 void PoseToWorld(double& wx, double& wy, double& wz) override;
548 void ViewToPose(double& wx, double& wy, double& wz) override;
549 void PoseToView(double& wx, double& wy, double& wz) override;
551
556 double GetZ(int x, int y);
557
562
564
567 vtkGetMacro(LastRenderTimeInSeconds, double);
569
571
577 vtkGetMacro(NumberOfPropsRendered, int);
579
581
588 vtkAssemblyPath* PickProp(double selectionX, double selectionY) override
589 {
590 return this->PickProp(selectionX, selectionY, selectionX, selectionY);
591 }
593 double selectionX1, double selectionY1, double selectionX2, double selectionY2) override;
595
601 virtual void StereoMidpoint() { return; }
602
610
616 vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
617
619
629 vtkSetMacro(UseDepthPeeling, vtkTypeBool);
630 vtkGetMacro(UseDepthPeeling, vtkTypeBool);
631 vtkBooleanMacro(UseDepthPeeling, vtkTypeBool);
633
639 vtkSetMacro(UseDepthPeelingForVolumes, bool);
640 vtkGetMacro(UseDepthPeelingForVolumes, bool);
641 vtkBooleanMacro(UseDepthPeelingForVolumes, bool);
642
644
653 vtkSetClampMacro(OcclusionRatio, double, 0.0, 0.5);
654 vtkGetMacro(OcclusionRatio, double);
656
658
663 vtkSetMacro(MaximumNumberOfPeels, int);
664 vtkGetMacro(MaximumNumberOfPeels, int);
666
668
673 vtkGetMacro(LastRenderingUsedDepthPeeling, vtkTypeBool);
675
677
681 vtkSetMacro(UseSSAO, bool);
682 vtkGetMacro(UseSSAO, bool);
683 vtkBooleanMacro(UseSSAO, bool);
685
687
691 vtkSetMacro(SSAORadius, double);
692 vtkGetMacro(SSAORadius, double);
694
696
700 vtkSetMacro(SSAOBias, double);
701 vtkGetMacro(SSAOBias, double);
703
705
709 vtkSetMacro(SSAOKernelSize, unsigned int);
710 vtkGetMacro(SSAOKernelSize, unsigned int);
712
714
719 vtkSetMacro(SSAOBlur, bool);
720 vtkGetMacro(SSAOBlur, bool);
721 vtkBooleanMacro(SSAOBlur, bool);
723
725
732 vtkGetObjectMacro(Delegate, vtkRendererDelegate);
734
736
741 vtkGetObjectMacro(Selector, vtkHardwareSelector);
743
745
753 vtkGetObjectMacro(BackgroundTexture, vtkTexture);
755
757
762 vtkGetObjectMacro(RightBackgroundTexture, vtkTexture);
764
766
770 vtkSetMacro(TexturedBackground, bool);
771 vtkGetMacro(TexturedBackground, bool);
772 vtkBooleanMacro(TexturedBackground, bool);
774
775 // method to release graphics resources in any derived renderers.
777
779
782 vtkSetMacro(UseFXAA, bool);
783 vtkGetMacro(UseFXAA, bool);
784 vtkBooleanMacro(UseFXAA, bool);
786
788
791 vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
794
796
800 vtkSetMacro(UseShadows, vtkTypeBool);
801 vtkGetMacro(UseShadows, vtkTypeBool);
802 vtkBooleanMacro(UseShadows, vtkTypeBool);
804
806
810 vtkSetMacro(UseHiddenLineRemoval, vtkTypeBool);
811 vtkGetMacro(UseHiddenLineRemoval, vtkTypeBool);
812 vtkBooleanMacro(UseHiddenLineRemoval, vtkTypeBool);
814
815 // Set/Get a custom render pass.
816 // Initial value is NULL.
818 vtkGetObjectMacro(Pass, vtkRenderPass);
819
821
824 vtkGetObjectMacro(Information, vtkInformation);
827
829
835 vtkSetMacro(UseImageBasedLighting, bool);
836 vtkGetMacro(UseImageBasedLighting, bool);
837 vtkBooleanMacro(UseImageBasedLighting, bool);
839
841
852 vtkGetObjectMacro(EnvironmentTexture, vtkTexture);
853 virtual void SetEnvironmentTexture(vtkTexture* texture, bool isSRGB = false);
855
857
860 vtkGetVector3Macro(EnvironmentUp, double);
861 vtkSetVector3Macro(EnvironmentUp, double);
863
865
868 vtkGetVector3Macro(EnvironmentRight, double);
869 vtkSetVector3Macro(EnvironmentRight, double);
871
872protected:
874 ~vtkRenderer() override;
875
876 // internal method to expand bounding box to consider model transform
877 // matrix or model view transform matrix based on whether or not deering
878 // frustum is used. 'bounds' buffer is mutated to the expanded box.
879 virtual void ExpandBounds(double bounds[6], vtkMatrix4x4* matrix);
880
883
886
889
890 double Ambient[3];
897 unsigned char* BackingImage;
898 int BackingStoreSize[2];
900
902
904
905 // Allocate the time for each prop
907
908 // Internal variables indicating the number of props
909 // that have been or will be rendered in each category.
911
912 // A temporary list of props used for culling, and traversal
913 // of all props when rendering
916
917 // Indicates if the renderer should receive events from an interactor.
918 // Typically only used in conjunction with transparent renderers.
920
921 // Shows what layer this renderer belongs to. Only of interested when
922 // there are layered renderers.
923 int Layer;
926
927 // Holds the result of ComputeVisiblePropBounds so that it is visible from
928 // wrapped languages
929 double ComputedVisiblePropBounds[6];
930
939
945
953
960
965
970 const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
971
976 const std::array<double, 16>& GetProjectionTransformationMatrix();
977
982 const std::array<double, 16>& GetViewTransformMatrix();
983
989 virtual int UpdateGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
990
999
1006
1011 virtual int UpdateCamera(void);
1012
1019
1024 virtual int UpdateLights(void) { return 0; }
1025
1032
1038
1043
1049
1055
1063
1069
1080
1087
1088 bool UseSSAO = false;
1089 double SSAORadius = 0.5;
1090 double SSAOBias = 0.01;
1091 unsigned int SSAOKernelSize = 32;
1092 bool SSAOBlur = false;
1093
1100
1101 // HARDWARE SELECTION ----------------------------------------
1103
1108 {
1109 this->Selector = selector;
1110 this->Modified();
1111 }
1112
1113 // End Ivars for visible cell selecting.
1115
1116 //---------------------------------------------------------------
1119
1123
1124 friend class vtkRenderPass;
1126
1127 // Arbitrary extra information associated with this renderer
1129
1132
1133 double EnvironmentUp[3];
1134 double EnvironmentRight[3];
1135
1136private:
1140 std::array<double, 16> CompositeProjectionTransformationMatrix;
1141
1145 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1146
1150 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1151
1155 std::array<double, 16> ProjectionTransformationMatrix;
1156
1160 double LastProjectionTransformationMatrixTiledAspectRatio;
1161
1165 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1166
1170 std::array<double, 16> ViewTransformMatrix;
1171
1175 vtkMTimeType LastViewTransformCameraModified;
1176
1177 vtkRenderer(const vtkRenderer&) = delete;
1178 void operator=(const vtkRenderer&) = delete;
1179};
1180
1182{
1183 return this->Lights;
1184}
1185
1190{
1191 return this->Cullers;
1192}
1193
1194#endif
a actor that draws 2D data
Definition vtkActor2D.h:40
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:46
a list of nodes that form an assembly path
a virtual camera for 3D rendering
Definition vtkCamera.h:46
an ordered list of Cullers
a superclass for prop cullers
Definition vtkCuller.h:38
Configuration for FXAA implementations.
abstract interface to OpenGL FBOs
a simple class to control print indentation
Definition vtkIndent.h:34
Store vtkAlgorithm input/output information.
an ordered list of lights
a virtual light for 3D rendering
Definition vtkLight.h:57
represent and manipulate 4x4 transformation matrices
virtual void Modified()
Update the modification time for this object.
an ordered list of Props
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:48
Perform part of the rendering of a vtkRenderer.
create a window for renderers to draw into
Render the props of a vtkRenderer.
abstract specification for renderers
Definition vtkRenderer.h:64
void RemoveVolume(vtkProp *p)
virtual void SetLayer(int layer)
Set/Get the layer that this renderer belongs to.
vtkCamera * GetActiveCameraAndResetIfCreated()
Get the current camera and reset it only if it gets created automatically (see GetActiveCamera).
void ViewToWorld(double &wx, double &wy, double &wz) override
These methods map from one coordinate system to another.
virtual void SetFXAAOptions(vtkFXAAOptions *)
virtual void ClearLights(void)
Internal method temporarily removes lights before reloading them into graphics pipeline.
vtkCamera * GetActiveCamera()
Get the current camera.
void AddCuller(vtkCuller *)
Add an culler to the list of cullers.
void SetPass(vtkRenderPass *p)
vtkTypeBool PreserveDepthBuffer
vtkLight * CreatedLight
vtkRenderPass * Pass
vtkTypeBool UseShadows
If this flag is on and the rendering engine supports it render shadows Initial value is off.
vtkActorCollection * GetActors()
Return any actors in this renderer.
const std::array< double, 16 > & GetViewTransformMatrix()
Gets the ActiveCamera ViewTransformMatrix, only computing it if necessary.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double LastRenderTimeInSeconds
double GetTiledAspectRatio()
Compute the aspect ratio of this renderer for the current tile.
void AddLight(vtkLight *)
Add a light to the list of lights.
vtkCullerCollection * GetCullers()
Return the collection of cullers.
virtual vtkCamera * MakeCamera()
Create a new Camera sutible for use with this type of Renderer.
virtual void SetRightBackgroundTexture(vtkTexture *)
Set/Get the texture to be used for the right eye background.
virtual void SetInformation(vtkInformation *)
virtual int UpdateLights(void)
Ask all lights to load themselves into rendering pipeline.
virtual vtkTypeBool UpdateLightsGeometryToFollowCamera(void)
Ask the lights in the scene that are not in world space (for instance, Headlights or CameraLights tha...
~vtkRenderer() override
virtual int UpdateGeometry(vtkFrameBufferObjectBase *fbo=nullptr)
Ask all props to update and draw any opaque and translucent geometry.
int Transparent()
Returns a boolean indicating if this renderer is transparent.
virtual int UpdateCamera(void)
Ask the active camera to do whatever it needs to do prior to rendering.
bool UseImageBasedLighting
int VisibleActorCount()
Returns the number of visible actors.
vtkTypeBool BackingStore
const std::array< double, 16 > & GetCompositeProjectionTransformationMatrix()
Gets the ActiveCamera CompositeProjectionTransformationMatrix, only computing it if necessary.
virtual vtkLight * MakeLight()
Create a new Light sutible for use with this type of Renderer.
vtkTexture * EnvironmentTexture
void RemoveLight(vtkLight *)
Remove a light from the list of lights.
bool UseDepthPeelingForVolumes
This flag is on and the GPU supports it, depth-peel volumes along with the translucent geometry.
void RemoveActor(vtkProp *p)
virtual void SetLeftBackgroundTexture(vtkTexture *)
Set/Get the texture to be used for the monocular or stereo left eye background.
void SetSelector(vtkHardwareSelector *selector)
Called by vtkHardwareSelector when it begins rendering for selection.
vtkMTimeType GetMTime() override
Return the MTime of the renderer also considering its ivars.
int MaximumNumberOfPeels
In case of depth peeling, define the maximum number of peeling layers.
vtkTypeBool LastRenderingUsedDepthPeeling
Tells if the last call to DeviceRenderTranslucentPolygonalGeometry() actually used depth peeling.
void AllocateTime()
vtkRenderWindow * RenderWindow
int VisibleVolumeCount()
Returns the number of visible volumes.
vtkTypeBool AutomaticLightCreation
int NumberOfPropsRendered
virtual void StereoMidpoint()
Do anything necessary between rendering the left and right viewpoints in a stereo render.
virtual vtkTypeBool UpdateLightGeometry(void)
Update the geometry of the lights in the scene that are not in world space (for instance,...
virtual int UpdateOpaquePolygonalGeometry()
Ask all props to update and draw any opaque polygonal geometry.
double TimeFactor
bool TexturedBackground
vtkVolumeCollection * Volumes
vtkWindow * GetVTKWindow() override
Return the vtkWindow that owns this vtkViewport.
virtual void ExpandBounds(double bounds[6], vtkMatrix4x4 *matrix)
void RemoveCuller(vtkCuller *)
Remove an actor from the list of cullers.
double OcclusionRatio
In case of use of depth peeling technique for rendering translucent material, define the threshold un...
const std::array< double, 16 > & GetProjectionTransformationMatrix()
Gets the ActiveCamera ProjectionTransformationMatrix, only computing it if necessary.
void PoseToView(double &wx, double &wy, double &wz) override
These methods map from one coordinate system to another.
vtkTypeBool Erase
When this flag is off, the renderer will not erase the background or the Zbuffer.
vtkPropCollection * GL2PSSpecialPropCollection
Temporary collection used by vtkRenderWindow::CaptureGL2PSSpecialProps.
bool UseFXAA
If this flag is on and the rendering engine supports it, FXAA will be used to antialias the scene.
vtkVolumeCollection * GetVolumes()
Return the collection of volumes.
vtkTexture * GetLeftBackgroundTexture()
double ClippingRangeExpansion
Specify enlargement of bounds when resetting the camera clipping range.
vtkAssemblyPath * PickProp(double selectionX1, double selectionY1, double selectionX2, double selectionY2) override
Return the Prop that has the highest z value at the given x1, y1 and x2,y2 positions in the viewport.
int CaptureGL2PSSpecialProp(vtkProp *)
This function is called to capture an instance of vtkProp that requires special handling during vtkRe...
vtkTypeBool IsActiveCameraCreated()
This method returns 1 if the ActiveCamera has already been set or automatically created by the render...
unsigned char * BackingImage
static vtkRenderer * New()
Create a vtkRenderer with a black background, a white ambient light, two-sided lighting turned on,...
vtkRendererDelegate * Delegate
void SetLightCollection(vtkLightCollection *lights)
Set the collection of lights.
virtual void ReleaseGraphicsResources(vtkWindow *)
void PoseToWorld(double &wx, double &wy, double &wz) override
These methods map from one coordinate system to another.
void RemoveAllLights()
Remove all lights from the list of lights.
vtkTexture * BackgroundTexture
double GetZ(int x, int y)
Given a pixel location, return the Z value.
vtkProp ** PropArray
double * ComputeVisiblePropBounds()
Wrapper-friendly version of ComputeVisiblePropBounds.
vtkCullerCollection * Cullers
void AddActor(vtkProp *p)
Add/Remove different types of props to the renderer.
virtual double GetTimeFactor()
Get the ratio between allocated time and actual render time.
double AllocatedRenderTime
double NearClippingPlaneTolerance
Specifies the minimum distance of the near clipping plane as a percentage of the far clipping plane d...
vtkTypeBool Draw
When this flag is off, render commands are ignored.
vtkHardwareSelector * Selector
virtual void DeviceRender()
Create an image.
vtkTypeBool TwoSidedLighting
vtkTexture * RightBackgroundTexture
vtkTypeBool UseDepthPeeling
If this flag is on and the GPU supports it, depth peeling is used for rendering translucent materials...
vtkTypeBool UseHiddenLineRemoval
When this flag is on and the rendering engine supports it, wireframe polydata will be rendered using ...
void WorldToPose(double &wx, double &wy, double &wz) override
Convert to from pose coordinates.
vtkLightCollection * Lights
void CreateLight(void)
Create and add a light to renderer.
void ViewToWorld() override
Convert view point coordinates to world coordinates.
void SetActiveCamera(vtkCamera *)
Specify the camera to use for this renderer.
virtual void SetEnvironmentTexture(vtkTexture *texture, bool isSRGB=false)
vtkTimeStamp RenderTime
virtual void Render()
CALLED BY vtkRenderWindow ONLY.
virtual int UpdateTranslucentPolygonalGeometry()
Ask all props to update and draw any translucent polygonal geometry.
vtkLightCollection * GetLights()
Return the collection of lights.
vtkTypeBool LightFollowCamera
vtkFXAAOptions * FXAAOptions
Holds the FXAA configuration.
void ViewToPose(double &wx, double &wy, double &wz) override
These methods map from one coordinate system to another.
void WorldToView() override
Convert world point coordinates to view coordinates.
virtual void DeviceRenderOpaqueGeometry(vtkFrameBufferObjectBase *fbo=nullptr)
Render opaque polygonal geometry.
virtual void SetBackgroundTexture(vtkTexture *)
void AddVolume(vtkProp *p)
void WorldToView(double &wx, double &wy, double &wz) override
Convert world point coordinates to view coordinates.
virtual double GetAllocatedRenderTime()
virtual void Clear()
Clear the image to the background color.
void ComputeVisiblePropBounds(double bounds[6])
Compute the bounding box of all the visible props Used in ResetCamera() and ResetCameraClippingRange(...
virtual void DeviceRenderTranslucentPolygonalGeometry(vtkFrameBufferObjectBase *fbo=nullptr)
Render translucent polygonal geometry.
vtkTypeBool PreserveColorBuffer
void SetGL2PSSpecialPropCollection(vtkPropCollection *)
Set the prop collection object used during vtkRenderWindow::CaptureGL2PSSpecialProps().
vtkActorCollection * Actors
void SetDelegate(vtkRendererDelegate *d)
Set/Get a custom Render call.
vtkTypeBool Interactive
vtkInformation * Information
vtkAssemblyPath * PickProp(double selectionX, double selectionY) override
Return the prop (via a vtkAssemblyPath) that has the highest z value at the given x,...
vtkCamera * ActiveCamera
handles properties associated with a texture map
Definition vtkTexture.h:66
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:47
virtual vtkAssemblyPath * PickProp(double selectionX, double selectionY)=0
Return the Prop that has the highest z value at the given x, y position in the viewport.
an ordered list of volumes
represents a volume (data & properties) in a rendered scene
Definition vtkVolume.h:45
window superclass for vtkRenderWindow
Definition vtkWindow.h:36
int vtkTypeBool
Definition vtkABI.h:69
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define VTK_SIZEHINT(...)