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;
54 class vtkRenderer;
55 class vtkRenderViewBase;
56 class vtkRenderWindow;
58 class vtkSkybox;
60 class vtkTexture;
61 class vtkTimerLog;
63 
65 {
66  //*****************************************************************
67 public:
68  static vtkPVRenderView* New();
69  vtkTypeMacro(vtkPVRenderView, vtkPVView);
70  void PrintSelf(ostream& os, vtkIndent indent) override;
71 
73  {
74  INTERACTION_MODE_UNINTIALIZED = -1,
75  INTERACTION_MODE_3D = 0,
76  INTERACTION_MODE_2D, // not implemented yet.
79  INTERACTION_MODE_POLYGON
80  };
81 
83 
94  virtual void SetInteractionMode(int mode);
95  vtkGetMacro(InteractionMode, int);
97 
99 
103  void SetSize(int, int) override;
104  void SetPosition(int, int) override;
106 
108 
113  vtkGetObjectMacro(NonCompositedRenderer, vtkRenderer);
115 
119  enum
120  {
121  DEFAULT_RENDERER = 0,
122  NON_COMPOSITED_RENDERER = 1,
123  };
124 
130  virtual vtkRenderer* GetRenderer(int rendererType = DEFAULT_RENDERER);
131 
133 
137  vtkCamera* GetActiveCamera();
138  virtual void SetActiveCamera(vtkCamera*);
140 
144  vtkRenderWindowInteractor* GetInteractor();
145 
151  virtual void SetupInteractor(vtkRenderWindowInteractor*);
152 
154 
157  vtkGetObjectMacro(InteractorStyle, vtkPVInteractorStyle);
159 
161 
167  void ResetCamera();
168  void ResetCamera(double bounds[6]);
169  void ResetCameraScreenSpace(double offsetRatio = 0.9);
170  void ResetCameraScreenSpace(double* bounds, double offsetRatio = 0.9);
171  // void ResetCameraScreenSpace(double offsetRatio, double bounds[6]);
173 
175 
181  double* ComputeVisibleBounds(vtkPVDataRepresentation* pvrepr) VTK_SIZEHINT(6);
182  double LastRepresentationVisibleBounds[6];
184 
190  void StillRender() override;
191 
198  void InteractiveRender() override;
199 
201 
209  vtkSetMacro(SuppressRendering, bool);
210  vtkGetMacro(SuppressRendering, bool);
211  vtkBooleanMacro(SuppressRendering, bool);
213 
215 
223  vtkSetClampMacro(StillRenderImageReductionFactor, int, 1, 20);
224  vtkGetMacro(StillRenderImageReductionFactor, int);
226 
228 
234  vtkSetClampMacro(InteractiveRenderImageReductionFactor, int, 1, 20);
235  vtkGetMacro(InteractiveRenderImageReductionFactor, int);
237 
239 
244  vtkSetMacro(RemoteRenderingThreshold, double);
245  vtkGetMacro(RemoteRenderingThreshold, double);
247 
249 
254  vtkSetMacro(LODRenderingThreshold, double);
255  vtkGetMacro(LODRenderingThreshold, double);
257 
259 
265  vtkSetClampMacro(LODResolution, double, 0.0, 1.0);
266  vtkGetMacro(LODResolution, double);
268 
270 
276  vtkSetMacro(UseOutlineForLODRendering, bool);
277  vtkGetMacro(UseOutlineForLODRendering, bool);
279 
288  void ConfigureCompressor(const char* configuration);
289 
294  virtual void ResetCameraClippingRange();
295 
297 
301  void SetUseLightKit(bool enable);
302  vtkGetMacro(UseLightKit, bool);
303  vtkBooleanMacro(UseLightKit, bool);
305 
307  void StreamingUpdate(const double view_planes[24]);
308  void DeliverStreamedPieces(unsigned int size, unsigned int* representation_ids);
310 
314  static vtkInformationIntegerKey* USE_LOD();
315 
319  static vtkInformationDoubleKey* LOD_RESOLUTION();
320 
325  static vtkInformationIntegerKey* USE_OUTLINE_FOR_LOD();
326 
333  static vtkInformationIntegerKey* RENDER_EMPTY_IMAGES();
334 
339  static vtkInformationIntegerKey* NEED_ORDERED_COMPOSITING();
340 
345  static vtkInformationDoubleVectorKey* VIEW_PLANES();
346 
350  static vtkInformationRequestKey* REQUEST_STREAMING_UPDATE();
351 
355  static vtkInformationRequestKey* REQUEST_PROCESS_STREAMED_PIECE();
356 
358 
365  void SelectCells(int region[4], const char* array = nullptr);
366  void SelectCells(int region0, int region1, int region2, int region3, const char* array = nullptr)
367  {
368  int r[4] = { region0, region1, region2, region3 };
369  this->SelectCells(r, array);
370  }
371  void SelectPoints(int region[4], const char* array = nullptr);
372  void SelectPoints(int region0, int region1, int region2, int region3, const char* array = nullptr)
373  {
374  int r[4] = { region0, region1, region2, region3 };
375  this->SelectPoints(r, array);
376  }
377  void Select(int field_association, int region[4], const char* array = nullptr);
379 
381 
391  void SelectPolygonPoints(int* polygon2DArray, vtkIdType arrayLen);
392  void SelectPolygonCells(int* polygon2DArray, vtkIdType arrayLen);
393  void SelectPolygon(int field_association, int* polygon2DArray, vtkIdType arrayLen);
395 
397 
401  vtkGetObjectMacro(LastSelection, vtkSelection);
403 
405 
409  vtkSetMacro(UseInteractiveRenderingForScreenshots, bool);
410  vtkBooleanMacro(UseInteractiveRenderingForScreenshots, bool);
411  vtkGetMacro(UseInteractiveRenderingForScreenshots, bool);
413 
415 
418  vtkGetMacro(RemoteRenderingAvailable, bool);
419  void RemoteRenderingAvailableOff() { this->RemoteRenderingAvailable = false; }
421 
423 
426  void NVPipeAvailableOn();
427  void NVPipeAvailableOff();
429 
431 
434  vtkGetMacro(UsedLODForLastRender, bool);
436 
442  void InvalidateCachedSelection();
443 
445 
450  static vtkAlgorithmOutput* GetPieceProducer(
452  static vtkAlgorithmOutput* GetPieceProducerLOD(
453  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
454  static void SetRedistributionMode(
455  vtkInformation* info, vtkPVDataRepresentation* repr, int mode, int port = 0);
456  static void SetRedistributionModeToSplitBoundaryCells(
457  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
458  static void SetRedistributionModeToDuplicateBoundaryCells(
459  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
460  static void SetRedistributionModeToUniquelyAssignBoundaryCells(
461  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
462  static void SetGeometryBounds(vtkInformation* info, vtkPVDataRepresentation* repr,
463  const double bounds[6], vtkMatrix4x4* transform = nullptr, int port = 0);
464  static void SetStreamable(vtkInformation* info, vtkPVDataRepresentation* repr, bool streamable);
465  static void SetNextStreamedPiece(
467  static vtkDataObject* GetCurrentStreamedPiece(
470 
472 
499  enum
500  {
501  USE_BOUNDS_FOR_REDISTRIBUTION = 0x01,
502  DATA_IS_REDISTRIBUTABLE = 0x02,
503  USE_DATA_FOR_LOAD_BALANCING = 0x40,
504  };
505  static void SetOrderedCompositingConfiguration(vtkInformation* info,
506  vtkPVDataRepresentation* repr, int config, const double* bounds = nullptr, int port = 0);
508 
513  void SetMaxClipBounds(double bds[6]);
514 
516 
520  void SetLockBounds(bool nv);
521  vtkGetMacro(LockBounds, bool);
523 
529  static void SetDeliverToAllProcesses(
530  vtkInformation* info, vtkPVDataRepresentation* repr, bool clone);
531 
541  static void SetDeliverToClientAndRenderingProcesses(vtkInformation* info,
542  vtkPVDataRepresentation* repr, bool deliver_to_client, bool gather_before_delivery,
543  int port = 0);
544 
546 
554  static void SetRequiresDistributedRendering(
555  vtkInformation* info, vtkPVDataRepresentation* repr, bool value, bool for_lod = false);
557  vtkInformation* info, vtkPVDataRepresentation* repr, bool value)
558  {
559  vtkPVRenderView::SetRequiresDistributedRendering(info, repr, value, true);
560  }
562 
564 
576  static void SetForceDataDistributionMode(vtkInformation* info, int flag);
577  bool IsForceDataDistributionModeSet() const { return this->ForceDataDistributionMode != -1; }
578  int GetForceDataDistributionMode() const { return this->ForceDataDistributionMode; }
580 
582 
587  int RegisterPropForHardwareSelection(vtkPVDataRepresentation* repr, vtkProp* prop);
588  void UnRegisterPropForHardwareSelection(vtkPVDataRepresentation* repr, vtkProp* prop);
590 
592 
595  void SetShowAnnotation(bool val);
596  vtkSetMacro(UpdateAnnotation, bool);
598 
600 
603  void SetAnnotationColor(double r, double g, double b);
605 
609  virtual void SetGridAxes3DActor(vtkPVGridAxes3DActor*);
610 
614  virtual void SetLegendGridActor(vtkLegendScaleActor*);
615 
619  virtual void SetPolarGridActor(vtkPolarAxesActor2D*);
620 
622 
625  virtual void SetOrientationAxesInteractivity(bool);
626  virtual void SetOrientationAxesVisibility(bool);
627 
628  void SetOrientationAxesLabelColor(double r, double g, double b);
629  void SetOrientationAxesOutlineColor(double r, double g, double b);
630 
631  void SetOrientationAxesXColor(double r, double g, double b);
632  void SetOrientationAxesYColor(double r, double g, double b);
633  void SetOrientationAxesZColor(double r, double g, double b);
634 
635  void SetOrientationAxesXVisibility(bool vis);
636  void SetOrientationAxesYVisibility(bool vis);
637  void SetOrientationAxesZVisibility(bool vis);
638 
639  void SetOrientationAxesXLabelText(const char* text);
640  void SetOrientationAxesYLabelText(const char* text);
641  void SetOrientationAxesZLabelText(const char* text);
643 
645 
648  void SetCameraOrientationWidgetVisibility(bool visible);
649  void SetCameraOrientationWidgetSize(int size);
650  void SetCameraOrientationWidgetPadding(int padding[2]);
651  void SetCameraOrientationWidgetAnchor(int anchor);
653 
657  virtual void SetCenterAxesVisibility(bool);
658 
659  virtual void SetCenterAxesXColor(double r, double g, double b);
660  virtual void SetCenterAxesYColor(double r, double g, double b);
661  virtual void SetCenterAxesZColor(double r, double g, double b);
662 
664 
667  virtual void SetCenterOfRotation(double x, double y, double z);
668  virtual void SetRotationFactor(double factor);
670 
672 
675  void SetKeyLightWarmth(double val);
676  void SetKeyLightIntensity(double val);
677  void SetKeyLightElevation(double val);
678  void SetKeyLightAzimuth(double val);
679  void SetFillLightWarmth(double val);
680  void SetKeyToFillRatio(double val);
681  void SetFillLightElevation(double val);
682  void SetFillLightAzimuth(double val);
683  void SetBackLightWarmth(double val);
684  void SetKeyToBackRatio(double val);
685  void SetBackLightElevation(double val);
686  void SetBackLightAzimuth(double val);
687  void SetHeadLightWarmth(double val);
688  void SetKeyToHeadRatio(double val);
689  void SetMaintainLuminance(int val);
691 
693 
696  vtkSetMacro(UseHiddenLineRemoval, bool);
697  virtual void SetUseDepthPeeling(int val);
698  virtual void SetUseDepthPeelingForVolumes(bool val);
699  virtual void SetMaximumNumberOfPeels(int val);
700  virtual void SetBackgroundTexture(vtkTexture* val);
702 
704 
708  vtkSetMacro(UseRenderViewSettingsForBackground, bool);
709  vtkGetMacro(UseRenderViewSettingsForBackground, bool);
711 
713  {
719  };
720 
722 
727  vtkSetClampMacro(BackgroundColorMode, int, DEFAULT, STEREO_SKYBOX);
728  vtkSetVector3Macro(Background, double);
729  vtkGetVector3Macro(Background, double);
730  vtkSetVector3Macro(Background2, double);
731  vtkGetVector3Macro(Background2, double);
732  vtkSetMacro(UseEnvironmentLighting, bool);
733 
737  virtual void SetSkyboxRotation(double x, double y, double z);
738  vtkGetVector3Macro(SkyboxRotation, double);
740 
742 
745  virtual void SetEnvironmentalBG(double r, double g, double b);
746  virtual void SetEnvironmentalBG2(double r, double g, double b);
747  virtual void SetEnvironmentalBGTexture(vtkTexture* val);
748  virtual void SetGradientEnvironmentalBG(int val);
749  virtual void SetTexturedEnvironmentalBG(int val);
750  virtual void SetBackgroundMode(int val);
752 
754 
757  void AddLight(vtkLight*);
758  void RemoveLight(vtkLight*);
760 
762 
765  void SetStereoCapableWindow(int val);
766  void SetStereoRender(int val);
767  vtkSetMacro(StereoType, int);
768  vtkSetMacro(ServerStereoType, int);
769  void SetMultiSamples(int val);
770  void SetAlphaBitPlanes(int val);
771  void SetStencilCapable(int val);
772  void SetPhysicalToWorldMatrix(const double[16]);
774 
778  void SetParallelProjection(int mode);
779 
781 
784  virtual void SetCamera2DManipulators(const int manipulators[9]);
785  virtual void SetCamera3DManipulators(const int manipulators[9]);
786  void SetCameraManipulators(vtkPVInteractorStyle* style, const int manipulators[9]);
787  virtual void SetReverseMouseWheelZoomDirection(bool reverse);
788  virtual void SetMouseWheelZoomsToCursor(bool value);
789  virtual void SetCamera2DMouseWheelMotionFactor(double factor);
790  virtual void SetCamera3DMouseWheelMotionFactor(double factor);
792 
798  virtual void SynchronizeGeometryBounds();
799 
807  void Update() override;
808 
812  virtual void UpdateLOD();
813 
815 
820  vtkGetMacro(UseLODForInteractiveRender, bool);
822 
824 
829  vtkGetMacro(UseDistributedRenderingForRender, bool);
831 
833 
838  vtkGetMacro(UseDistributedRenderingForLODRender, bool);
840 
842 
847  vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
849 
851 
856  vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
858 
862  int GetDataDistributionMode(bool low_res);
863 
869  void Deliver(int use_lod, unsigned int size, unsigned int* representation_ids) override;
870 
879  bool GetUseOrderedCompositing();
880 
885  bool GetRenderEmptyImages();
886 
888 
891  vtkSetMacro(UseFXAA, bool);
892  vtkGetMacro(UseFXAA, bool);
894 
896 
899  void SetFXAARelativeContrastThreshold(double val);
900  void SetFXAAHardContrastThreshold(double val);
901  void SetFXAASubpixelBlendLimit(double val);
902  void SetFXAASubpixelContrastThreshold(double val);
903  void SetFXAAUseHighQualityEndpoints(bool val);
904  void SetFXAAEndpointSearchIterations(int val);
906 
911  {
912  Custom = 0,
913  Default = 1,
914  Uncharted2 = 2
915  };
916 
918 
921  void SetUseToneMapping(bool v);
922  vtkGetMacro(UseToneMapping, bool);
923  void SetToneMappingType(int);
924  void SetExposure(double);
925  void SetContrast(double);
926  void SetShoulder(double);
927  void SetMidIn(double);
928  void SetMidOut(double);
929  void SetHdrMax(double);
930  void SetUseACES(bool);
931  void SetGenericFilmicPresets(int t);
933 
935 
938  vtkSetMacro(UseSSAO, bool);
939  vtkGetMacro(UseSSAO, bool);
940  vtkSetMacro(UseSSAODefaultPresets, bool);
941  vtkSetMacro(Radius, double);
942  vtkSetMacro(KernelSize, int);
943  vtkSetMacro(Bias, double);
944  vtkSetMacro(Blur, bool);
946 
953  void CopyViewUpdateOptions(vtkPVRenderView* otherView);
954 
956 
959  void AddPropToRenderer(vtkProp* prop);
960  void RemovePropFromRenderer(vtkProp* prop);
962 
964 
978  bool BeginValuePassForRendering(int fieldAssociation, const char* arrayName, int component);
979  void EndValuePassForRendering();
980  vtkSmartPointer<vtkFloatArray> GrabValuePassResult();
982 
984 
987  void CaptureZBuffer();
988  vtkFloatArray* GetCapturedZBuffer();
990 
992 
997  void SetEnableSynchronizableActors(bool);
998  bool GetEnableSynchronizableActors();
1000 
1002 
1005  void SetEnableOSPRay(bool);
1006  bool GetEnableOSPRay();
1008 
1010 
1013  void SetEnableANARI(bool);
1014  bool GetEnableANARI();
1016 
1018 
1021  void SetANARILibrary(std::string);
1022  const char* GetANARILibrary();
1024 
1026 
1029  void SetANARIRenderer(std::string);
1030  const char* GetANARIRenderer();
1032 
1034 
1037  void SetShadows(bool);
1038  bool GetShadows();
1041 
1044  void SetAmbientOcclusionSamples(int);
1045  int GetAmbientOcclusionSamples();
1048 
1051  void SetRouletteDepth(int);
1052  int GetRouletteDepth();
1054 
1056 
1059  void SetSamplesPerPixel(int);
1060  int GetSamplesPerPixel();
1063 
1066  void SetMaxFrames(int);
1067  int GetMaxFrames();
1069 
1072  bool GetOSPRayContinueStreaming();
1074 
1077  void SetDenoise(bool);
1078  bool GetDenoise();
1080 
1082 
1085  void SetLightScale(double);
1086  double GetLightScale();
1088 
1092  void SetOSPRayRendererType(std::string);
1094 
1097  void SetBackgroundNorth(double x, double y, double z);
1098  void SetBackgroundEast(double x, double y, double z);
1100 
1103  virtual void SetMaterialLibrary(vtkPVMaterialLibrary*);
1104  void SetViewTime(double value) override;
1106 
1109  void SetTimeCacheSize(int);
1110  int GetTimeCacheSize();
1112 
1114 
1138  static vtkPVCameraCollection* GetDiscreteCameras(
1140  static void SetDiscreteCameras(
1143 
1144  // Get the RenderViewBase used by this
1145  vtkGetObjectMacro(RenderView, vtkRenderViewBase);
1146 
1150  void ScaleRendererViewports(const double viewport[4]) override;
1151 
1156  void SynchronizeMaximumIds(vtkIdType* maxPointId, vtkIdType* maxCellId);
1157 
1161  void SetHardwareSelector(vtkPVHardwareSelector* selector);
1162 
1163 protected:
1164  vtkPVRenderView();
1165  ~vtkPVRenderView() override;
1166 
1170  virtual void Render(bool interactive, bool skip_rendering);
1171 
1176  virtual void AboutToRenderOnLocalProcess(bool interactive) { (void)interactive; }
1177 
1184  bool ShouldUseDistributedRendering(double geometry_size, bool using_lod);
1185 
1189  bool ShouldUseLODRendering(double geometry);
1190 
1195  bool IsProcessRenderingGeometriesForCompositing(bool using_distributed_rendering);
1196 
1200  void SetLastSelection(vtkSelection*);
1201 
1206  virtual void UpdateCenterAxes();
1207 
1212  bool GetLocalProcessDoesRendering(bool using_distributed_rendering);
1213 
1218  bool TestCollaborationCounter();
1219 
1224  void SynchronizeForCollaboration();
1225 
1230  virtual void BuildAnnotationText(ostream& str);
1231 
1233 
1237  vtkGetMacro(SynchronizationCounter, unsigned int);
1239 
1241 
1244  vtkGetMacro(MakingSelection, bool);
1246 
1251  virtual bool PrepareSelect(int fieldAssociation, const char* array = nullptr);
1252 
1256  virtual void PostSelect(vtkSelection* sel, const char* array = nullptr);
1257 
1262  virtual void UpdateBackground(vtkRenderer* renderer = nullptr);
1263 
1267  void ConfigureTexture(vtkTexture* texture);
1268 
1274  virtual void SetupAndSetRenderer(vtkRenderer* ren);
1275 
1293 
1299 
1300  // this ivar can be used to suppress the render within
1301  // a StillRender or InteractiveRender. This is useful
1302  // in cases where you want the representations mappers
1303  // to be setup for rendering and have their data ready
1304  // but not actually do the render. For example if you
1305  // want to export the scene but not render it you must
1306  // turn on SuppressRendering and then call StillRender
1308 
1309  // 2D and 3D interactor style
1312 
1313  bool ReverseMouseWheelZoomDirection = false;
1314 
1315  // Active interactor style either [TwoDInteractorStyle, ThreeDInteractorStyle]
1317 
1319 
1320  // Used in collaboration mode to ensure that views are in the same state
1321  // (as far as representations added/removed goes) before rendering.
1323 
1324  // In mega-bytes.
1328 
1332 
1333  bool UseFXAA;
1335 
1337 
1338  bool UseSSAO;
1340  double Radius;
1342  double Bias;
1343  bool Blur;
1344 
1347 
1353 
1354  vtkTypeUInt32 StillRenderProcesses;
1356 
1362 
1364 
1365 private:
1366  vtkPVRenderView(const vtkPVRenderView&) = delete;
1367  void operator=(const vtkPVRenderView&) = delete;
1368 
1369  bool MakingSelection;
1370  int PreviousSwapBuffers;
1371  void OnSelectionChangedEvent();
1372  void OnPolygonSelectionEvent();
1373  void FinishSelection(vtkSelection*, const char*);
1374 
1376 
1380  void AddAnnotationToView(vtkProp*);
1381  void RemoveAnnotationFromView(vtkProp*);
1383 
1384  // This flag is set to false when not all processes cannot render e.g. cannot
1385  // open the DISPLAY etc.
1386  bool RemoteRenderingAvailable;
1387 
1388  // Flags used to maintain rendering modes requested by representations.
1389  bool DistributedRenderingRequired;
1390  bool NonDistributedRenderingRequired;
1391  bool DistributedRenderingRequiredLOD;
1392  bool NonDistributedRenderingRequiredLOD;
1393 
1394  // Cached value for parallel projection set on camera.
1395  int ParallelProjection;
1396 
1397  // Cached state. Is currently ignored for distributed rendering.
1398  bool UseHiddenLineRemoval;
1399 
1400  class vtkInternals;
1401  vtkInternals* Internals;
1402 
1403  vtkNew<vtkTextRepresentation> Annotation;
1404  void UpdateAnnotationText();
1405 
1406  vtkNew<vtkOrderedCompositingHelper> OrderedCompositingHelper;
1407 
1408  int StereoType;
1409  int ServerStereoType;
1410  void UpdateStereoProperties();
1411 
1412  int BackgroundColorMode;
1413  bool UseEnvironmentLighting;
1414  bool UseRenderViewSettingsForBackground;
1415  double Background[3];
1416  double Background2[3];
1417  double SkyboxRotation[3];
1418 
1420  vtkNew<vtkTimerLog> Timer;
1421 
1422  int ForceDataDistributionMode;
1423  int PreviousDiscreteCameraIndex;
1424  vtkSmartPointer<vtkTexture> EnvironmentalBGTexture;
1425  bool UseTexturedEnvironmentalBG;
1426 };
1427 
1428 #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
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