27 #ifndef vtkPVRenderView_h 28 #define vtkPVRenderView_h 40 class vtkCameraOrientationWidget;
85 INTERACTION_MODE_UNINTIALIZED = -1,
86 INTERACTION_MODE_3D = 0,
90 INTERACTION_MODE_POLYGON
105 virtual void SetInteractionMode(
int mode);
106 vtkGetMacro(InteractionMode,
int);
114 void SetSize(
int,
int)
override;
124 vtkGetObjectMacro(NonCompositedRenderer,
vtkRenderer);
132 DEFAULT_RENDERER = 0,
133 NON_COMPOSITED_RENDERER = 1,
141 virtual vtkRenderer* GetRenderer(
int rendererType = DEFAULT_RENDERER);
149 virtual void SetActiveCamera(
vtkCamera*);
179 void ResetCamera(
double bounds[6]);
180 void ResetCameraScreenSpace(
double offsetRatio = 0.9);
181 void ResetCameraScreenSpace(
double* bounds,
double offsetRatio = 0.9);
193 double LastRepresentationVisibleBounds[6];
220 vtkSetMacro(SuppressRendering,
bool);
221 vtkGetMacro(SuppressRendering,
bool);
222 vtkBooleanMacro(SuppressRendering,
bool);
234 vtkSetClampMacro(StillRenderImageReductionFactor,
int, 1, 20);
235 vtkGetMacro(StillRenderImageReductionFactor,
int);
245 vtkSetClampMacro(InteractiveRenderImageReductionFactor,
int, 1, 20);
246 vtkGetMacro(InteractiveRenderImageReductionFactor,
int);
255 vtkSetMacro(RemoteRenderingThreshold,
double);
256 vtkGetMacro(RemoteRenderingThreshold,
double);
265 vtkSetMacro(LODRenderingThreshold,
double);
266 vtkGetMacro(LODRenderingThreshold,
double);
276 vtkSetClampMacro(LODResolution,
double, 0.0, 1.0);
277 vtkGetMacro(LODResolution,
double);
287 vtkSetMacro(UseOutlineForLODRendering,
bool);
288 vtkGetMacro(UseOutlineForLODRendering,
bool);
299 void ConfigureCompressor(
const char* configuration);
305 virtual void ResetCameraClippingRange();
312 void SetUseLightKit(
bool enable);
313 vtkGetMacro(UseLightKit,
bool);
314 vtkBooleanMacro(UseLightKit,
bool);
318 void StreamingUpdate(
const double view_planes[24]);
319 void DeliverStreamedPieces(
unsigned int size,
unsigned int* representation_ids);
376 void SelectCells(
int region[4],
const char* array =
nullptr);
377 void SelectCells(
int region0,
int region1,
int region2,
int region3,
const char* array =
nullptr)
379 int r[4] = { region0, region1, region2, region3 };
380 this->SelectCells(r, array);
382 void SelectPoints(
int region[4],
const char* array =
nullptr);
383 void SelectPoints(
int region0,
int region1,
int region2,
int region3,
const char* array =
nullptr)
385 int r[4] = { region0, region1, region2, region3 };
386 this->SelectPoints(r, array);
388 void Select(
int field_association,
int region[4],
const char* array =
nullptr);
402 void SelectPolygonPoints(
int* polygon2DArray,
vtkIdType arrayLen);
403 void SelectPolygonCells(
int* polygon2DArray,
vtkIdType arrayLen);
404 void SelectPolygon(
int field_association,
int* polygon2DArray,
vtkIdType arrayLen);
420 vtkSetMacro(UseInteractiveRenderingForScreenshots,
bool);
421 vtkBooleanMacro(UseInteractiveRenderingForScreenshots,
bool);
422 vtkGetMacro(UseInteractiveRenderingForScreenshots,
bool);
429 vtkGetMacro(RemoteRenderingAvailable,
bool);
437 void NVPipeAvailableOn();
438 void NVPipeAvailableOff();
445 vtkGetMacro(UsedLODForLastRender,
bool);
453 void InvalidateCachedSelection();
465 static void SetRedistributionMode(
467 static void SetRedistributionModeToSplitBoundaryCells(
469 static void SetRedistributionModeToDuplicateBoundaryCells(
471 static void SetRedistributionModeToUniquelyAssignBoundaryCells(
476 static void SetNextStreamedPiece(
512 USE_BOUNDS_FOR_REDISTRIBUTION = 0x01,
513 DATA_IS_REDISTRIBUTABLE = 0x02,
514 USE_DATA_FOR_LOAD_BALANCING = 0x40,
516 static void SetOrderedCompositingConfiguration(
vtkInformation* info,
524 void SetMaxClipBounds(
double bds[6]);
531 void SetLockBounds(
bool nv);
532 vtkGetMacro(LockBounds,
bool);
540 static void SetDeliverToAllProcesses(
552 static void SetDeliverToClientAndRenderingProcesses(
vtkInformation* info,
565 static void SetRequiresDistributedRendering(
587 static void SetForceDataDistributionMode(
vtkInformation* info,
int flag);
606 void SetShowAnnotation(
bool val);
607 vtkSetMacro(UpdateAnnotation,
bool);
614 void SetAnnotationColor(
double r,
double g,
double b);
626 virtual void SetOrientationAxesInteractivity(
bool);
627 virtual void SetOrientationAxesVisibility(
bool);
629 void SetOrientationAxesLabelColor(
double r,
double g,
double b);
630 void SetOrientationAxesOutlineColor(
double r,
double g,
double b);
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);
636 void SetOrientationAxesXVisibility(
bool vis);
637 void SetOrientationAxesYVisibility(
bool vis);
638 void SetOrientationAxesZVisibility(
bool vis);
640 void SetOrientationAxesXLabelText(
const char* text);
641 void SetOrientationAxesYLabelText(
const char* text);
642 void SetOrientationAxesZLabelText(
const char* text);
649 void SetCameraOrientationWidgetVisibility(
bool visible);
650 void SetCameraOrientationWidgetSize(
int size);
651 void SetCameraOrientationWidgetPadding(
int padding[2]);
652 void SetCameraOrientationWidgetAnchor(
int anchor);
658 virtual void SetCenterAxesVisibility(
bool);
664 virtual void SetCenterOfRotation(
double x,
double y,
double z);
665 virtual void SetRotationFactor(
double factor);
672 void SetKeyLightWarmth(
double val);
673 void SetKeyLightIntensity(
double val);
674 void SetKeyLightElevation(
double val);
675 void SetKeyLightAzimuth(
double val);
676 void SetFillLightWarmth(
double val);
677 void SetKeyToFillRatio(
double val);
678 void SetFillLightElevation(
double val);
679 void SetFillLightAzimuth(
double val);
680 void SetBackLightWarmth(
double val);
681 void SetKeyToBackRatio(
double val);
682 void SetBackLightElevation(
double val);
683 void SetBackLightAzimuth(
double val);
684 void SetHeadLightWarmth(
double val);
685 void SetKeyToHeadRatio(
double val);
686 void SetMaintainLuminance(
int val);
693 vtkSetMacro(UseHiddenLineRemoval,
bool);
694 virtual void SetUseDepthPeeling(
int val);
695 virtual void SetUseDepthPeelingForVolumes(
bool val);
696 virtual void SetMaximumNumberOfPeels(
int val);
697 virtual void SetBackgroundTexture(
vtkTexture* val);
705 vtkSetMacro(UseRenderViewSettingsForBackground,
bool);
706 vtkGetMacro(UseRenderViewSettingsForBackground,
bool);
724 vtkSetClampMacro(BackgroundColorMode,
int, DEFAULT, STEREO_SKYBOX);
725 vtkSetVector3Macro(Background,
double);
726 vtkGetVector3Macro(Background,
double);
727 vtkSetVector3Macro(Background2,
double);
728 vtkGetVector3Macro(Background2,
double);
729 vtkSetMacro(UseEnvironmentLighting,
bool);
736 virtual void SetEnvironmentalBG(
double r,
double g,
double b);
737 virtual void SetEnvironmentalBG2(
double r,
double g,
double b);
738 virtual void SetEnvironmentalBGTexture(
vtkTexture* val);
739 virtual void SetGradientEnvironmentalBG(
int val);
740 virtual void SetTexturedEnvironmentalBG(
int val);
741 virtual void SetBackgroundMode(
int val);
756 void SetStereoCapableWindow(
int val);
757 void SetStereoRender(
int val);
758 vtkSetMacro(StereoType,
int);
759 vtkSetMacro(ServerStereoType,
int);
760 void SetMultiSamples(
int val);
761 void SetAlphaBitPlanes(
int val);
762 void SetStencilCapable(
int val);
768 void SetParallelProjection(
int mode);
774 virtual void SetCamera2DManipulators(
const int manipulators[9]);
775 virtual void SetCamera3DManipulators(
const int manipulators[9]);
777 virtual void SetReverseMouseWheelZoomDirection(
bool reverse);
778 virtual void SetMouseWheelZoomsToCursor(
bool value);
779 virtual void SetCamera2DMouseWheelMotionFactor(
double factor);
780 virtual void SetCamera3DMouseWheelMotionFactor(
double factor);
795 virtual void UpdateLOD();
803 vtkGetMacro(UseLODForInteractiveRender,
bool);
812 vtkGetMacro(UseDistributedRenderingForRender,
bool);
821 vtkGetMacro(UseDistributedRenderingForLODRender,
bool);
830 vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
839 vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
845 int GetDataDistributionMode(
bool low_res);
852 void Deliver(
int use_lod,
unsigned int size,
unsigned int* representation_ids)
override;
862 bool GetUseOrderedCompositing();
868 bool GetRenderEmptyImages();
874 vtkSetMacro(UseFXAA,
bool);
875 vtkGetMacro(UseFXAA,
bool);
882 void SetFXAARelativeContrastThreshold(
double val);
883 void SetFXAAHardContrastThreshold(
double val);
884 void SetFXAASubpixelBlendLimit(
double val);
885 void SetFXAASubpixelContrastThreshold(
double val);
886 void SetFXAAUseHighQualityEndpoints(
bool val);
887 void SetFXAAEndpointSearchIterations(
int val);
904 void SetUseToneMapping(
bool v);
905 vtkGetMacro(UseToneMapping,
bool);
906 void SetToneMappingType(
int);
907 void SetExposure(
double);
908 void SetContrast(
double);
909 void SetShoulder(
double);
910 void SetMidIn(
double);
911 void SetMidOut(
double);
912 void SetHdrMax(
double);
913 void SetUseACES(
bool);
914 void SetGenericFilmicPresets(
int t);
921 vtkSetMacro(UseSSAO,
bool);
922 vtkGetMacro(UseSSAO,
bool);
923 vtkSetMacro(UseSSAODefaultPresets,
bool);
924 vtkSetMacro(Radius,
double);
925 vtkSetMacro(KernelSize,
int);
926 vtkSetMacro(Bias,
double);
927 vtkSetMacro(Blur,
bool);
942 void AddPropToRenderer(
vtkProp* prop);
943 void RemovePropFromRenderer(
vtkProp* prop);
961 bool BeginValuePassForRendering(
int fieldAssociation,
const char* arrayName,
int component);
962 void EndValuePassForRendering();
970 void CaptureZBuffer();
978 void SetEnableOSPRay(
bool);
979 bool GetEnableOSPRay();
985 void SetShadows(
bool);
992 void SetAmbientOcclusionSamples(
int);
993 int GetAmbientOcclusionSamples();
999 void SetRouletteDepth(
int);
1000 int GetRouletteDepth();
1007 void SetVolumeAnisotropy(
double);
1009 double GetVolumeAnisotropy();
1016 void SetSamplesPerPixel(
int);
1017 int GetSamplesPerPixel();
1023 void SetMaxFrames(
int);
1029 bool GetOSPRayContinueStreaming();
1034 void SetDenoise(
bool);
1042 void SetLightScale(
double);
1043 double GetLightScale();
1049 void SetOSPRayRendererType(
std::
string);
1054 void SetBackgroundNorth(
double x,
double y,
double z);
1055 void SetBackgroundEast(
double x,
double y,
double z);
1061 void SetViewTime(
double value) override;
1066 void SetTimeCacheSize(
int);
1067 int GetTimeCacheSize();
1097 static
void SetDiscreteCameras(
1107 void ScaleRendererViewports(
const double viewport[4]) override;
1122 ~vtkPVRenderView() override;
1127 virtual
void Render(
bool interactive,
bool skip_rendering);
1133 virtual
void AboutToRenderOnLocalProcess(
bool interactive) { (void)interactive; }
1141 bool ShouldUseDistributedRendering(
double geometry_size,
bool using_lod);
1146 bool ShouldUseLODRendering(
double geometry);
1152 bool IsProcessRenderingGeometriesForCompositing(
bool using_distributed_rendering);
1158 virtual void SynchronizeGeometryBounds();
1169 virtual void UpdateCenterAxes();
1175 bool GetLocalProcessDoesRendering(
bool using_distributed_rendering);
1181 bool TestCollaborationCounter();
1187 void SynchronizeForCollaboration();
1193 virtual void BuildAnnotationText(ostream& str);
1200 vtkGetMacro(SynchronizationCounter,
unsigned int);
1207 vtkGetMacro(MakingSelection,
bool);
1214 virtual bool PrepareSelect(
int fieldAssociation,
const char* array =
nullptr);
1219 virtual void PostSelect(
vtkSelection* sel,
const char* array =
nullptr);
1225 virtual void UpdateBackground(
vtkRenderer* renderer =
nullptr);
1237 virtual void SetupAndSetRenderer(
vtkRenderer* ren);
1274 bool ReverseMouseWheelZoomDirection =
false;
1330 bool MakingSelection;
1331 int PreviousSwapBuffers;
1332 void OnSelectionChangedEvent();
1333 void OnPolygonSelectionEvent();
1338 bool RemoteRenderingAvailable;
1341 bool DistributedRenderingRequired;
1342 bool NonDistributedRenderingRequired;
1343 bool DistributedRenderingRequiredLOD;
1344 bool NonDistributedRenderingRequiredLOD;
1347 int ParallelProjection;
1350 bool UseHiddenLineRemoval;
1353 vtkInternals* Internals;
1356 void UpdateAnnotationText();
1361 int ServerStereoType;
1362 void UpdateStereoProperties();
1364 int BackgroundColorMode;
1365 bool UseEnvironmentLighting;
1366 bool UseRenderViewSettingsForBackground;
1368 double Background2[3];
1373 int ForceDataDistributionMode;
1374 int PreviousDiscreteCameraIndex;
1376 bool UseTexturedEnvironmentalBG;
static void SetRequiresDistributedRenderingLOD(vtkInformation *info, vtkPVDataRepresentation *repr, bool value)
Some representation only work when remote rendering or local rendering.
vtkPVInteractorStyle * InteractorStyle
coordinates rendering between corresponding renderers across multiple processes
vtkPVInteractorStyle * TwoDInteractorStyle
vtkSelection * LastSelection
vtkSmartPointer< vtkPVHardwareSelector > Selector
bool UseOutlineForLODRendering
#define VTKREMOTINGVIEWS_EXPORT
bool UseLODForInteractiveRender
manages visual material definitions
vtkPVDataRepresentation adds some ParaView specific API to data representations.
vtkRenderViewBase * RenderView
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...
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.
virtual void SetSize(int, int)
Set the size of this view in the multiview configuration.
bool UseInteractiveRenderingForScreenshots
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
#define PARAVIEW_DEPRECATED_IN_5_11_0(reason)
vtkPVInteractorStyle * ThreeDInteractorStyle
ParaView extensions for vtkGridAxes3DActor.
helper to assist in determine process order when rendering
vtkTypeUInt32 InteractiveRenderProcesses