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 
388  void SelectByArrayValue(
389  int fieldAssociation, vtkDataRepresentation* dataRepr, const char* array, vtkIdType id);
390 
392 
402  void SelectPolygonPoints(int* polygon2DArray, vtkIdType arrayLen);
403  void SelectPolygonCells(int* polygon2DArray, vtkIdType arrayLen);
404  void SelectPolygon(int field_association, int* polygon2DArray, vtkIdType arrayLen);
406 
408 
412  vtkGetObjectMacro(LastSelection, vtkSelection);
414 
416 
420  vtkSetMacro(UseInteractiveRenderingForScreenshots, bool);
421  vtkBooleanMacro(UseInteractiveRenderingForScreenshots, bool);
422  vtkGetMacro(UseInteractiveRenderingForScreenshots, bool);
424 
426 
429  vtkGetMacro(RemoteRenderingAvailable, bool);
430  void RemoteRenderingAvailableOff() { this->RemoteRenderingAvailable = false; }
432 
434 
437  void NVPipeAvailableOn();
438  void NVPipeAvailableOff();
440 
442 
445  vtkGetMacro(UsedLODForLastRender, bool);
447 
453  void InvalidateCachedSelection();
454 
456 
461  static vtkAlgorithmOutput* GetPieceProducer(
463  static vtkAlgorithmOutput* GetPieceProducerLOD(
464  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
465  static void SetRedistributionMode(
466  vtkInformation* info, vtkPVDataRepresentation* repr, int mode, int port = 0);
467  static void SetRedistributionModeToSplitBoundaryCells(
468  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
469  static void SetRedistributionModeToDuplicateBoundaryCells(
470  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
471  static void SetRedistributionModeToUniquelyAssignBoundaryCells(
472  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
473  static void SetGeometryBounds(vtkInformation* info, vtkPVDataRepresentation* repr,
474  const double bounds[6], vtkMatrix4x4* transform = nullptr, int port = 0);
475  static void SetStreamable(vtkInformation* info, vtkPVDataRepresentation* repr, bool streamable);
476  static void SetNextStreamedPiece(
478  static vtkDataObject* GetCurrentStreamedPiece(
481 
483 
510  enum
511  {
512  USE_BOUNDS_FOR_REDISTRIBUTION = 0x01,
513  DATA_IS_REDISTRIBUTABLE = 0x02,
514  USE_DATA_FOR_LOAD_BALANCING = 0x40,
515  };
516  static void SetOrderedCompositingConfiguration(vtkInformation* info,
517  vtkPVDataRepresentation* repr, int config, const double* bounds = nullptr, int port = 0);
519 
524  void SetMaxClipBounds(double bds[6]);
525 
527 
531  void SetLockBounds(bool nv);
532  vtkGetMacro(LockBounds, bool);
534 
540  static void SetDeliverToAllProcesses(
541  vtkInformation* info, vtkPVDataRepresentation* repr, bool clone);
542 
552  static void SetDeliverToClientAndRenderingProcesses(vtkInformation* info,
553  vtkPVDataRepresentation* repr, bool deliver_to_client, bool gather_before_delivery,
554  int port = 0);
555 
557 
565  static void SetRequiresDistributedRendering(
566  vtkInformation* info, vtkPVDataRepresentation* repr, bool value, bool for_lod = false);
568  vtkInformation* info, vtkPVDataRepresentation* repr, bool value)
569  {
570  vtkPVRenderView::SetRequiresDistributedRendering(info, repr, value, true);
571  }
573 
575 
587  static void SetForceDataDistributionMode(vtkInformation* info, int flag);
588  bool IsForceDataDistributionModeSet() const { return this->ForceDataDistributionMode != -1; }
589  int GetForceDataDistributionMode() const { return this->ForceDataDistributionMode; }
591 
593 
598  int RegisterPropForHardwareSelection(vtkPVDataRepresentation* repr, vtkProp* prop);
599  void UnRegisterPropForHardwareSelection(vtkPVDataRepresentation* repr, vtkProp* prop);
601 
603 
606  void SetShowAnnotation(bool val);
607  vtkSetMacro(UpdateAnnotation, bool);
609 
611 
614  void SetAnnotationColor(double r, double g, double b);
616 
620  virtual void SetGridAxes3DActor(vtkPVGridAxes3DActor*);
621 
625  virtual void SetLegendGridActor(vtkLegendScaleActor*);
626 
630  virtual void SetPolarGridActor(vtkPolarAxesActor2D*);
631 
633 
636  virtual void SetOrientationAxesInteractivity(bool);
637  virtual void SetOrientationAxesVisibility(bool);
638 
639  void SetOrientationAxesLabelColor(double r, double g, double b);
640  void SetOrientationAxesOutlineColor(double r, double g, double b);
641 
642  void SetOrientationAxesXColor(double r, double g, double b);
643  void SetOrientationAxesYColor(double r, double g, double b);
644  void SetOrientationAxesZColor(double r, double g, double b);
645 
646  void SetOrientationAxesXVisibility(bool vis);
647  void SetOrientationAxesYVisibility(bool vis);
648  void SetOrientationAxesZVisibility(bool vis);
649 
650  void SetOrientationAxesXLabelText(const char* text);
651  void SetOrientationAxesYLabelText(const char* text);
652  void SetOrientationAxesZLabelText(const char* text);
654 
656 
659  void SetCameraOrientationWidgetVisibility(bool visible);
660  void SetCameraOrientationWidgetSize(int size);
661  void SetCameraOrientationWidgetPadding(int padding[2]);
662  void SetCameraOrientationWidgetAnchor(int anchor);
664 
668  virtual void SetCenterAxesVisibility(bool);
669 
670  virtual void SetCenterAxesXColor(double r, double g, double b);
671  virtual void SetCenterAxesYColor(double r, double g, double b);
672  virtual void SetCenterAxesZColor(double r, double g, double b);
673 
675 
678  virtual void SetCenterOfRotation(double x, double y, double z);
679  virtual void SetRotationFactor(double factor);
681 
683 
686  void SetKeyLightWarmth(double val);
687  void SetKeyLightIntensity(double val);
688  void SetKeyLightElevation(double val);
689  void SetKeyLightAzimuth(double val);
690  void SetFillLightWarmth(double val);
691  void SetKeyToFillRatio(double val);
692  void SetFillLightElevation(double val);
693  void SetFillLightAzimuth(double val);
694  void SetBackLightWarmth(double val);
695  void SetKeyToBackRatio(double val);
696  void SetBackLightElevation(double val);
697  void SetBackLightAzimuth(double val);
698  void SetHeadLightWarmth(double val);
699  void SetKeyToHeadRatio(double val);
700  void SetMaintainLuminance(int val);
702 
704 
707  vtkSetMacro(UseHiddenLineRemoval, bool);
708  virtual void SetUseDepthPeeling(int val);
709  virtual void SetUseDepthPeelingForVolumes(bool val);
710  virtual void SetMaximumNumberOfPeels(int val);
711  virtual void SetBackgroundTexture(vtkTexture* val);
713 
715 
719  vtkSetMacro(UseRenderViewSettingsForBackground, bool);
720  vtkGetMacro(UseRenderViewSettingsForBackground, bool);
722 
724  {
730  };
731 
733 
738  vtkSetClampMacro(BackgroundColorMode, int, DEFAULT, STEREO_SKYBOX);
739  vtkSetVector3Macro(Background, double);
740  vtkGetVector3Macro(Background, double);
741  vtkSetVector3Macro(Background2, double);
742  vtkGetVector3Macro(Background2, double);
743  vtkSetMacro(UseEnvironmentLighting, bool);
744 
748  virtual void SetSkyboxRotation(double x, double y, double z);
749  vtkGetVector3Macro(SkyboxRotation, double);
751 
753 
756  virtual void SetEnvironmentalBG(double r, double g, double b);
757  virtual void SetEnvironmentalBG2(double r, double g, double b);
758  virtual void SetEnvironmentalBGTexture(vtkTexture* val);
759  virtual void SetGradientEnvironmentalBG(int val);
760  virtual void SetTexturedEnvironmentalBG(int val);
761  virtual void SetBackgroundMode(int val);
763 
765 
768  void AddLight(vtkLight*);
769  void RemoveLight(vtkLight*);
771 
773 
778  static int GetNumberOfRendersPerFrame(int stereoMode);
779  static int GetCompatibleStereoType(int stereoMode);
780  static bool AreStereoTypesCompatible(int mode1, int mode2);
782 
784 
787  void SetStereoCapableWindow(int val);
788  void SetStereoRender(int val);
789  vtkSetMacro(StereoType, int);
790  vtkSetMacro(ServerStereoType, int);
791  void SetMultiSamples(int val);
792  void SetAlphaBitPlanes(int val);
793  void SetStencilCapable(int val);
794  void SetPhysicalToWorldMatrix(const double[16]);
796 
800  void SetParallelProjection(int mode);
801 
803 
806  virtual void SetCamera2DManipulators(const int manipulators[9]);
807  virtual void SetCamera3DManipulators(const int manipulators[9]);
808  void SetCameraManipulators(vtkPVInteractorStyle* style, const int manipulators[9]);
809  virtual void SetReverseMouseWheelZoomDirection(bool reverse);
810  virtual void SetMouseWheelZoomsToCursor(bool value);
811  virtual void SetCamera2DMouseWheelMotionFactor(double factor);
812  virtual void SetCamera3DMouseWheelMotionFactor(double factor);
814 
820  virtual void SynchronizeGeometryBounds();
821 
829  void Update() override;
830 
834  virtual void UpdateLOD();
835 
837 
842  vtkGetMacro(UseLODForInteractiveRender, bool);
844 
846 
851  vtkGetMacro(UseDistributedRenderingForRender, bool);
853 
855 
860  vtkGetMacro(UseDistributedRenderingForLODRender, bool);
862 
864 
869  vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
871 
873 
878  vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
880 
884  int GetDataDistributionMode(bool low_res);
885 
891  void Deliver(int use_lod, unsigned int size, unsigned int* representation_ids) override;
892 
901  bool GetUseOrderedCompositing();
902 
907  bool GetRenderEmptyImages();
908 
910 
913  vtkSetMacro(UseFXAA, bool);
914  vtkGetMacro(UseFXAA, bool);
916 
918 
921  void SetFXAARelativeContrastThreshold(double val);
922  void SetFXAAHardContrastThreshold(double val);
923  void SetFXAASubpixelBlendLimit(double val);
924  void SetFXAASubpixelContrastThreshold(double val);
925  void SetFXAAUseHighQualityEndpoints(bool val);
926  void SetFXAAEndpointSearchIterations(int val);
928 
933  {
934  Custom = 0,
935  Default = 1,
936  Uncharted2 = 2
937  };
938 
940 
943  void SetUseToneMapping(bool v);
944  vtkGetMacro(UseToneMapping, bool);
945  void SetToneMappingType(int);
946  void SetExposure(double);
947  void SetContrast(double);
948  void SetShoulder(double);
949  void SetMidIn(double);
950  void SetMidOut(double);
951  void SetHdrMax(double);
952  void SetUseACES(bool);
953  void SetGenericFilmicPresets(int t);
955 
957 
960  vtkSetMacro(UseSSAO, bool);
961  vtkGetMacro(UseSSAO, bool);
962  vtkSetMacro(UseSSAODefaultPresets, bool);
963  vtkSetMacro(Radius, double);
964  vtkSetMacro(KernelSize, int);
965  vtkSetMacro(Bias, double);
966  vtkSetMacro(Blur, bool);
968 
975  void CopyViewUpdateOptions(vtkPVRenderView* otherView);
976 
978 
981  void AddPropToRenderer(vtkProp* prop);
982  void RemovePropFromRenderer(vtkProp* prop);
984 
986 
1000  bool BeginValuePassForRendering(int fieldAssociation, const char* arrayName, int component);
1001  void EndValuePassForRendering();
1002  vtkSmartPointer<vtkFloatArray> GrabValuePassResult();
1004 
1006 
1009  void CaptureZBuffer();
1010  vtkFloatArray* GetCapturedZBuffer();
1012 
1014 
1019  void SetEnableSynchronizableActors(bool);
1020  bool GetEnableSynchronizableActors();
1022 
1024 
1027  void SetEnableOSPRay(bool);
1028  bool GetEnableOSPRay();
1030 
1032 
1035  void SetEnableANARI(bool);
1036  bool GetEnableANARI();
1038 
1040 
1043  void SetANARILibrary(std::string);
1044  const char* GetANARILibrary();
1046 
1048 
1051  void SetANARIRenderer(std::string);
1052  const char* GetANARIRenderer();
1056  vtkStringArray* GetANARIRendererNames();
1058 
1060 
1067  std::string GetANARIRendererParameters();
1072  void SetANARIRendererParameter(const std::string& name, int type, const std::string& value);
1074 
1076 
1079  void SetShadows(bool);
1080  bool GetShadows();
1083 
1086  void SetAmbientOcclusionSamples(int);
1087  int GetAmbientOcclusionSamples();
1090 
1093  void SetRouletteDepth(int);
1094  int GetRouletteDepth();
1096 
1098 
1101  void SetSamplesPerPixel(int);
1102  int GetSamplesPerPixel();
1105 
1108  void SetMaxFrames(int);
1109  int GetMaxFrames();
1111 
1114  bool GetOSPRayContinueStreaming();
1116 
1119  void SetDenoise(bool);
1120  bool GetDenoise();
1122 
1124 
1127  void SetLightScale(double);
1128  double GetLightScale();
1130 
1134  void SetOSPRayRendererType(std::string);
1136 
1139  void SetBackgroundNorth(double x, double y, double z);
1140  void SetBackgroundEast(double x, double y, double z);
1142 
1145  virtual void SetMaterialLibrary(vtkPVMaterialLibrary*);
1146  void SetViewTime(double value) override;
1148 
1151  void SetTimeCacheSize(int);
1152  int GetTimeCacheSize();
1154 
1156 
1180  static vtkPVCameraCollection* GetDiscreteCameras(
1182  static void SetDiscreteCameras(
1185 
1186  // Get the RenderViewBase used by this
1187  vtkGetObjectMacro(RenderView, vtkRenderViewBase);
1188 
1192  void ScaleRendererViewports(const double viewport[4]) override;
1193 
1198  void SynchronizeMaximumIds(vtkIdType* maxPointId, vtkIdType* maxCellId);
1199 
1203  void SetHardwareSelector(vtkPVHardwareSelector* selector);
1204 
1205 protected:
1206  vtkPVRenderView();
1207  ~vtkPVRenderView() override;
1208 
1212  virtual void Render(bool interactive, bool skip_rendering);
1213 
1218  virtual void AboutToRenderOnLocalProcess(bool interactive) { (void)interactive; }
1219 
1226  bool ShouldUseDistributedRendering(double geometry_size, bool using_lod);
1227 
1231  bool ShouldUseLODRendering(double geometry);
1232 
1237  bool IsProcessRenderingGeometriesForCompositing(bool using_distributed_rendering);
1238 
1242  void SetLastSelection(vtkSelection*);
1243 
1248  virtual void UpdateCenterAxes();
1249 
1254  bool GetLocalProcessDoesRendering(bool using_distributed_rendering);
1255 
1260  bool TestCollaborationCounter();
1261 
1266  void SynchronizeForCollaboration();
1267 
1272  virtual void BuildAnnotationText(ostream& str);
1273 
1275 
1279  vtkGetMacro(SynchronizationCounter, unsigned int);
1281 
1283 
1286  vtkGetMacro(MakingSelection, bool);
1288 
1293  virtual bool PrepareSelect(int fieldAssociation, const char* array = nullptr);
1294 
1298  virtual void PostSelect(vtkSelection* sel, const char* array = nullptr);
1299 
1304  virtual void UpdateBackground(vtkRenderer* renderer = nullptr);
1305 
1309  void ConfigureTexture(vtkTexture* texture);
1310 
1316  virtual void SetupAndSetRenderer(vtkRenderer* ren);
1317 
1336 
1342 
1343  // this ivar can be used to suppress the render within
1344  // a StillRender or InteractiveRender. This is useful
1345  // in cases where you want the representations mappers
1346  // to be setup for rendering and have their data ready
1347  // but not actually do the render. For example if you
1348  // want to export the scene but not render it you must
1349  // turn on SuppressRendering and then call StillRender
1351 
1352  // 2D and 3D interactor style
1355 
1356  bool ReverseMouseWheelZoomDirection = false;
1357 
1358  // Active interactor style either [TwoDInteractorStyle, ThreeDInteractorStyle]
1360 
1362 
1363  // Used in collaboration mode to ensure that views are in the same state
1364  // (as far as representations added/removed goes) before rendering.
1366 
1367  // In mega-bytes.
1371 
1375 
1376  bool UseFXAA;
1378 
1380 
1381  bool UseSSAO;
1383  double Radius;
1385  double Bias;
1386  bool Blur;
1387 
1390 
1396 
1397  vtkTypeUInt32 StillRenderProcesses;
1399 
1405 
1407 
1408 private:
1409  vtkPVRenderView(const vtkPVRenderView&) = delete;
1410  void operator=(const vtkPVRenderView&) = delete;
1411 
1412  bool MakingSelection;
1413  int PreviousSwapBuffers;
1414  void OnSelectionChangedEvent();
1415  void OnPolygonSelectionEvent();
1416  void FinishSelection(vtkSelection*, const char*);
1417 
1419 
1423  void AddAnnotationToView(vtkProp*);
1424  void RemoveAnnotationFromView(vtkProp*);
1426 
1427  // This flag is set to false when not all processes cannot render e.g. cannot
1428  // open the DISPLAY etc.
1429  bool RemoteRenderingAvailable;
1430 
1431  // Flags used to maintain rendering modes requested by representations.
1432  bool DistributedRenderingRequired;
1433  bool NonDistributedRenderingRequired;
1434  bool DistributedRenderingRequiredLOD;
1435  bool NonDistributedRenderingRequiredLOD;
1436 
1437  // Cached value for parallel projection set on camera.
1438  int ParallelProjection;
1439 
1440  // Cached state. Is currently ignored for distributed rendering.
1441  bool UseHiddenLineRemoval;
1442 
1443  class vtkInternals;
1444  vtkInternals* Internals;
1445 
1446  vtkNew<vtkTextRepresentation> Annotation;
1447  void UpdateAnnotationText();
1448 
1449  vtkNew<vtkOrderedCompositingHelper> OrderedCompositingHelper;
1450 
1451  int StereoType;
1452  int ServerStereoType;
1453  void UpdateStereoProperties();
1454 
1455  int BackgroundColorMode;
1456  bool UseEnvironmentLighting;
1457  bool UseRenderViewSettingsForBackground;
1458  double Background[3];
1459  double Background2[3];
1460  double SkyboxRotation[3];
1461 
1463  vtkNew<vtkTimerLog> Timer;
1464 
1465  int ForceDataDistributionMode;
1466  int PreviousDiscreteCameraIndex;
1467  vtkSmartPointer<vtkTexture> EnvironmentalBGTexture;
1468  bool UseTexturedEnvironmentalBG;
1469 };
1470 
1471 #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