vtkPVRenderView.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkPVRenderView_h
16 #define vtkPVRenderView_h
17 
18 #include "vtkBoundingBox.h" // needed for iVar
19 #include "vtkNew.h" // needed for iVar
20 #include "vtkPVView.h"
21 #include "vtkRemotingViewsModule.h" //needed for exports
22 #include "vtkSmartPointer.h" // needed for iVar
23 #include "vtkWeakPointer.h" // needed for iVar
24 
25 class vtkAlgorithmOutput;
26 class vtkCamera;
27 class vtkCameraOrientationWidget;
28 class vtkCuller;
30 class vtkFloatArray;
31 class vtkFXAAOptions;
39 class vtkLight;
40 class vtkLightKit;
41 class vtkMatrix4x4;
43 class vtkPolarAxesActor2D;
44 class vtkProp;
45 class vtkPVAxesWidget;
51 class vtkIndependentViewerCollection;
55 class vtkRenderer;
56 class vtkRenderViewBase;
57 class vtkRenderWindow;
59 class vtkSkybox;
60 class vtkStringArray;
62 class vtkTexture;
63 class vtkTimerLog;
65 
67 {
68  //*****************************************************************
69 public:
70  static vtkPVRenderView* New();
71  vtkTypeMacro(vtkPVRenderView, vtkPVView);
72  void PrintSelf(ostream& os, vtkIndent indent) override;
73 
75  {
76  INTERACTION_MODE_UNINTIALIZED = -1,
77  INTERACTION_MODE_3D = 0,
78  INTERACTION_MODE_2D, // not implemented yet.
81  INTERACTION_MODE_POLYGON
82  };
83 
85 
96  virtual void SetInteractionMode(int mode);
97  vtkGetMacro(InteractionMode, int);
99 
101 
105  void SetSize(int, int) override;
106  void SetPosition(int, int) override;
108 
110 
115  vtkGetObjectMacro(NonCompositedRenderer, vtkRenderer);
117 
121  enum
122  {
123  DEFAULT_RENDERER = 0,
124  NON_COMPOSITED_RENDERER = 1,
125  };
126 
132  virtual vtkRenderer* GetRenderer(int rendererType = DEFAULT_RENDERER);
133 
135 
139  vtkCamera* GetActiveCamera();
140  virtual void SetActiveCamera(vtkCamera*);
142 
143  virtual void SetIndependentViewers(vtkIndependentViewerCollection* viewers);
144 
148  vtkRenderWindowInteractor* GetInteractor();
149 
155  virtual void SetupInteractor(vtkRenderWindowInteractor*);
156 
158 
161  vtkGetObjectMacro(InteractorStyle, vtkPVInteractorStyle);
163 
165 
171  void ResetCamera();
172  void ResetCamera(double bounds[6]);
173  void ResetCameraScreenSpace(double offsetRatio = 0.9);
174  void ResetCameraScreenSpace(double* bounds, double offsetRatio = 0.9);
175  // void ResetCameraScreenSpace(double offsetRatio, double bounds[6]);
177 
179 
185  double* ComputeVisibleBounds(vtkPVDataRepresentation* pvrepr) VTK_SIZEHINT(6);
186  double LastRepresentationVisibleBounds[6];
188 
194  void StillRender() override;
195 
202  void InteractiveRender() override;
203 
205 
213  vtkSetMacro(SuppressRendering, bool);
214  vtkGetMacro(SuppressRendering, bool);
215  vtkBooleanMacro(SuppressRendering, bool);
217 
219 
227  vtkSetClampMacro(StillRenderImageReductionFactor, int, 1, 20);
228  vtkGetMacro(StillRenderImageReductionFactor, int);
230 
232 
238  vtkSetClampMacro(InteractiveRenderImageReductionFactor, int, 1, 20);
239  vtkGetMacro(InteractiveRenderImageReductionFactor, int);
241 
243 
248  vtkSetMacro(RemoteRenderingThreshold, double);
249  vtkGetMacro(RemoteRenderingThreshold, double);
251 
253 
258  vtkSetMacro(LODRenderingThreshold, double);
259  vtkGetMacro(LODRenderingThreshold, double);
261 
263 
269  vtkSetClampMacro(LODResolution, double, 0.0, 1.0);
270  vtkGetMacro(LODResolution, double);
272 
274 
280  vtkSetMacro(UseOutlineForLODRendering, bool);
281  vtkGetMacro(UseOutlineForLODRendering, bool);
283 
292  void ConfigureCompressor(const char* configuration);
293 
298  virtual void ResetCameraClippingRange();
299 
301 
305  void SetUseLightKit(bool enable);
306  vtkGetMacro(UseLightKit, bool);
307  vtkBooleanMacro(UseLightKit, bool);
309 
311  void StreamingUpdate(const double view_planes[24]);
312  void DeliverStreamedPieces(unsigned int size, unsigned int* representation_ids);
314 
318  static vtkInformationIntegerKey* USE_LOD();
319 
323  static vtkInformationDoubleKey* LOD_RESOLUTION();
324 
329  static vtkInformationIntegerKey* USE_OUTLINE_FOR_LOD();
330 
337  static vtkInformationIntegerKey* RENDER_EMPTY_IMAGES();
338 
343  static vtkInformationIntegerKey* NEED_ORDERED_COMPOSITING();
344 
349  static vtkInformationDoubleVectorKey* VIEW_PLANES();
350 
354  static vtkInformationRequestKey* REQUEST_STREAMING_UPDATE();
355 
359  static vtkInformationRequestKey* REQUEST_PROCESS_STREAMED_PIECE();
360 
362 
369  void SelectCells(int region[4], const char* array = nullptr);
370  void SelectCells(int region0, int region1, int region2, int region3, const char* array = nullptr)
371  {
372  int r[4] = { region0, region1, region2, region3 };
373  this->SelectCells(r, array);
374  }
375  void SelectPoints(int region[4], const char* array = nullptr);
376  void SelectPoints(int region0, int region1, int region2, int region3, const char* array = nullptr)
377  {
378  int r[4] = { region0, region1, region2, region3 };
379  this->SelectPoints(r, array);
380  }
381  void Select(int field_association, int region[4], const char* array = nullptr);
383 
385 
395  void SelectPolygonPoints(int* polygon2DArray, vtkIdType arrayLen);
396  void SelectPolygonCells(int* polygon2DArray, vtkIdType arrayLen);
397  void SelectPolygon(int field_association, int* polygon2DArray, vtkIdType arrayLen);
399 
401 
405  vtkGetObjectMacro(LastSelection, vtkSelection);
407 
409 
413  vtkSetMacro(UseInteractiveRenderingForScreenshots, bool);
414  vtkBooleanMacro(UseInteractiveRenderingForScreenshots, bool);
415  vtkGetMacro(UseInteractiveRenderingForScreenshots, bool);
417 
419 
422  vtkGetMacro(RemoteRenderingAvailable, bool);
423  void RemoteRenderingAvailableOff() { this->RemoteRenderingAvailable = false; }
425 
427 
430  void NVPipeAvailableOn();
431  void NVPipeAvailableOff();
433 
435 
438  vtkGetMacro(UsedLODForLastRender, bool);
440 
446  void InvalidateCachedSelection();
447 
449 
454  static vtkAlgorithmOutput* GetPieceProducer(
456  static vtkAlgorithmOutput* GetPieceProducerLOD(
457  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
458  static void SetRedistributionMode(
459  vtkInformation* info, vtkPVDataRepresentation* repr, int mode, int port = 0);
460  static void SetRedistributionModeToSplitBoundaryCells(
461  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
462  static void SetRedistributionModeToDuplicateBoundaryCells(
463  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
464  static void SetRedistributionModeToUniquelyAssignBoundaryCells(
465  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
466  static void SetGeometryBounds(vtkInformation* info, vtkPVDataRepresentation* repr,
467  const double bounds[6], vtkMatrix4x4* transform = nullptr, int port = 0);
468  static void SetStreamable(vtkInformation* info, vtkPVDataRepresentation* repr, bool streamable);
469  static void SetNextStreamedPiece(
471  static vtkDataObject* GetCurrentStreamedPiece(
474 
476 
503  enum
504  {
505  USE_BOUNDS_FOR_REDISTRIBUTION = 0x01,
506  DATA_IS_REDISTRIBUTABLE = 0x02,
507  USE_DATA_FOR_LOAD_BALANCING = 0x40,
508  };
509  static void SetOrderedCompositingConfiguration(vtkInformation* info,
510  vtkPVDataRepresentation* repr, int config, const double* bounds = nullptr, int port = 0);
512 
517  void SetMaxClipBounds(double bds[6]);
518 
520 
524  void SetLockBounds(bool nv);
525  vtkGetMacro(LockBounds, bool);
527 
533  static void SetDeliverToAllProcesses(
534  vtkInformation* info, vtkPVDataRepresentation* repr, bool clone);
535 
545  static void SetDeliverToClientAndRenderingProcesses(vtkInformation* info,
546  vtkPVDataRepresentation* repr, bool deliver_to_client, bool gather_before_delivery,
547  int port = 0);
548 
550 
558  static void SetRequiresDistributedRendering(
559  vtkInformation* info, vtkPVDataRepresentation* repr, bool value, bool for_lod = false);
561  vtkInformation* info, vtkPVDataRepresentation* repr, bool value)
562  {
563  vtkPVRenderView::SetRequiresDistributedRendering(info, repr, value, true);
564  }
566 
568 
580  static void SetForceDataDistributionMode(vtkInformation* info, int flag);
581  bool IsForceDataDistributionModeSet() const { return this->ForceDataDistributionMode != -1; }
582  int GetForceDataDistributionMode() const { return this->ForceDataDistributionMode; }
584 
586 
591  int RegisterPropForHardwareSelection(vtkPVDataRepresentation* repr, vtkProp* prop);
592  void UnRegisterPropForHardwareSelection(vtkPVDataRepresentation* repr, vtkProp* prop);
594 
596 
599  void SetShowAnnotation(bool val);
600  vtkSetMacro(UpdateAnnotation, bool);
602 
604 
607  void SetAnnotationColor(double r, double g, double b);
609 
613  virtual void SetGridAxes3DActor(vtkPVGridAxes3DActor*);
614 
618  virtual void SetLegendGridActor(vtkLegendScaleActor*);
619 
623  virtual void SetPolarGridActor(vtkPolarAxesActor2D*);
624 
626 
629  virtual void SetOrientationAxesInteractivity(bool);
630  virtual void SetOrientationAxesVisibility(bool);
631 
632  void SetOrientationAxesLabelColor(double r, double g, double b);
633  void SetOrientationAxesOutlineColor(double r, double g, double b);
634 
635  void SetOrientationAxesXColor(double r, double g, double b);
636  void SetOrientationAxesYColor(double r, double g, double b);
637  void SetOrientationAxesZColor(double r, double g, double b);
638 
639  void SetOrientationAxesXVisibility(bool vis);
640  void SetOrientationAxesYVisibility(bool vis);
641  void SetOrientationAxesZVisibility(bool vis);
642 
643  void SetOrientationAxesXLabelText(const char* text);
644  void SetOrientationAxesYLabelText(const char* text);
645  void SetOrientationAxesZLabelText(const char* text);
647 
649 
652  void SetCameraOrientationWidgetVisibility(bool visible);
653  void SetCameraOrientationWidgetSize(int size);
654  void SetCameraOrientationWidgetPadding(int padding[2]);
655  void SetCameraOrientationWidgetAnchor(int anchor);
657 
661  virtual void SetCenterAxesVisibility(bool);
662 
663  virtual void SetCenterAxesXColor(double r, double g, double b);
664  virtual void SetCenterAxesYColor(double r, double g, double b);
665  virtual void SetCenterAxesZColor(double r, double g, double b);
666 
668 
671  virtual void SetCenterOfRotation(double x, double y, double z);
672  virtual void SetRotationFactor(double factor);
674 
676 
679  void SetKeyLightWarmth(double val);
680  void SetKeyLightIntensity(double val);
681  void SetKeyLightElevation(double val);
682  void SetKeyLightAzimuth(double val);
683  void SetFillLightWarmth(double val);
684  void SetKeyToFillRatio(double val);
685  void SetFillLightElevation(double val);
686  void SetFillLightAzimuth(double val);
687  void SetBackLightWarmth(double val);
688  void SetKeyToBackRatio(double val);
689  void SetBackLightElevation(double val);
690  void SetBackLightAzimuth(double val);
691  void SetHeadLightWarmth(double val);
692  void SetKeyToHeadRatio(double val);
693  void SetMaintainLuminance(int val);
695 
697 
700  vtkSetMacro(UseHiddenLineRemoval, bool);
701  virtual void SetUseDepthPeeling(int val);
702  virtual void SetUseDepthPeelingForVolumes(bool val);
703  virtual void SetMaximumNumberOfPeels(int val);
704  virtual void SetBackgroundTexture(vtkTexture* val);
706 
708 
712  vtkSetMacro(UseRenderViewSettingsForBackground, bool);
713  vtkGetMacro(UseRenderViewSettingsForBackground, bool);
715 
717  {
723  };
724 
726 
731  vtkSetClampMacro(BackgroundColorMode, int, DEFAULT, STEREO_SKYBOX);
732  vtkSetVector3Macro(Background, double);
733  vtkGetVector3Macro(Background, double);
734  vtkSetVector3Macro(Background2, double);
735  vtkGetVector3Macro(Background2, double);
736  vtkSetMacro(UseEnvironmentLighting, bool);
737 
741  virtual void SetSkyboxRotation(double x, double y, double z);
742  vtkGetVector3Macro(SkyboxRotation, double);
744 
746 
749  virtual void SetEnvironmentalBG(double r, double g, double b);
750  virtual void SetEnvironmentalBG2(double r, double g, double b);
751  virtual void SetEnvironmentalBGTexture(vtkTexture* val);
752  virtual void SetGradientEnvironmentalBG(int val);
753  virtual void SetTexturedEnvironmentalBG(int val);
754  virtual void SetBackgroundMode(int val);
756 
758 
761  void AddLight(vtkLight*);
762  void RemoveLight(vtkLight*);
764 
766 
771  static int GetNumberOfRendersPerFrame(int stereoMode);
772  static int GetCompatibleStereoType(int stereoMode);
773  static bool AreStereoTypesCompatible(int mode1, int mode2);
775 
777 
780  void SetStereoCapableWindow(int val);
781  void SetStereoRender(int val);
782  vtkSetMacro(StereoType, int);
783  vtkSetMacro(ServerStereoType, int);
784  void SetMultiSamples(int val);
785  void SetAlphaBitPlanes(int val);
786  void SetStencilCapable(int val);
787  void SetPhysicalToWorldMatrix(const double[16]);
789 
793  void SetParallelProjection(int mode);
794 
796 
799  virtual void SetCamera2DManipulators(const int manipulators[9]);
800  virtual void SetCamera3DManipulators(const int manipulators[9]);
801  void SetCameraManipulators(vtkPVInteractorStyle* style, const int manipulators[9]);
802  virtual void SetReverseMouseWheelZoomDirection(bool reverse);
803  virtual void SetMouseWheelZoomsToCursor(bool value);
804  virtual void SetCamera2DMouseWheelMotionFactor(double factor);
805  virtual void SetCamera3DMouseWheelMotionFactor(double factor);
807 
813  virtual void SynchronizeGeometryBounds();
814 
822  void Update() override;
823 
827  virtual void UpdateLOD();
828 
830 
835  vtkGetMacro(UseLODForInteractiveRender, bool);
837 
839 
844  vtkGetMacro(UseDistributedRenderingForRender, bool);
846 
848 
853  vtkGetMacro(UseDistributedRenderingForLODRender, bool);
855 
857 
862  vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
864 
866 
871  vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
873 
877  int GetDataDistributionMode(bool low_res);
878 
884  void Deliver(int use_lod, unsigned int size, unsigned int* representation_ids) override;
885 
894  bool GetUseOrderedCompositing();
895 
900  bool GetRenderEmptyImages();
901 
903 
906  vtkSetMacro(UseFXAA, bool);
907  vtkGetMacro(UseFXAA, bool);
909 
911 
914  void SetFXAARelativeContrastThreshold(double val);
915  void SetFXAAHardContrastThreshold(double val);
916  void SetFXAASubpixelBlendLimit(double val);
917  void SetFXAASubpixelContrastThreshold(double val);
918  void SetFXAAUseHighQualityEndpoints(bool val);
919  void SetFXAAEndpointSearchIterations(int val);
921 
926  {
927  Custom = 0,
928  Default = 1,
929  Uncharted2 = 2
930  };
931 
933 
936  void SetUseToneMapping(bool v);
937  vtkGetMacro(UseToneMapping, bool);
938  void SetToneMappingType(int);
939  void SetExposure(double);
940  void SetContrast(double);
941  void SetShoulder(double);
942  void SetMidIn(double);
943  void SetMidOut(double);
944  void SetHdrMax(double);
945  void SetUseACES(bool);
946  void SetGenericFilmicPresets(int t);
948 
950 
953  vtkSetMacro(UseSSAO, bool);
954  vtkGetMacro(UseSSAO, bool);
955  vtkSetMacro(UseSSAODefaultPresets, bool);
956  vtkSetMacro(Radius, double);
957  vtkSetMacro(KernelSize, int);
958  vtkSetMacro(Bias, double);
959  vtkSetMacro(Blur, bool);
961 
968  void CopyViewUpdateOptions(vtkPVRenderView* otherView);
969 
971 
974  void AddPropToRenderer(vtkProp* prop);
975  void RemovePropFromRenderer(vtkProp* prop);
977 
979 
993  bool BeginValuePassForRendering(int fieldAssociation, const char* arrayName, int component);
994  void EndValuePassForRendering();
995  vtkSmartPointer<vtkFloatArray> GrabValuePassResult();
997 
999 
1002  void CaptureZBuffer();
1003  vtkFloatArray* GetCapturedZBuffer();
1005 
1007 
1012  void SetEnableSynchronizableActors(bool);
1013  bool GetEnableSynchronizableActors();
1015 
1017 
1020  void SetEnableOSPRay(bool);
1021  bool GetEnableOSPRay();
1023 
1025 
1028  void SetEnableANARI(bool);
1029  bool GetEnableANARI();
1031 
1033 
1036  void SetANARILibrary(std::string);
1037  const char* GetANARILibrary();
1039 
1041 
1044  void SetANARIRenderer(std::string);
1045  const char* GetANARIRenderer();
1049  vtkStringArray* GetANARIRendererNames();
1051 
1053 
1060  std::string GetANARIRendererParameters();
1065  void SetANARIRendererParameter(const std::string& name, int type, const std::string& value);
1067 
1069 
1072  void SetShadows(bool);
1073  bool GetShadows();
1076 
1079  void SetAmbientOcclusionSamples(int);
1080  int GetAmbientOcclusionSamples();
1083 
1086  void SetRouletteDepth(int);
1087  int GetRouletteDepth();
1089 
1091 
1094  void SetSamplesPerPixel(int);
1095  int GetSamplesPerPixel();
1098 
1101  void SetMaxFrames(int);
1102  int GetMaxFrames();
1104 
1107  bool GetOSPRayContinueStreaming();
1109 
1112  void SetDenoise(bool);
1113  bool GetDenoise();
1115 
1117 
1120  void SetLightScale(double);
1121  double GetLightScale();
1123 
1127  void SetOSPRayRendererType(std::string);
1129 
1132  void SetBackgroundNorth(double x, double y, double z);
1133  void SetBackgroundEast(double x, double y, double z);
1135 
1138  virtual void SetMaterialLibrary(vtkPVMaterialLibrary*);
1139  void SetViewTime(double value) override;
1141 
1144  void SetTimeCacheSize(int);
1145  int GetTimeCacheSize();
1147 
1149 
1173  static vtkPVCameraCollection* GetDiscreteCameras(
1175  static void SetDiscreteCameras(
1178 
1179  // Get the RenderViewBase used by this
1180  vtkGetObjectMacro(RenderView, vtkRenderViewBase);
1181 
1185  void ScaleRendererViewports(const double viewport[4]) override;
1186 
1191  void SynchronizeMaximumIds(vtkIdType* maxPointId, vtkIdType* maxCellId);
1192 
1196  void SetHardwareSelector(vtkPVHardwareSelector* selector);
1197 
1198 protected:
1199  vtkPVRenderView();
1200  ~vtkPVRenderView() override;
1201 
1205  virtual void Render(bool interactive, bool skip_rendering);
1206 
1211  virtual void AboutToRenderOnLocalProcess(bool interactive) { (void)interactive; }
1212 
1219  bool ShouldUseDistributedRendering(double geometry_size, bool using_lod);
1220 
1224  bool ShouldUseLODRendering(double geometry);
1225 
1230  bool IsProcessRenderingGeometriesForCompositing(bool using_distributed_rendering);
1231 
1235  void SetLastSelection(vtkSelection*);
1236 
1241  virtual void UpdateCenterAxes();
1242 
1247  bool GetLocalProcessDoesRendering(bool using_distributed_rendering);
1248 
1253  bool TestCollaborationCounter();
1254 
1259  void SynchronizeForCollaboration();
1260 
1265  virtual void BuildAnnotationText(ostream& str);
1266 
1268 
1272  vtkGetMacro(SynchronizationCounter, unsigned int);
1274 
1276 
1279  vtkGetMacro(MakingSelection, bool);
1281 
1286  virtual bool PrepareSelect(int fieldAssociation, const char* array = nullptr);
1287 
1291  virtual void PostSelect(vtkSelection* sel, const char* array = nullptr);
1292 
1297  virtual void UpdateBackground(vtkRenderer* renderer = nullptr);
1298 
1302  void ConfigureTexture(vtkTexture* texture);
1303 
1309  virtual void SetupAndSetRenderer(vtkRenderer* ren);
1310 
1329 
1335 
1336  // this ivar can be used to suppress the render within
1337  // a StillRender or InteractiveRender. This is useful
1338  // in cases where you want the representations mappers
1339  // to be setup for rendering and have their data ready
1340  // but not actually do the render. For example if you
1341  // want to export the scene but not render it you must
1342  // turn on SuppressRendering and then call StillRender
1344 
1345  // 2D and 3D interactor style
1348 
1349  bool ReverseMouseWheelZoomDirection = false;
1350 
1351  // Active interactor style either [TwoDInteractorStyle, ThreeDInteractorStyle]
1353 
1355 
1356  // Used in collaboration mode to ensure that views are in the same state
1357  // (as far as representations added/removed goes) before rendering.
1359 
1360  // In mega-bytes.
1364 
1368 
1369  bool UseFXAA;
1371 
1373 
1374  bool UseSSAO;
1376  double Radius;
1378  double Bias;
1379  bool Blur;
1380 
1383 
1389 
1390  vtkTypeUInt32 StillRenderProcesses;
1392 
1398 
1400 
1401 private:
1402  vtkPVRenderView(const vtkPVRenderView&) = delete;
1403  void operator=(const vtkPVRenderView&) = delete;
1404 
1405  bool MakingSelection;
1406  int PreviousSwapBuffers;
1407  void OnSelectionChangedEvent();
1408  void OnPolygonSelectionEvent();
1409  void FinishSelection(vtkSelection*, const char*);
1410 
1412 
1416  void AddAnnotationToView(vtkProp*);
1417  void RemoveAnnotationFromView(vtkProp*);
1419 
1420  // This flag is set to false when not all processes cannot render e.g. cannot
1421  // open the DISPLAY etc.
1422  bool RemoteRenderingAvailable;
1423 
1424  // Flags used to maintain rendering modes requested by representations.
1425  bool DistributedRenderingRequired;
1426  bool NonDistributedRenderingRequired;
1427  bool DistributedRenderingRequiredLOD;
1428  bool NonDistributedRenderingRequiredLOD;
1429 
1430  // Cached value for parallel projection set on camera.
1431  int ParallelProjection;
1432 
1433  // Cached state. Is currently ignored for distributed rendering.
1434  bool UseHiddenLineRemoval;
1435 
1436  class vtkInternals;
1437  vtkInternals* Internals;
1438 
1439  vtkNew<vtkTextRepresentation> Annotation;
1440  void UpdateAnnotationText();
1441 
1442  vtkNew<vtkOrderedCompositingHelper> OrderedCompositingHelper;
1443 
1444  int StereoType;
1445  int ServerStereoType;
1446  void UpdateStereoProperties();
1447 
1448  int BackgroundColorMode;
1449  bool UseEnvironmentLighting;
1450  bool UseRenderViewSettingsForBackground;
1451  double Background[3];
1452  double Background2[3];
1453  double SkyboxRotation[3];
1454 
1456  vtkNew<vtkTimerLog> Timer;
1457 
1458  int ForceDataDistributionMode;
1459  int PreviousDiscreteCameraIndex;
1460  vtkSmartPointer<vtkTexture> EnvironmentalBGTexture;
1461  bool UseTexturedEnvironmentalBG;
1462 };
1463 
1464 #endif
static void SetRequiresDistributedRenderingLOD(vtkInformation *info, vtkPVDataRepresentation *repr, bool value)
Some representation only work when remote rendering or local rendering.
vtkSmartPointer< vtkPolarAxesActor2D > PolarAxesActor
vtkPVInteractorStyle * InteractorStyle
coordinates rendering between corresponding renderers across multiple processes
static vtkView * New()
vtkPVInteractorStyle * TwoDInteractorStyle
vtkSelection * LastSelection
vtkSmartPointer< vtkPVHardwareSelector > Selector
#define VTKREMOTINGVIEWS_EXPORT
virtual void SetViewTime(double value)
Get/Set the time this view is showing.
manages visual material definitions
vtkPVDataRepresentation adds some ParaView specific API to data representations.
vtkRenderViewBase * RenderView
virtual void AboutToRenderOnLocalProcess(bool interactive)
Called just before the local process renders.
bool UseDistributedRenderingForLODRender
virtual void Deliver(int use_lod, unsigned int size, unsigned int *representation_ids)
Called on all processes to request data-delivery for the list of representations. ...
double RemoteRenderingThreshold
vtkPVSynchronizedRenderer * SynchronizedRenderers
void Update() override
Overridden to not call Update() directly on the input representations, instead use ProcessViewRequest...
info
virtual void ScaleRendererViewports(const double viewport[4])
vtkViewLayout calls this method to update the total viewport available for this view.
int vtkIdType
vtkHardwareSelector subclass with paraview specific logic to avoid recapturing buffers unless needed...
vtkSmartPointer< vtkPVGridAxes3DActor > GridAxes3DActor
int GetForceDataDistributionMode() const
This is an temporary/experimental option and may be removed without notice.
baseclass for all ParaView views.
Definition: vtkPVView.h:32
int InteractiveRenderImageReductionFactor
void SelectCells(int region0, int region1, int region2, int region3, const char *array=nullptr)
Make a selection.
void RemoteRenderingAvailableOff()
Returns if remote-rendering is possible on the current group of processes.
vtkSmartPointer< vtkLegendScaleActor > LegendGridActor
virtual void SetSize(int, int)
Set the size of this view in the multiview configuration.
bool UseInteractiveRenderingForScreenshots
vtkSmartPointer< vtkIndependentViewerCollection > ViewerCollection
vtkNew< vtkFXAAOptions > FXAAOptions
bool IsForceDataDistributionModeSet() const
This is an temporary/experimental option and may be removed without notice.
vtkTypeUInt32 StillRenderProcesses
A widget to manipulate vtkPVAxesWidget.
vtkNew< vtkSkybox > Skybox
vtkInteractorStyleRubberBandZoom * RubberBandZoom
vtkPVAxesWidget * OrientationWidget
double LODRenderingThreshold
vtkNew< vtkCameraOrientationWidget > CameraOrientationWidget
static void SetRequiresDistributedRendering(vtkInformation *info, vtkPVDataRepresentation *repr, bool value, bool for_lod=false)
Some representation only work when remote rendering or local rendering.
size
mode
unsigned int SynchronizationCounter
collection of cameras used by vtkPVRenderView for cases where one wants to limit interactions to a fi...
vtkInteractorStyleDrawPolygon * PolygonStyle
void SelectPoints(int region0, int region1, int region2, int region3, const char *array=nullptr)
Make a selection.
GenericFilmicPresets
Defines tone mapping generic filmic presets.
vtkTimeStamp PriorityQueueBuildTimeStamp
Keeps track of the time when the priority-queue for streaming was generated.
Background
vtkBoundingBox GeometryBounds
virtual void SetPosition(int, int)
Set the position on this view in the multiview configuration.
vtkRenderer * NonCompositedRenderer
vtkWeakPointer< vtkPVCameraCollection > DiscreteCameras
bool UseDistributedRenderingForRender
int StillRenderImageReductionFactor
vtkPVCenterAxesActor * CenterAxes
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void StillRender()=0
Triggers a high-resolution render.
vtkPVCenterAxesActor is an actor for the center-axes used in ParaView.
port
Render View for ParaView.
interactive manipulation of the camera
vtkLightKit * LightKit
virtual void InteractiveRender()=0
Triggers a interactive render.
vtkSmartPointer< vtkRenderWindowInteractor > Interactor
vtkInteractorStyleRubberBand3D * RubberBandStyle
vtkPVInteractorStyle * ThreeDInteractorStyle
ParaView extensions for vtkGridAxesActor3D.
helper to assist in determine process order when rendering
vtkTypeUInt32 InteractiveRenderProcesses