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;
59 class vtkStringArray;
61 class vtkTexture;
62 class vtkTimerLog;
64 
66 {
67  //*****************************************************************
68 public:
69  static vtkPVRenderView* New();
70  vtkTypeMacro(vtkPVRenderView, vtkPVView);
71  void PrintSelf(ostream& os, vtkIndent indent) override;
72 
74  {
75  INTERACTION_MODE_UNINTIALIZED = -1,
76  INTERACTION_MODE_3D = 0,
77  INTERACTION_MODE_2D, // not implemented yet.
80  INTERACTION_MODE_POLYGON
81  };
82 
84 
95  virtual void SetInteractionMode(int mode);
96  vtkGetMacro(InteractionMode, int);
98 
100 
104  void SetSize(int, int) override;
105  void SetPosition(int, int) override;
107 
109 
114  vtkGetObjectMacro(NonCompositedRenderer, vtkRenderer);
116 
120  enum
121  {
122  DEFAULT_RENDERER = 0,
123  NON_COMPOSITED_RENDERER = 1,
124  };
125 
131  virtual vtkRenderer* GetRenderer(int rendererType = DEFAULT_RENDERER);
132 
134 
138  vtkCamera* GetActiveCamera();
139  virtual void SetActiveCamera(vtkCamera*);
141 
145  vtkRenderWindowInteractor* GetInteractor();
146 
152  virtual void SetupInteractor(vtkRenderWindowInteractor*);
153 
155 
158  vtkGetObjectMacro(InteractorStyle, vtkPVInteractorStyle);
160 
162 
168  void ResetCamera();
169  void ResetCamera(double bounds[6]);
170  void ResetCameraScreenSpace(double offsetRatio = 0.9);
171  void ResetCameraScreenSpace(double* bounds, double offsetRatio = 0.9);
172  // void ResetCameraScreenSpace(double offsetRatio, double bounds[6]);
174 
176 
182  double* ComputeVisibleBounds(vtkPVDataRepresentation* pvrepr) VTK_SIZEHINT(6);
183  double LastRepresentationVisibleBounds[6];
185 
191  void StillRender() override;
192 
199  void InteractiveRender() override;
200 
202 
210  vtkSetMacro(SuppressRendering, bool);
211  vtkGetMacro(SuppressRendering, bool);
212  vtkBooleanMacro(SuppressRendering, bool);
214 
216 
224  vtkSetClampMacro(StillRenderImageReductionFactor, int, 1, 20);
225  vtkGetMacro(StillRenderImageReductionFactor, int);
227 
229 
235  vtkSetClampMacro(InteractiveRenderImageReductionFactor, int, 1, 20);
236  vtkGetMacro(InteractiveRenderImageReductionFactor, int);
238 
240 
245  vtkSetMacro(RemoteRenderingThreshold, double);
246  vtkGetMacro(RemoteRenderingThreshold, double);
248 
250 
255  vtkSetMacro(LODRenderingThreshold, double);
256  vtkGetMacro(LODRenderingThreshold, double);
258 
260 
266  vtkSetClampMacro(LODResolution, double, 0.0, 1.0);
267  vtkGetMacro(LODResolution, double);
269 
271 
277  vtkSetMacro(UseOutlineForLODRendering, bool);
278  vtkGetMacro(UseOutlineForLODRendering, bool);
280 
289  void ConfigureCompressor(const char* configuration);
290 
295  virtual void ResetCameraClippingRange();
296 
298 
302  void SetUseLightKit(bool enable);
303  vtkGetMacro(UseLightKit, bool);
304  vtkBooleanMacro(UseLightKit, bool);
306 
308  void StreamingUpdate(const double view_planes[24]);
309  void DeliverStreamedPieces(unsigned int size, unsigned int* representation_ids);
311 
315  static vtkInformationIntegerKey* USE_LOD();
316 
320  static vtkInformationDoubleKey* LOD_RESOLUTION();
321 
326  static vtkInformationIntegerKey* USE_OUTLINE_FOR_LOD();
327 
334  static vtkInformationIntegerKey* RENDER_EMPTY_IMAGES();
335 
340  static vtkInformationIntegerKey* NEED_ORDERED_COMPOSITING();
341 
346  static vtkInformationDoubleVectorKey* VIEW_PLANES();
347 
351  static vtkInformationRequestKey* REQUEST_STREAMING_UPDATE();
352 
356  static vtkInformationRequestKey* REQUEST_PROCESS_STREAMED_PIECE();
357 
359 
366  void SelectCells(int region[4], const char* array = nullptr);
367  void SelectCells(int region0, int region1, int region2, int region3, const char* array = nullptr)
368  {
369  int r[4] = { region0, region1, region2, region3 };
370  this->SelectCells(r, array);
371  }
372  void SelectPoints(int region[4], const char* array = nullptr);
373  void SelectPoints(int region0, int region1, int region2, int region3, const char* array = nullptr)
374  {
375  int r[4] = { region0, region1, region2, region3 };
376  this->SelectPoints(r, array);
377  }
378  void Select(int field_association, int region[4], const char* array = nullptr);
380 
382 
392  void SelectPolygonPoints(int* polygon2DArray, vtkIdType arrayLen);
393  void SelectPolygonCells(int* polygon2DArray, vtkIdType arrayLen);
394  void SelectPolygon(int field_association, int* polygon2DArray, vtkIdType arrayLen);
396 
398 
402  vtkGetObjectMacro(LastSelection, vtkSelection);
404 
406 
410  vtkSetMacro(UseInteractiveRenderingForScreenshots, bool);
411  vtkBooleanMacro(UseInteractiveRenderingForScreenshots, bool);
412  vtkGetMacro(UseInteractiveRenderingForScreenshots, bool);
414 
416 
419  vtkGetMacro(RemoteRenderingAvailable, bool);
420  void RemoteRenderingAvailableOff() { this->RemoteRenderingAvailable = false; }
422 
424 
427  void NVPipeAvailableOn();
428  void NVPipeAvailableOff();
430 
432 
435  vtkGetMacro(UsedLODForLastRender, bool);
437 
443  void InvalidateCachedSelection();
444 
446 
451  static vtkAlgorithmOutput* GetPieceProducer(
453  static vtkAlgorithmOutput* GetPieceProducerLOD(
454  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
455  static void SetRedistributionMode(
456  vtkInformation* info, vtkPVDataRepresentation* repr, int mode, int port = 0);
457  static void SetRedistributionModeToSplitBoundaryCells(
458  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
459  static void SetRedistributionModeToDuplicateBoundaryCells(
460  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
461  static void SetRedistributionModeToUniquelyAssignBoundaryCells(
462  vtkInformation* info, vtkPVDataRepresentation* repr, int port = 0);
463  static void SetGeometryBounds(vtkInformation* info, vtkPVDataRepresentation* repr,
464  const double bounds[6], vtkMatrix4x4* transform = nullptr, int port = 0);
465  static void SetStreamable(vtkInformation* info, vtkPVDataRepresentation* repr, bool streamable);
466  static void SetNextStreamedPiece(
468  static vtkDataObject* GetCurrentStreamedPiece(
471 
473 
500  enum
501  {
502  USE_BOUNDS_FOR_REDISTRIBUTION = 0x01,
503  DATA_IS_REDISTRIBUTABLE = 0x02,
504  USE_DATA_FOR_LOAD_BALANCING = 0x40,
505  };
506  static void SetOrderedCompositingConfiguration(vtkInformation* info,
507  vtkPVDataRepresentation* repr, int config, const double* bounds = nullptr, int port = 0);
509 
514  void SetMaxClipBounds(double bds[6]);
515 
517 
521  void SetLockBounds(bool nv);
522  vtkGetMacro(LockBounds, bool);
524 
530  static void SetDeliverToAllProcesses(
531  vtkInformation* info, vtkPVDataRepresentation* repr, bool clone);
532 
542  static void SetDeliverToClientAndRenderingProcesses(vtkInformation* info,
543  vtkPVDataRepresentation* repr, bool deliver_to_client, bool gather_before_delivery,
544  int port = 0);
545 
547 
555  static void SetRequiresDistributedRendering(
556  vtkInformation* info, vtkPVDataRepresentation* repr, bool value, bool for_lod = false);
558  vtkInformation* info, vtkPVDataRepresentation* repr, bool value)
559  {
560  vtkPVRenderView::SetRequiresDistributedRendering(info, repr, value, true);
561  }
563 
565 
577  static void SetForceDataDistributionMode(vtkInformation* info, int flag);
578  bool IsForceDataDistributionModeSet() const { return this->ForceDataDistributionMode != -1; }
579  int GetForceDataDistributionMode() const { return this->ForceDataDistributionMode; }
581 
583 
588  int RegisterPropForHardwareSelection(vtkPVDataRepresentation* repr, vtkProp* prop);
589  void UnRegisterPropForHardwareSelection(vtkPVDataRepresentation* repr, vtkProp* prop);
591 
593 
596  void SetShowAnnotation(bool val);
597  vtkSetMacro(UpdateAnnotation, bool);
599 
601 
604  void SetAnnotationColor(double r, double g, double b);
606 
610  virtual void SetGridAxes3DActor(vtkPVGridAxes3DActor*);
611 
615  virtual void SetLegendGridActor(vtkLegendScaleActor*);
616 
620  virtual void SetPolarGridActor(vtkPolarAxesActor2D*);
621 
623 
626  virtual void SetOrientationAxesInteractivity(bool);
627  virtual void SetOrientationAxesVisibility(bool);
628 
629  void SetOrientationAxesLabelColor(double r, double g, double b);
630  void SetOrientationAxesOutlineColor(double r, double g, double b);
631 
632  void SetOrientationAxesXColor(double r, double g, double b);
633  void SetOrientationAxesYColor(double r, double g, double b);
634  void SetOrientationAxesZColor(double r, double g, double b);
635 
636  void SetOrientationAxesXVisibility(bool vis);
637  void SetOrientationAxesYVisibility(bool vis);
638  void SetOrientationAxesZVisibility(bool vis);
639 
640  void SetOrientationAxesXLabelText(const char* text);
641  void SetOrientationAxesYLabelText(const char* text);
642  void SetOrientationAxesZLabelText(const char* text);
644 
646 
649  void SetCameraOrientationWidgetVisibility(bool visible);
650  void SetCameraOrientationWidgetSize(int size);
651  void SetCameraOrientationWidgetPadding(int padding[2]);
652  void SetCameraOrientationWidgetAnchor(int anchor);
654 
658  virtual void SetCenterAxesVisibility(bool);
659 
660  virtual void SetCenterAxesXColor(double r, double g, double b);
661  virtual void SetCenterAxesYColor(double r, double g, double b);
662  virtual void SetCenterAxesZColor(double r, double g, double b);
663 
665 
668  virtual void SetCenterOfRotation(double x, double y, double z);
669  virtual void SetRotationFactor(double factor);
671 
673 
676  void SetKeyLightWarmth(double val);
677  void SetKeyLightIntensity(double val);
678  void SetKeyLightElevation(double val);
679  void SetKeyLightAzimuth(double val);
680  void SetFillLightWarmth(double val);
681  void SetKeyToFillRatio(double val);
682  void SetFillLightElevation(double val);
683  void SetFillLightAzimuth(double val);
684  void SetBackLightWarmth(double val);
685  void SetKeyToBackRatio(double val);
686  void SetBackLightElevation(double val);
687  void SetBackLightAzimuth(double val);
688  void SetHeadLightWarmth(double val);
689  void SetKeyToHeadRatio(double val);
690  void SetMaintainLuminance(int val);
692 
694 
697  vtkSetMacro(UseHiddenLineRemoval, bool);
698  virtual void SetUseDepthPeeling(int val);
699  virtual void SetUseDepthPeelingForVolumes(bool val);
700  virtual void SetMaximumNumberOfPeels(int val);
701  virtual void SetBackgroundTexture(vtkTexture* val);
703 
705 
709  vtkSetMacro(UseRenderViewSettingsForBackground, bool);
710  vtkGetMacro(UseRenderViewSettingsForBackground, bool);
712 
714  {
720  };
721 
723 
728  vtkSetClampMacro(BackgroundColorMode, int, DEFAULT, STEREO_SKYBOX);
729  vtkSetVector3Macro(Background, double);
730  vtkGetVector3Macro(Background, double);
731  vtkSetVector3Macro(Background2, double);
732  vtkGetVector3Macro(Background2, double);
733  vtkSetMacro(UseEnvironmentLighting, bool);
734 
738  virtual void SetSkyboxRotation(double x, double y, double z);
739  vtkGetVector3Macro(SkyboxRotation, double);
741 
743 
746  virtual void SetEnvironmentalBG(double r, double g, double b);
747  virtual void SetEnvironmentalBG2(double r, double g, double b);
748  virtual void SetEnvironmentalBGTexture(vtkTexture* val);
749  virtual void SetGradientEnvironmentalBG(int val);
750  virtual void SetTexturedEnvironmentalBG(int val);
751  virtual void SetBackgroundMode(int val);
753 
755 
758  void AddLight(vtkLight*);
759  void RemoveLight(vtkLight*);
761 
763 
766  void SetStereoCapableWindow(int val);
767  void SetStereoRender(int val);
768  vtkSetMacro(StereoType, int);
769  vtkSetMacro(ServerStereoType, int);
770  void SetMultiSamples(int val);
771  void SetAlphaBitPlanes(int val);
772  void SetStencilCapable(int val);
773  void SetPhysicalToWorldMatrix(const double[16]);
775 
779  void SetParallelProjection(int mode);
780 
782 
785  virtual void SetCamera2DManipulators(const int manipulators[9]);
786  virtual void SetCamera3DManipulators(const int manipulators[9]);
787  void SetCameraManipulators(vtkPVInteractorStyle* style, const int manipulators[9]);
788  virtual void SetReverseMouseWheelZoomDirection(bool reverse);
789  virtual void SetMouseWheelZoomsToCursor(bool value);
790  virtual void SetCamera2DMouseWheelMotionFactor(double factor);
791  virtual void SetCamera3DMouseWheelMotionFactor(double factor);
793 
799  virtual void SynchronizeGeometryBounds();
800 
808  void Update() override;
809 
813  virtual void UpdateLOD();
814 
816 
821  vtkGetMacro(UseLODForInteractiveRender, bool);
823 
825 
830  vtkGetMacro(UseDistributedRenderingForRender, bool);
832 
834 
839  vtkGetMacro(UseDistributedRenderingForLODRender, bool);
841 
843 
848  vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
850 
852 
857  vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
859 
863  int GetDataDistributionMode(bool low_res);
864 
870  void Deliver(int use_lod, unsigned int size, unsigned int* representation_ids) override;
871 
880  bool GetUseOrderedCompositing();
881 
886  bool GetRenderEmptyImages();
887 
889 
892  vtkSetMacro(UseFXAA, bool);
893  vtkGetMacro(UseFXAA, bool);
895 
897 
900  void SetFXAARelativeContrastThreshold(double val);
901  void SetFXAAHardContrastThreshold(double val);
902  void SetFXAASubpixelBlendLimit(double val);
903  void SetFXAASubpixelContrastThreshold(double val);
904  void SetFXAAUseHighQualityEndpoints(bool val);
905  void SetFXAAEndpointSearchIterations(int val);
907 
912  {
913  Custom = 0,
914  Default = 1,
915  Uncharted2 = 2
916  };
917 
919 
922  void SetUseToneMapping(bool v);
923  vtkGetMacro(UseToneMapping, bool);
924  void SetToneMappingType(int);
925  void SetExposure(double);
926  void SetContrast(double);
927  void SetShoulder(double);
928  void SetMidIn(double);
929  void SetMidOut(double);
930  void SetHdrMax(double);
931  void SetUseACES(bool);
932  void SetGenericFilmicPresets(int t);
934 
936 
939  vtkSetMacro(UseSSAO, bool);
940  vtkGetMacro(UseSSAO, bool);
941  vtkSetMacro(UseSSAODefaultPresets, bool);
942  vtkSetMacro(Radius, double);
943  vtkSetMacro(KernelSize, int);
944  vtkSetMacro(Bias, double);
945  vtkSetMacro(Blur, bool);
947 
954  void CopyViewUpdateOptions(vtkPVRenderView* otherView);
955 
957 
960  void AddPropToRenderer(vtkProp* prop);
961  void RemovePropFromRenderer(vtkProp* prop);
963 
965 
979  bool BeginValuePassForRendering(int fieldAssociation, const char* arrayName, int component);
980  void EndValuePassForRendering();
981  vtkSmartPointer<vtkFloatArray> GrabValuePassResult();
983 
985 
988  void CaptureZBuffer();
989  vtkFloatArray* GetCapturedZBuffer();
991 
993 
998  void SetEnableSynchronizableActors(bool);
999  bool GetEnableSynchronizableActors();
1001 
1003 
1006  void SetEnableOSPRay(bool);
1007  bool GetEnableOSPRay();
1009 
1011 
1014  void SetEnableANARI(bool);
1015  bool GetEnableANARI();
1017 
1019 
1022  void SetANARILibrary(std::string);
1023  const char* GetANARILibrary();
1025 
1027 
1030  void SetANARIRenderer(std::string);
1031  const char* GetANARIRenderer();
1035  vtkStringArray* GetANARIRendererNames();
1037 
1039 
1046  std::string GetANARIRendererParameters();
1051  void SetANARIRendererParameter(const std::string& name, int type, const std::string& value);
1053 
1055 
1058  void SetShadows(bool);
1059  bool GetShadows();
1062 
1065  void SetAmbientOcclusionSamples(int);
1066  int GetAmbientOcclusionSamples();
1069 
1072  void SetRouletteDepth(int);
1073  int GetRouletteDepth();
1075 
1077 
1080  void SetSamplesPerPixel(int);
1081  int GetSamplesPerPixel();
1084 
1087  void SetMaxFrames(int);
1088  int GetMaxFrames();
1090 
1093  bool GetOSPRayContinueStreaming();
1095 
1098  void SetDenoise(bool);
1099  bool GetDenoise();
1101 
1103 
1106  void SetLightScale(double);
1107  double GetLightScale();
1109 
1113  void SetOSPRayRendererType(std::string);
1115 
1118  void SetBackgroundNorth(double x, double y, double z);
1119  void SetBackgroundEast(double x, double y, double z);
1121 
1124  virtual void SetMaterialLibrary(vtkPVMaterialLibrary*);
1125  void SetViewTime(double value) override;
1127 
1130  void SetTimeCacheSize(int);
1131  int GetTimeCacheSize();
1133 
1135 
1159  static vtkPVCameraCollection* GetDiscreteCameras(
1161  static void SetDiscreteCameras(
1164 
1165  // Get the RenderViewBase used by this
1166  vtkGetObjectMacro(RenderView, vtkRenderViewBase);
1167 
1171  void ScaleRendererViewports(const double viewport[4]) override;
1172 
1177  void SynchronizeMaximumIds(vtkIdType* maxPointId, vtkIdType* maxCellId);
1178 
1182  void SetHardwareSelector(vtkPVHardwareSelector* selector);
1183 
1184 protected:
1185  vtkPVRenderView();
1186  ~vtkPVRenderView() override;
1187 
1191  virtual void Render(bool interactive, bool skip_rendering);
1192 
1197  virtual void AboutToRenderOnLocalProcess(bool interactive) { (void)interactive; }
1198 
1205  bool ShouldUseDistributedRendering(double geometry_size, bool using_lod);
1206 
1210  bool ShouldUseLODRendering(double geometry);
1211 
1216  bool IsProcessRenderingGeometriesForCompositing(bool using_distributed_rendering);
1217 
1221  void SetLastSelection(vtkSelection*);
1222 
1227  virtual void UpdateCenterAxes();
1228 
1233  bool GetLocalProcessDoesRendering(bool using_distributed_rendering);
1234 
1239  bool TestCollaborationCounter();
1240 
1245  void SynchronizeForCollaboration();
1246 
1251  virtual void BuildAnnotationText(ostream& str);
1252 
1254 
1258  vtkGetMacro(SynchronizationCounter, unsigned int);
1260 
1262 
1265  vtkGetMacro(MakingSelection, bool);
1267 
1272  virtual bool PrepareSelect(int fieldAssociation, const char* array = nullptr);
1273 
1277  virtual void PostSelect(vtkSelection* sel, const char* array = nullptr);
1278 
1283  virtual void UpdateBackground(vtkRenderer* renderer = nullptr);
1284 
1288  void ConfigureTexture(vtkTexture* texture);
1289 
1295  virtual void SetupAndSetRenderer(vtkRenderer* ren);
1296 
1314 
1320 
1321  // this ivar can be used to suppress the render within
1322  // a StillRender or InteractiveRender. This is useful
1323  // in cases where you want the representations mappers
1324  // to be setup for rendering and have their data ready
1325  // but not actually do the render. For example if you
1326  // want to export the scene but not render it you must
1327  // turn on SuppressRendering and then call StillRender
1329 
1330  // 2D and 3D interactor style
1333 
1334  bool ReverseMouseWheelZoomDirection = false;
1335 
1336  // Active interactor style either [TwoDInteractorStyle, ThreeDInteractorStyle]
1338 
1340 
1341  // Used in collaboration mode to ensure that views are in the same state
1342  // (as far as representations added/removed goes) before rendering.
1344 
1345  // In mega-bytes.
1349 
1353 
1354  bool UseFXAA;
1356 
1358 
1359  bool UseSSAO;
1361  double Radius;
1363  double Bias;
1364  bool Blur;
1365 
1368 
1374 
1375  vtkTypeUInt32 StillRenderProcesses;
1377 
1383 
1385 
1386 private:
1387  vtkPVRenderView(const vtkPVRenderView&) = delete;
1388  void operator=(const vtkPVRenderView&) = delete;
1389 
1390  bool MakingSelection;
1391  int PreviousSwapBuffers;
1392  void OnSelectionChangedEvent();
1393  void OnPolygonSelectionEvent();
1394  void FinishSelection(vtkSelection*, const char*);
1395 
1397 
1401  void AddAnnotationToView(vtkProp*);
1402  void RemoveAnnotationFromView(vtkProp*);
1404 
1405  // This flag is set to false when not all processes cannot render e.g. cannot
1406  // open the DISPLAY etc.
1407  bool RemoteRenderingAvailable;
1408 
1409  // Flags used to maintain rendering modes requested by representations.
1410  bool DistributedRenderingRequired;
1411  bool NonDistributedRenderingRequired;
1412  bool DistributedRenderingRequiredLOD;
1413  bool NonDistributedRenderingRequiredLOD;
1414 
1415  // Cached value for parallel projection set on camera.
1416  int ParallelProjection;
1417 
1418  // Cached state. Is currently ignored for distributed rendering.
1419  bool UseHiddenLineRemoval;
1420 
1421  class vtkInternals;
1422  vtkInternals* Internals;
1423 
1424  vtkNew<vtkTextRepresentation> Annotation;
1425  void UpdateAnnotationText();
1426 
1427  vtkNew<vtkOrderedCompositingHelper> OrderedCompositingHelper;
1428 
1429  int StereoType;
1430  int ServerStereoType;
1431  void UpdateStereoProperties();
1432 
1433  int BackgroundColorMode;
1434  bool UseEnvironmentLighting;
1435  bool UseRenderViewSettingsForBackground;
1436  double Background[3];
1437  double Background2[3];
1438  double SkyboxRotation[3];
1439 
1441  vtkNew<vtkTimerLog> Timer;
1442 
1443  int ForceDataDistributionMode;
1444  int PreviousDiscreteCameraIndex;
1445  vtkSmartPointer<vtkTexture> EnvironmentalBGTexture;
1446  bool UseTexturedEnvironmentalBG;
1447 };
1448 
1449 #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