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 
769  void SetStereoCapableWindow(int val);
770  void SetStereoRender(int val);
771  vtkSetMacro(StereoType, int);
772  vtkSetMacro(ServerStereoType, int);
773  void SetMultiSamples(int val);
774  void SetAlphaBitPlanes(int val);
775  void SetStencilCapable(int val);
776  void SetPhysicalToWorldMatrix(const double[16]);
778 
782  void SetParallelProjection(int mode);
783 
785 
788  virtual void SetCamera2DManipulators(const int manipulators[9]);
789  virtual void SetCamera3DManipulators(const int manipulators[9]);
790  void SetCameraManipulators(vtkPVInteractorStyle* style, const int manipulators[9]);
791  virtual void SetReverseMouseWheelZoomDirection(bool reverse);
792  virtual void SetMouseWheelZoomsToCursor(bool value);
793  virtual void SetCamera2DMouseWheelMotionFactor(double factor);
794  virtual void SetCamera3DMouseWheelMotionFactor(double factor);
796 
802  virtual void SynchronizeGeometryBounds();
803 
811  void Update() override;
812 
816  virtual void UpdateLOD();
817 
819 
824  vtkGetMacro(UseLODForInteractiveRender, bool);
826 
828 
833  vtkGetMacro(UseDistributedRenderingForRender, bool);
835 
837 
842  vtkGetMacro(UseDistributedRenderingForLODRender, bool);
844 
846 
851  vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
853 
855 
860  vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
862 
866  int GetDataDistributionMode(bool low_res);
867 
873  void Deliver(int use_lod, unsigned int size, unsigned int* representation_ids) override;
874 
883  bool GetUseOrderedCompositing();
884 
889  bool GetRenderEmptyImages();
890 
892 
895  vtkSetMacro(UseFXAA, bool);
896  vtkGetMacro(UseFXAA, bool);
898 
900 
903  void SetFXAARelativeContrastThreshold(double val);
904  void SetFXAAHardContrastThreshold(double val);
905  void SetFXAASubpixelBlendLimit(double val);
906  void SetFXAASubpixelContrastThreshold(double val);
907  void SetFXAAUseHighQualityEndpoints(bool val);
908  void SetFXAAEndpointSearchIterations(int val);
910 
915  {
916  Custom = 0,
917  Default = 1,
918  Uncharted2 = 2
919  };
920 
922 
925  void SetUseToneMapping(bool v);
926  vtkGetMacro(UseToneMapping, bool);
927  void SetToneMappingType(int);
928  void SetExposure(double);
929  void SetContrast(double);
930  void SetShoulder(double);
931  void SetMidIn(double);
932  void SetMidOut(double);
933  void SetHdrMax(double);
934  void SetUseACES(bool);
935  void SetGenericFilmicPresets(int t);
937 
939 
942  vtkSetMacro(UseSSAO, bool);
943  vtkGetMacro(UseSSAO, bool);
944  vtkSetMacro(UseSSAODefaultPresets, bool);
945  vtkSetMacro(Radius, double);
946  vtkSetMacro(KernelSize, int);
947  vtkSetMacro(Bias, double);
948  vtkSetMacro(Blur, bool);
950 
957  void CopyViewUpdateOptions(vtkPVRenderView* otherView);
958 
960 
963  void AddPropToRenderer(vtkProp* prop);
964  void RemovePropFromRenderer(vtkProp* prop);
966 
968 
982  bool BeginValuePassForRendering(int fieldAssociation, const char* arrayName, int component);
983  void EndValuePassForRendering();
984  vtkSmartPointer<vtkFloatArray> GrabValuePassResult();
986 
988 
991  void CaptureZBuffer();
992  vtkFloatArray* GetCapturedZBuffer();
994 
996 
1001  void SetEnableSynchronizableActors(bool);
1002  bool GetEnableSynchronizableActors();
1004 
1006 
1009  void SetEnableOSPRay(bool);
1010  bool GetEnableOSPRay();
1012 
1014 
1017  void SetEnableANARI(bool);
1018  bool GetEnableANARI();
1020 
1022 
1025  void SetANARILibrary(std::string);
1026  const char* GetANARILibrary();
1028 
1030 
1033  void SetANARIRenderer(std::string);
1034  const char* GetANARIRenderer();
1038  vtkStringArray* GetANARIRendererNames();
1040 
1042 
1049  std::string GetANARIRendererParameters();
1054  void SetANARIRendererParameter(const std::string& name, int type, const std::string& value);
1056 
1058 
1061  void SetShadows(bool);
1062  bool GetShadows();
1065 
1068  void SetAmbientOcclusionSamples(int);
1069  int GetAmbientOcclusionSamples();
1072 
1075  void SetRouletteDepth(int);
1076  int GetRouletteDepth();
1078 
1080 
1083  void SetSamplesPerPixel(int);
1084  int GetSamplesPerPixel();
1087 
1090  void SetMaxFrames(int);
1091  int GetMaxFrames();
1093 
1096  bool GetOSPRayContinueStreaming();
1098 
1101  void SetDenoise(bool);
1102  bool GetDenoise();
1104 
1106 
1109  void SetLightScale(double);
1110  double GetLightScale();
1112 
1116  void SetOSPRayRendererType(std::string);
1118 
1121  void SetBackgroundNorth(double x, double y, double z);
1122  void SetBackgroundEast(double x, double y, double z);
1124 
1127  virtual void SetMaterialLibrary(vtkPVMaterialLibrary*);
1128  void SetViewTime(double value) override;
1130 
1133  void SetTimeCacheSize(int);
1134  int GetTimeCacheSize();
1136 
1138 
1162  static vtkPVCameraCollection* GetDiscreteCameras(
1164  static void SetDiscreteCameras(
1167 
1168  // Get the RenderViewBase used by this
1169  vtkGetObjectMacro(RenderView, vtkRenderViewBase);
1170 
1174  void ScaleRendererViewports(const double viewport[4]) override;
1175 
1180  void SynchronizeMaximumIds(vtkIdType* maxPointId, vtkIdType* maxCellId);
1181 
1185  void SetHardwareSelector(vtkPVHardwareSelector* selector);
1186 
1187 protected:
1188  vtkPVRenderView();
1189  ~vtkPVRenderView() override;
1190 
1194  virtual void Render(bool interactive, bool skip_rendering);
1195 
1200  virtual void AboutToRenderOnLocalProcess(bool interactive) { (void)interactive; }
1201 
1208  bool ShouldUseDistributedRendering(double geometry_size, bool using_lod);
1209 
1213  bool ShouldUseLODRendering(double geometry);
1214 
1219  bool IsProcessRenderingGeometriesForCompositing(bool using_distributed_rendering);
1220 
1224  void SetLastSelection(vtkSelection*);
1225 
1230  virtual void UpdateCenterAxes();
1231 
1236  bool GetLocalProcessDoesRendering(bool using_distributed_rendering);
1237 
1242  bool TestCollaborationCounter();
1243 
1248  void SynchronizeForCollaboration();
1249 
1254  virtual void BuildAnnotationText(ostream& str);
1255 
1257 
1261  vtkGetMacro(SynchronizationCounter, unsigned int);
1263 
1265 
1268  vtkGetMacro(MakingSelection, bool);
1270 
1275  virtual bool PrepareSelect(int fieldAssociation, const char* array = nullptr);
1276 
1280  virtual void PostSelect(vtkSelection* sel, const char* array = nullptr);
1281 
1286  virtual void UpdateBackground(vtkRenderer* renderer = nullptr);
1287 
1291  void ConfigureTexture(vtkTexture* texture);
1292 
1298  virtual void SetupAndSetRenderer(vtkRenderer* ren);
1299 
1318 
1324 
1325  // this ivar can be used to suppress the render within
1326  // a StillRender or InteractiveRender. This is useful
1327  // in cases where you want the representations mappers
1328  // to be setup for rendering and have their data ready
1329  // but not actually do the render. For example if you
1330  // want to export the scene but not render it you must
1331  // turn on SuppressRendering and then call StillRender
1333 
1334  // 2D and 3D interactor style
1337 
1338  bool ReverseMouseWheelZoomDirection = false;
1339 
1340  // Active interactor style either [TwoDInteractorStyle, ThreeDInteractorStyle]
1342 
1344 
1345  // Used in collaboration mode to ensure that views are in the same state
1346  // (as far as representations added/removed goes) before rendering.
1348 
1349  // In mega-bytes.
1353 
1357 
1358  bool UseFXAA;
1360 
1362 
1363  bool UseSSAO;
1365  double Radius;
1367  double Bias;
1368  bool Blur;
1369 
1372 
1378 
1379  vtkTypeUInt32 StillRenderProcesses;
1381 
1387 
1389 
1390 private:
1391  vtkPVRenderView(const vtkPVRenderView&) = delete;
1392  void operator=(const vtkPVRenderView&) = delete;
1393 
1394  bool MakingSelection;
1395  int PreviousSwapBuffers;
1396  void OnSelectionChangedEvent();
1397  void OnPolygonSelectionEvent();
1398  void FinishSelection(vtkSelection*, const char*);
1399 
1401 
1405  void AddAnnotationToView(vtkProp*);
1406  void RemoveAnnotationFromView(vtkProp*);
1408 
1409  // This flag is set to false when not all processes cannot render e.g. cannot
1410  // open the DISPLAY etc.
1411  bool RemoteRenderingAvailable;
1412 
1413  // Flags used to maintain rendering modes requested by representations.
1414  bool DistributedRenderingRequired;
1415  bool NonDistributedRenderingRequired;
1416  bool DistributedRenderingRequiredLOD;
1417  bool NonDistributedRenderingRequiredLOD;
1418 
1419  // Cached value for parallel projection set on camera.
1420  int ParallelProjection;
1421 
1422  // Cached state. Is currently ignored for distributed rendering.
1423  bool UseHiddenLineRemoval;
1424 
1425  class vtkInternals;
1426  vtkInternals* Internals;
1427 
1428  vtkNew<vtkTextRepresentation> Annotation;
1429  void UpdateAnnotationText();
1430 
1431  vtkNew<vtkOrderedCompositingHelper> OrderedCompositingHelper;
1432 
1433  int StereoType;
1434  int ServerStereoType;
1435  void UpdateStereoProperties();
1436 
1437  int BackgroundColorMode;
1438  bool UseEnvironmentLighting;
1439  bool UseRenderViewSettingsForBackground;
1440  double Background[3];
1441  double Background2[3];
1442  double SkyboxRotation[3];
1443 
1445  vtkNew<vtkTimerLog> Timer;
1446 
1447  int ForceDataDistributionMode;
1448  int PreviousDiscreteCameraIndex;
1449  vtkSmartPointer<vtkTexture> EnvironmentalBGTexture;
1450  bool UseTexturedEnvironmentalBG;
1451 };
1452 
1453 #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