15 #ifndef vtkPVRenderView_h 16 #define vtkPVRenderView_h 27 class vtkCameraOrientationWidget;
43 class vtkPolarAxesActor2D;
51 class vtkIndependentViewerCollection;
76 INTERACTION_MODE_UNINTIALIZED = -1,
77 INTERACTION_MODE_3D = 0,
81 INTERACTION_MODE_POLYGON
96 virtual void SetInteractionMode(
int mode);
97 vtkGetMacro(InteractionMode,
int);
105 void SetSize(
int,
int)
override;
115 vtkGetObjectMacro(NonCompositedRenderer,
vtkRenderer);
123 DEFAULT_RENDERER = 0,
124 NON_COMPOSITED_RENDERER = 1,
132 virtual vtkRenderer* GetRenderer(
int rendererType = DEFAULT_RENDERER);
140 virtual void SetActiveCamera(
vtkCamera*);
143 virtual void SetIndependentViewers(vtkIndependentViewerCollection* viewers);
172 void ResetCamera(
double bounds[6]);
173 void ResetCameraScreenSpace(
double offsetRatio = 0.9);
174 void ResetCameraScreenSpace(
double* bounds,
double offsetRatio = 0.9);
186 double LastRepresentationVisibleBounds[6];
213 vtkSetMacro(SuppressRendering,
bool);
214 vtkGetMacro(SuppressRendering,
bool);
215 vtkBooleanMacro(SuppressRendering,
bool);
227 vtkSetClampMacro(StillRenderImageReductionFactor,
int, 1, 20);
228 vtkGetMacro(StillRenderImageReductionFactor,
int);
238 vtkSetClampMacro(InteractiveRenderImageReductionFactor,
int, 1, 20);
239 vtkGetMacro(InteractiveRenderImageReductionFactor,
int);
248 vtkSetMacro(RemoteRenderingThreshold,
double);
249 vtkGetMacro(RemoteRenderingThreshold,
double);
258 vtkSetMacro(LODRenderingThreshold,
double);
259 vtkGetMacro(LODRenderingThreshold,
double);
269 vtkSetClampMacro(LODResolution,
double, 0.0, 1.0);
270 vtkGetMacro(LODResolution,
double);
280 vtkSetMacro(UseOutlineForLODRendering,
bool);
281 vtkGetMacro(UseOutlineForLODRendering,
bool);
292 void ConfigureCompressor(
const char* configuration);
298 virtual void ResetCameraClippingRange();
305 void SetUseLightKit(
bool enable);
306 vtkGetMacro(UseLightKit,
bool);
307 vtkBooleanMacro(UseLightKit,
bool);
311 void StreamingUpdate(
const double view_planes[24]);
312 void DeliverStreamedPieces(
unsigned int size,
unsigned int* representation_ids);
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)
372 int r[4] = { region0, region1, region2, region3 };
373 this->SelectCells(r, array);
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)
378 int r[4] = { region0, region1, region2, region3 };
379 this->SelectPoints(r, array);
381 void Select(
int field_association,
int region[4],
const char* array =
nullptr);
395 void SelectPolygonPoints(
int* polygon2DArray,
vtkIdType arrayLen);
396 void SelectPolygonCells(
int* polygon2DArray,
vtkIdType arrayLen);
397 void SelectPolygon(
int field_association,
int* polygon2DArray,
vtkIdType arrayLen);
413 vtkSetMacro(UseInteractiveRenderingForScreenshots,
bool);
414 vtkBooleanMacro(UseInteractiveRenderingForScreenshots,
bool);
415 vtkGetMacro(UseInteractiveRenderingForScreenshots,
bool);
422 vtkGetMacro(RemoteRenderingAvailable,
bool);
430 void NVPipeAvailableOn();
431 void NVPipeAvailableOff();
438 vtkGetMacro(UsedLODForLastRender,
bool);
446 void InvalidateCachedSelection();
458 static void SetRedistributionMode(
460 static void SetRedistributionModeToSplitBoundaryCells(
462 static void SetRedistributionModeToDuplicateBoundaryCells(
464 static void SetRedistributionModeToUniquelyAssignBoundaryCells(
469 static void SetNextStreamedPiece(
505 USE_BOUNDS_FOR_REDISTRIBUTION = 0x01,
506 DATA_IS_REDISTRIBUTABLE = 0x02,
507 USE_DATA_FOR_LOAD_BALANCING = 0x40,
509 static void SetOrderedCompositingConfiguration(
vtkInformation* info,
517 void SetMaxClipBounds(
double bds[6]);
524 void SetLockBounds(
bool nv);
525 vtkGetMacro(LockBounds,
bool);
533 static void SetDeliverToAllProcesses(
545 static void SetDeliverToClientAndRenderingProcesses(
vtkInformation* info,
558 static void SetRequiresDistributedRendering(
580 static void SetForceDataDistributionMode(
vtkInformation* info,
int flag);
599 void SetShowAnnotation(
bool val);
600 vtkSetMacro(UpdateAnnotation,
bool);
607 void SetAnnotationColor(
double r,
double g,
double b);
623 virtual void SetPolarGridActor(vtkPolarAxesActor2D*);
629 virtual void SetOrientationAxesInteractivity(
bool);
630 virtual void SetOrientationAxesVisibility(
bool);
632 void SetOrientationAxesLabelColor(
double r,
double g,
double b);
633 void SetOrientationAxesOutlineColor(
double r,
double g,
double b);
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);
639 void SetOrientationAxesXVisibility(
bool vis);
640 void SetOrientationAxesYVisibility(
bool vis);
641 void SetOrientationAxesZVisibility(
bool vis);
643 void SetOrientationAxesXLabelText(
const char* text);
644 void SetOrientationAxesYLabelText(
const char* text);
645 void SetOrientationAxesZLabelText(
const char* text);
652 void SetCameraOrientationWidgetVisibility(
bool visible);
653 void SetCameraOrientationWidgetSize(
int size);
654 void SetCameraOrientationWidgetPadding(
int padding[2]);
655 void SetCameraOrientationWidgetAnchor(
int anchor);
661 virtual void SetCenterAxesVisibility(
bool);
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);
671 virtual void SetCenterOfRotation(
double x,
double y,
double z);
672 virtual void SetRotationFactor(
double factor);
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);
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);
712 vtkSetMacro(UseRenderViewSettingsForBackground,
bool);
713 vtkGetMacro(UseRenderViewSettingsForBackground,
bool);
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);
741 virtual void SetSkyboxRotation(
double x,
double y,
double z);
742 vtkGetVector3Macro(SkyboxRotation,
double);
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);
771 static int GetNumberOfRendersPerFrame(
int stereoMode);
772 static int GetCompatibleStereoType(
int stereoMode);
773 static bool AreStereoTypesCompatible(
int mode1,
int mode2);
780 void SetStereoCapableWindow(
int val);
781 void SetStereoRender(
int val);
782 vtkSetMacro(StereoType,
int);
783 vtkSetMacro(ServerStereoType,
int);
784 void SetMultiSamples(
int val);
785 void SetAlphaBitPlanes(
int val);
786 void SetStencilCapable(
int val);
787 void SetPhysicalToWorldMatrix(
const double[16]);
793 void SetParallelProjection(
int mode);
799 virtual void SetCamera2DManipulators(
const int manipulators[9]);
800 virtual void SetCamera3DManipulators(
const int manipulators[9]);
802 virtual void SetReverseMouseWheelZoomDirection(
bool reverse);
803 virtual void SetMouseWheelZoomsToCursor(
bool value);
804 virtual void SetCamera2DMouseWheelMotionFactor(
double factor);
805 virtual void SetCamera3DMouseWheelMotionFactor(
double factor);
813 virtual void SynchronizeGeometryBounds();
827 virtual void UpdateLOD();
835 vtkGetMacro(UseLODForInteractiveRender,
bool);
844 vtkGetMacro(UseDistributedRenderingForRender,
bool);
853 vtkGetMacro(UseDistributedRenderingForLODRender,
bool);
862 vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
871 vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
877 int GetDataDistributionMode(
bool low_res);
884 void Deliver(
int use_lod,
unsigned int size,
unsigned int* representation_ids)
override;
894 bool GetUseOrderedCompositing();
900 bool GetRenderEmptyImages();
906 vtkSetMacro(UseFXAA,
bool);
907 vtkGetMacro(UseFXAA,
bool);
914 void SetFXAARelativeContrastThreshold(
double val);
915 void SetFXAAHardContrastThreshold(
double val);
916 void SetFXAASubpixelBlendLimit(
double val);
917 void SetFXAASubpixelContrastThreshold(
double val);
918 void SetFXAAUseHighQualityEndpoints(
bool val);
919 void SetFXAAEndpointSearchIterations(
int val);
936 void SetUseToneMapping(
bool v);
937 vtkGetMacro(UseToneMapping,
bool);
938 void SetToneMappingType(
int);
939 void SetExposure(
double);
940 void SetContrast(
double);
941 void SetShoulder(
double);
942 void SetMidIn(
double);
943 void SetMidOut(
double);
944 void SetHdrMax(
double);
945 void SetUseACES(
bool);
946 void SetGenericFilmicPresets(
int t);
953 vtkSetMacro(UseSSAO,
bool);
954 vtkGetMacro(UseSSAO,
bool);
955 vtkSetMacro(UseSSAODefaultPresets,
bool);
956 vtkSetMacro(Radius,
double);
957 vtkSetMacro(KernelSize,
int);
958 vtkSetMacro(Bias,
double);
959 vtkSetMacro(Blur,
bool);
974 void AddPropToRenderer(
vtkProp* prop);
975 void RemovePropFromRenderer(
vtkProp* prop);
993 bool BeginValuePassForRendering(
int fieldAssociation,
const char* arrayName,
int component);
994 void EndValuePassForRendering();
1002 void CaptureZBuffer();
1012 void SetEnableSynchronizableActors(
bool);
1013 bool GetEnableSynchronizableActors();
1020 void SetEnableOSPRay(
bool);
1021 bool GetEnableOSPRay();
1028 void SetEnableANARI(
bool);
1029 bool GetEnableANARI();
1036 void SetANARILibrary(std::string);
1037 const char* GetANARILibrary();
1044 void SetANARIRenderer(std::string);
1045 const char* GetANARIRenderer();
1060 std::string GetANARIRendererParameters();
1065 void SetANARIRendererParameter(
const std::string& name,
int type,
const std::string& value);
1072 void SetShadows(
bool);
1079 void SetAmbientOcclusionSamples(
int);
1080 int GetAmbientOcclusionSamples();
1086 void SetRouletteDepth(
int);
1087 int GetRouletteDepth();
1094 void SetSamplesPerPixel(
int);
1095 int GetSamplesPerPixel();
1101 void SetMaxFrames(
int);
1107 bool GetOSPRayContinueStreaming();
1112 void SetDenoise(
bool);
1120 void SetLightScale(
double);
1121 double GetLightScale();
1127 void SetOSPRayRendererType(std::string);
1132 void SetBackgroundNorth(
double x,
double y,
double z);
1133 void SetBackgroundEast(
double x,
double y,
double z);
1144 void SetTimeCacheSize(
int);
1145 int GetTimeCacheSize();
1175 static void SetDiscreteCameras(
1205 virtual void Render(
bool interactive,
bool skip_rendering);
1219 bool ShouldUseDistributedRendering(
double geometry_size,
bool using_lod);
1224 bool ShouldUseLODRendering(
double geometry);
1230 bool IsProcessRenderingGeometriesForCompositing(
bool using_distributed_rendering);
1241 virtual void UpdateCenterAxes();
1247 bool GetLocalProcessDoesRendering(
bool using_distributed_rendering);
1253 bool TestCollaborationCounter();
1259 void SynchronizeForCollaboration();
1265 virtual void BuildAnnotationText(ostream& str);
1272 vtkGetMacro(SynchronizationCounter,
unsigned int);
1279 vtkGetMacro(MakingSelection,
bool);
1286 virtual bool PrepareSelect(
int fieldAssociation,
const char* array =
nullptr);
1291 virtual void PostSelect(
vtkSelection* sel,
const char* array =
nullptr);
1297 virtual void UpdateBackground(
vtkRenderer* renderer =
nullptr);
1309 virtual void SetupAndSetRenderer(
vtkRenderer* ren);
1349 bool ReverseMouseWheelZoomDirection =
false;
1405 bool MakingSelection;
1406 int PreviousSwapBuffers;
1407 void OnSelectionChangedEvent();
1408 void OnPolygonSelectionEvent();
1416 void AddAnnotationToView(
vtkProp*);
1417 void RemoveAnnotationFromView(
vtkProp*);
1422 bool RemoteRenderingAvailable;
1425 bool DistributedRenderingRequired;
1426 bool NonDistributedRenderingRequired;
1427 bool DistributedRenderingRequiredLOD;
1428 bool NonDistributedRenderingRequiredLOD;
1431 int ParallelProjection;
1434 bool UseHiddenLineRemoval;
1437 vtkInternals* Internals;
1440 void UpdateAnnotationText();
1445 int ServerStereoType;
1446 void UpdateStereoProperties();
1448 int BackgroundColorMode;
1449 bool UseEnvironmentLighting;
1450 bool UseRenderViewSettingsForBackground;
1452 double Background2[3];
1453 double SkyboxRotation[3];
1458 int ForceDataDistributionMode;
1459 int PreviousDiscreteCameraIndex;
1461 bool UseTexturedEnvironmentalBG;
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
vtkPVInteractorStyle * TwoDInteractorStyle
vtkSelection * LastSelection
vtkSmartPointer< vtkPVHardwareSelector > Selector
bool UseOutlineForLODRendering
#define VTKREMOTINGVIEWS_EXPORT
virtual void SetViewTime(double value)
Get/Set the time this view is showing.
bool UseLODForInteractiveRender
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...
virtual void ScaleRendererViewports(const double viewport[4])
vtkViewLayout calls this method to update the total viewport available for this view.
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.
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 UseSSAODefaultPresets
bool IsForceDataDistributionModeSet() const
This is an temporary/experimental option and may be removed without notice.
vtkTypeUInt32 StillRenderProcesses
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.
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.
bool NeedsOrderedCompositing
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
bool UsedLODForLastRender
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.
Render View for ParaView.
interactive manipulation of the camera
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