27 #ifndef vtkPVRenderView_h 28 #define vtkPVRenderView_h 33 #include "vtkRemotingViewsModule.h" 40 class vtkEquirectangularToCubeMapTexture;
84 INTERACTION_MODE_UNINTIALIZED = -1,
85 INTERACTION_MODE_3D = 0,
89 INTERACTION_MODE_POLYGON
104 virtual void SetInteractionMode(
int mode);
105 vtkGetMacro(InteractionMode,
int);
113 void SetSize(
int,
int)
override;
123 vtkGetObjectMacro(NonCompositedRenderer,
vtkRenderer);
131 DEFAULT_RENDERER = 0,
132 NON_COMPOSITED_RENDERER = 1,
140 virtual vtkRenderer* GetRenderer(
int rendererType = DEFAULT_RENDERER);
148 virtual void SetActiveCamera(
vtkCamera*);
176 void ResetCamera(
double bounds[6]);
203 vtkSetMacro(SuppressRendering,
bool);
204 vtkGetMacro(SuppressRendering,
bool);
205 vtkBooleanMacro(SuppressRendering,
bool);
217 vtkSetClampMacro(StillRenderImageReductionFactor,
int, 1, 20);
218 vtkGetMacro(StillRenderImageReductionFactor,
int);
228 vtkSetClampMacro(InteractiveRenderImageReductionFactor,
int, 1, 20);
229 vtkGetMacro(InteractiveRenderImageReductionFactor,
int);
238 vtkSetMacro(RemoteRenderingThreshold,
double);
239 vtkGetMacro(RemoteRenderingThreshold,
double);
248 vtkSetMacro(LODRenderingThreshold,
double);
249 vtkGetMacro(LODRenderingThreshold,
double);
259 vtkSetClampMacro(LODResolution,
double, 0.0, 1.0);
260 vtkGetMacro(LODResolution,
double);
270 vtkSetMacro(UseOutlineForLODRendering,
bool);
271 vtkGetMacro(UseOutlineForLODRendering,
bool);
282 void ConfigureCompressor(
const char* configuration);
288 virtual void ResetCameraClippingRange();
295 void SetUseLightKit(
bool enable);
296 vtkGetMacro(UseLightKit,
bool);
297 vtkBooleanMacro(UseLightKit,
bool);
301 void StreamingUpdate(
const double view_planes[24]);
302 void DeliverStreamedPieces(
unsigned int size,
unsigned int* representation_ids);
359 void SelectCells(
int region[4],
const char* array =
nullptr);
360 void SelectCells(
int region0,
int region1,
int region2,
int region3,
const char* array =
nullptr)
362 int r[4] = { region0, region1, region2, region3 };
363 this->SelectCells(r, array);
365 void SelectPoints(
int region[4],
const char* array =
nullptr);
366 void SelectPoints(
int region0,
int region1,
int region2,
int region3,
const char* array =
nullptr)
368 int r[4] = { region0, region1, region2, region3 };
369 this->SelectPoints(r, array);
371 void Select(
int field_association,
int region[4],
const char* array =
nullptr);
385 void SelectPolygonPoints(
int* polygon2DArray,
vtkIdType arrayLen);
386 void SelectPolygonCells(
int* polygon2DArray,
vtkIdType arrayLen);
387 void SelectPolygon(
int field_association,
int* polygon2DArray,
vtkIdType arrayLen);
403 vtkSetMacro(UseInteractiveRenderingForScreenshots,
bool);
404 vtkBooleanMacro(UseInteractiveRenderingForScreenshots,
bool);
405 vtkGetMacro(UseInteractiveRenderingForScreenshots,
bool);
412 vtkGetMacro(RemoteRenderingAvailable,
bool);
420 void NVPipeAvailableOn();
421 void NVPipeAvailableOff();
428 vtkGetMacro(UsedLODForLastRender,
bool);
436 void InvalidateCachedSelection();
448 static void MarkAsRedistributable(
450 static void SetRedistributionMode(
452 static void SetRedistributionModeToSplitBoundaryCells(
454 static void SetRedistributionModeToDuplicateBoundaryCells(
457 const double bounds[6],
vtkMatrix4x4* transform =
nullptr,
int port = 0);
459 static void SetNextStreamedPiece(
469 void SetMaxClipBounds(
double bds[6]);
476 void SetLockBounds(
bool nv);
477 vtkGetMacro(LockBounds,
bool);
485 static void SetDeliverToAllProcesses(
497 static void SetDeliverToClientAndRenderingProcesses(
vtkInformation* info,
508 const double spacing[3]);
509 static void SetOrderedCompositingInformation(
vtkInformation* info,
const double bounds[6]);
521 static void SetRequiresDistributedRendering(
543 static void SetForceDataDistributionMode(
vtkInformation* info,
int flag);
562 void SetShowAnnotation(
bool val);
563 vtkSetMacro(UpdateAnnotation,
bool);
570 void SetAnnotationColor(
double r,
double g,
double b);
580 virtual void SetOrientationAxesInteractivity(
bool);
581 virtual void SetOrientationAxesVisibility(
bool);
582 void SetOrientationAxesLabelColor(
double r,
double g,
double b);
583 void SetOrientationAxesOutlineColor(
double r,
double g,
double b);
587 virtual void SetCenterAxesVisibility(
bool);
591 virtual void SetCenterOfRotation(
double x,
double y,
double z);
592 virtual void SetRotationFactor(
double factor);
596 void SetKeyLightWarmth(
double val);
597 void SetKeyLightIntensity(
double val);
598 void SetKeyLightElevation(
double val);
599 void SetKeyLightAzimuth(
double val);
600 void SetFillLightWarmth(
double val);
601 void SetKeyToFillRatio(
double val);
602 void SetFillLightElevation(
double val);
603 void SetFillLightAzimuth(
double val);
604 void SetBackLightWarmth(
double val);
605 void SetKeyToBackRatio(
double val);
606 void SetBackLightElevation(
double val);
607 void SetBackLightAzimuth(
double val);
608 void SetHeadLightWarmth(
double val);
609 void SetKeyToHeadRatio(
double val);
610 void SetMaintainLuminance(
int val);
614 vtkSetMacro(UseHiddenLineRemoval,
bool)
virtual void SetUseDepthPeeling(
int val);
615 virtual void SetUseDepthPeelingForVolumes(
bool val);
616 virtual void SetMaximumNumberOfPeels(
int val);
617 virtual void SetBackground(
double r,
double g,
double b);
618 virtual void SetBackground2(
double r,
double g,
double b);
619 virtual void SetBackgroundTexture(
vtkTexture* val);
620 virtual void SetGradientBackground(
int val);
621 virtual void SetTexturedBackground(
int val);
622 virtual void SetSkyboxBackground(
int val);
623 virtual void SetUseEnvironmentLighting(
bool val);
632 void SetStereoCapableWindow(
int val);
633 void SetStereoRender(
int val);
634 vtkSetMacro(StereoType,
int);
635 vtkSetMacro(ServerStereoType,
int);
636 void SetMultiSamples(
int val);
637 void SetAlphaBitPlanes(
int val);
638 void SetStencilCapable(
int val);
642 void SetParallelProjection(
int mode);
646 virtual void SetCamera2DManipulators(
const int manipulators[9]);
647 virtual void SetCamera3DManipulators(
const int manipulators[9]);
649 virtual void SetCamera2DMouseWheelMotionFactor(
double factor);
650 virtual void SetCamera3DMouseWheelMotionFactor(
double factor);
664 virtual void UpdateLOD();
672 vtkGetMacro(UseLODForInteractiveRender,
bool);
681 vtkGetMacro(UseDistributedRenderingForRender,
bool);
690 vtkGetMacro(UseDistributedRenderingForLODRender,
bool);
699 vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
708 vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
714 int GetDataDistributionMode(
bool low_res);
721 void Deliver(
int use_lod,
unsigned int size,
unsigned int* representation_ids)
override;
731 bool GetUseOrderedCompositing();
737 bool GetRenderEmptyImages();
743 vtkSetMacro(UseFXAA,
bool);
744 vtkGetMacro(UseFXAA,
bool);
751 void SetFXAARelativeContrastThreshold(
double val);
752 void SetFXAAHardContrastThreshold(
double val);
753 void SetFXAASubpixelBlendLimit(
double val);
754 void SetFXAASubpixelContrastThreshold(
double val);
755 void SetFXAAUseHighQualityEndpoints(
bool val);
756 void SetFXAAEndpointSearchIterations(
int val);
771 void AddPropToRenderer(
vtkProp* prop);
772 void RemovePropFromRenderer(
vtkProp* prop);
781 void SetDrawCells(
bool choice);
782 void SetArrayNameToDraw(
const char* name);
783 void SetArrayNumberToDraw(
int fieldAttributeType);
784 void SetArrayComponentToDraw(
int comp);
785 void SetScalarRange(
double min,
double max);
786 void BeginValueCapture();
787 void EndValueCapture();
795 void SetValueRenderingModeCommand(
int mode);
796 int GetValueRenderingModeCommand();
808 void CaptureValuesFloat();
817 void StartCaptureLuminance();
818 void StopCaptureLuminance();
825 void CaptureZBuffer();
833 void SetEnableOSPRay(
bool);
834 bool GetEnableOSPRay();
840 void SetShadows(
bool);
847 void SetAmbientOcclusionSamples(
int);
848 int GetAmbientOcclusionSamples();
854 void SetSamplesPerPixel(
int);
855 int GetSamplesPerPixel();
861 void SetMaxFrames(
int);
867 bool GetOSPRayContinueStreaming();
872 void SetDenoise(
bool);
880 void SetLightScale(
double);
881 double GetLightScale();
887 void SetOSPRayRendererType(std::string);
892 void SetBackgroundNorth(
double x,
double y,
double z);
893 void SetBackgroundEast(
double x,
double y,
double z);
904 void SetTimeCacheSize(
int);
905 int GetTimeCacheSize();
935 static void SetDiscreteCameras(
957 void SetSkyboxResolution(
int resolution);
968 virtual void Render(
bool interactive,
bool skip_rendering);
982 bool ShouldUseDistributedRendering(
double geometry_size,
bool using_lod);
987 bool ShouldUseLODRendering(
double geometry);
993 bool IsProcessRenderingGeometriesForCompositing(
bool using_distributed_rendering);
999 void SynchronizeGeometryBounds();
1010 virtual void UpdateCenterAxes();
1016 bool GetLocalProcessDoesRendering(
bool using_distributed_rendering);
1022 bool TestCollaborationCounter();
1028 void SynchronizeForCollaboration();
1034 virtual void BuildAnnotationText(ostream& str);
1041 vtkGetMacro(SynchronizationCounter,
unsigned int);
1048 vtkGetMacro(MakingSelection,
bool);
1055 bool PrepareSelect(
int fieldAssociation,
const char* array =
nullptr);
1060 void PostSelect(
vtkSelection* sel,
const char* array =
nullptr);
1065 void UpdateSkybox();
1081 bool NeedSkybox =
false;
1148 bool MakingSelection;
1149 int PreviousSwapBuffers;
1150 void OnSelectionChangedEvent();
1151 void OnPolygonSelectionEvent();
1156 bool RemoteRenderingAvailable;
1159 bool DistributedRenderingRequired;
1160 bool NonDistributedRenderingRequired;
1161 bool DistributedRenderingRequiredLOD;
1162 bool NonDistributedRenderingRequiredLOD;
1165 int ParallelProjection;
1168 bool UseHiddenLineRemoval;
1171 vtkInternals* Internals;
1174 void UpdateAnnotationText();
1179 int ServerStereoType;
1180 void UpdateStereoProperties();
1185 int ForceDataDistributionMode;
1186 int PreviousDiscreteCameraIndex;
vtkPVHardwareSelector * Selector
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
vtkNew< vtkEquirectangularToCubeMapTexture > CubeMap
vtkSelection * LastSelection
bool UseOutlineForLODRendering
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.
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
vtkNew< vtkSkybox > Skybox
vtkInteractorStyleRubberBandZoom * RubberBandZoom
vtkPVAxesWidget * OrientationWidget
double LODRenderingThreshold
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.
vtkTimeStamp PriorityQueueBuildTimeStamp
Keeps track of the time when the priority-queue for streaming was generated.
bool NeedsOrderedCompositing
vtkBoundingBox GeometryBounds
Interface for ordering compositing.
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 vtkGridAxes3DActor.
vtkTypeUInt32 InteractiveRenderProcesses