27 #ifndef vtkPVRenderView_h 28 #define vtkPVRenderView_h 83 INTERACTION_MODE_UNINTIALIZED = -1,
84 INTERACTION_MODE_3D = 0,
88 INTERACTION_MODE_POLYGON
103 virtual void SetInteractionMode(
int mode);
104 vtkGetMacro(InteractionMode,
int);
112 void SetSize(
int,
int)
override;
122 vtkGetObjectMacro(NonCompositedRenderer,
vtkRenderer);
130 DEFAULT_RENDERER = 0,
131 NON_COMPOSITED_RENDERER = 1,
139 virtual vtkRenderer* GetRenderer(
int rendererType = DEFAULT_RENDERER);
147 virtual void SetActiveCamera(
vtkCamera*);
175 void ResetCamera(
double bounds[6]);
202 vtkSetMacro(SuppressRendering,
bool);
203 vtkGetMacro(SuppressRendering,
bool);
204 vtkBooleanMacro(SuppressRendering,
bool);
216 vtkSetClampMacro(StillRenderImageReductionFactor,
int, 1, 20);
217 vtkGetMacro(StillRenderImageReductionFactor,
int);
227 vtkSetClampMacro(InteractiveRenderImageReductionFactor,
int, 1, 20);
228 vtkGetMacro(InteractiveRenderImageReductionFactor,
int);
237 vtkSetMacro(RemoteRenderingThreshold,
double);
238 vtkGetMacro(RemoteRenderingThreshold,
double);
247 vtkSetMacro(LODRenderingThreshold,
double);
248 vtkGetMacro(LODRenderingThreshold,
double);
258 vtkSetClampMacro(LODResolution,
double, 0.0, 1.0);
259 vtkGetMacro(LODResolution,
double);
269 vtkSetMacro(UseOutlineForLODRendering,
bool);
270 vtkGetMacro(UseOutlineForLODRendering,
bool);
281 void ConfigureCompressor(
const char* configuration);
287 virtual void ResetCameraClippingRange();
294 void SetUseLightKit(
bool enable);
295 vtkGetMacro(UseLightKit,
bool);
296 vtkBooleanMacro(UseLightKit,
bool);
300 void StreamingUpdate(
const double view_planes[24]);
301 void DeliverStreamedPieces(
unsigned int size,
unsigned int* representation_ids);
358 void SelectCells(
int region[4],
const char* array =
nullptr);
359 void SelectCells(
int region0,
int region1,
int region2,
int region3,
const char* array =
nullptr)
361 int r[4] = { region0, region1, region2, region3 };
362 this->SelectCells(r, array);
364 void SelectPoints(
int region[4],
const char* array =
nullptr);
365 void SelectPoints(
int region0,
int region1,
int region2,
int region3,
const char* array =
nullptr)
367 int r[4] = { region0, region1, region2, region3 };
368 this->SelectPoints(r, array);
370 void Select(
int field_association,
int region[4],
const char* array =
nullptr);
384 void SelectPolygonPoints(
int* polygon2DArray,
vtkIdType arrayLen);
385 void SelectPolygonCells(
int* polygon2DArray,
vtkIdType arrayLen);
386 void SelectPolygon(
int field_association,
int* polygon2DArray,
vtkIdType arrayLen);
402 vtkSetMacro(UseInteractiveRenderingForScreenshots,
bool);
403 vtkBooleanMacro(UseInteractiveRenderingForScreenshots,
bool);
404 vtkGetMacro(UseInteractiveRenderingForScreenshots,
bool);
411 vtkGetMacro(RemoteRenderingAvailable,
bool);
419 void NVPipeAvailableOn();
420 void NVPipeAvailableOff();
427 vtkGetMacro(UsedLODForLastRender,
bool);
435 void InvalidateCachedSelection();
447 static void SetRedistributionMode(
449 static void SetRedistributionModeToSplitBoundaryCells(
451 static void SetRedistributionModeToDuplicateBoundaryCells(
453 static void SetRedistributionModeToUniquelyAssignBoundaryCells(
458 static void SetNextStreamedPiece(
477 const double origin[3],
const double spacing[3]));
479 static void SetOrderedCompositingInformation(
vtkInformation* info,
const double bounds[6]));
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);
624 virtual void SetOrientationAxesInteractivity(
bool);
625 virtual void SetOrientationAxesVisibility(
bool);
626 void SetOrientationAxesLabelColor(
double r,
double g,
double b);
627 void SetOrientationAxesOutlineColor(
double r,
double g,
double b);
631 virtual void SetCenterAxesVisibility(
bool);
635 virtual void SetCenterOfRotation(
double x,
double y,
double z);
636 virtual void SetRotationFactor(
double factor);
640 void SetKeyLightWarmth(
double val);
641 void SetKeyLightIntensity(
double val);
642 void SetKeyLightElevation(
double val);
643 void SetKeyLightAzimuth(
double val);
644 void SetFillLightWarmth(
double val);
645 void SetKeyToFillRatio(
double val);
646 void SetFillLightElevation(
double val);
647 void SetFillLightAzimuth(
double val);
648 void SetBackLightWarmth(
double val);
649 void SetKeyToBackRatio(
double val);
650 void SetBackLightElevation(
double val);
651 void SetBackLightAzimuth(
double val);
652 void SetHeadLightWarmth(
double val);
653 void SetKeyToHeadRatio(
double val);
654 void SetMaintainLuminance(
int val);
658 vtkSetMacro(UseHiddenLineRemoval,
bool)
virtual void SetUseDepthPeeling(
int val);
659 virtual void SetUseDepthPeelingForVolumes(
bool val);
660 virtual void SetMaximumNumberOfPeels(
int val);
661 virtual void SetBackground(
double r,
double g,
double b);
662 virtual void SetBackground2(
double r,
double g,
double b);
663 virtual void SetBackgroundTexture(
vtkTexture* val);
664 virtual void SetGradientBackground(
int val);
665 virtual void SetTexturedBackground(
int val);
666 virtual void SetSkyboxBackground(
int val);
667 virtual void SetUseEnvironmentLighting(
bool val);
671 virtual void SetEnvironmentalBG(
double r,
double g,
double b);
672 virtual void SetEnvironmentalBG2(
double r,
double g,
double b);
673 virtual void SetEnvironmentalBGTexture(
vtkTexture* val);
674 virtual void SetGradientEnvironmentalBG(
int val);
675 virtual void SetTexturedEnvironmentalBG(
int val);
676 virtual void SetBackgroundMode(
int val);
685 void SetStereoCapableWindow(
int val);
686 void SetStereoRender(
int val);
687 vtkSetMacro(StereoType,
int);
688 vtkSetMacro(ServerStereoType,
int);
689 void SetMultiSamples(
int val);
690 void SetAlphaBitPlanes(
int val);
691 void SetStencilCapable(
int val);
695 void SetParallelProjection(
int mode);
699 virtual void SetCamera2DManipulators(
const int manipulators[9]);
700 virtual void SetCamera3DManipulators(
const int manipulators[9]);
702 virtual void SetCamera2DMouseWheelMotionFactor(
double factor);
703 virtual void SetCamera3DMouseWheelMotionFactor(
double factor);
717 virtual void UpdateLOD();
725 vtkGetMacro(UseLODForInteractiveRender,
bool);
734 vtkGetMacro(UseDistributedRenderingForRender,
bool);
743 vtkGetMacro(UseDistributedRenderingForLODRender,
bool);
752 vtkGetMacro(StillRenderProcesses, vtkTypeUInt32);
761 vtkGetMacro(InteractiveRenderProcesses, vtkTypeUInt32);
767 int GetDataDistributionMode(
bool low_res);
774 void Deliver(
int use_lod,
unsigned int size,
unsigned int* representation_ids)
override;
784 bool GetUseOrderedCompositing();
790 bool GetRenderEmptyImages();
796 vtkSetMacro(UseFXAA,
bool);
797 vtkGetMacro(UseFXAA,
bool);
804 void SetFXAARelativeContrastThreshold(
double val);
805 void SetFXAAHardContrastThreshold(
double val);
806 void SetFXAASubpixelBlendLimit(
double val);
807 void SetFXAASubpixelContrastThreshold(
double val);
808 void SetFXAAUseHighQualityEndpoints(
bool val);
809 void SetFXAAEndpointSearchIterations(
int val);
826 void SetUseToneMapping(
bool v);
827 vtkGetMacro(UseToneMapping,
bool);
828 void SetToneMappingType(
int);
829 void SetExposure(
double);
830 void SetContrast(
double);
831 void SetShoulder(
double);
832 void SetMidIn(
double);
833 void SetMidOut(
double);
834 void SetHdrMax(
double);
835 void SetUseACES(
bool);
836 void SetGenericFilmicPresets(
int t);
843 vtkSetMacro(UseSSAO,
bool);
844 vtkGetMacro(UseSSAO,
bool);
845 vtkSetMacro(UseSSAODefaultPresets,
bool);
846 vtkSetMacro(Radius,
double);
847 vtkSetMacro(KernelSize,
int);
848 vtkSetMacro(Bias,
double);
849 vtkSetMacro(Blur,
bool);
864 void AddPropToRenderer(
vtkProp* prop);
865 void RemovePropFromRenderer(
vtkProp* prop);
874 void SetDrawCells(
bool choice);
875 void SetArrayNameToDraw(
const char* name);
876 void SetArrayNumberToDraw(
int fieldAttributeType);
877 void SetArrayComponentToDraw(
int comp);
878 void SetScalarRange(
double min,
double max);
879 void BeginValueCapture();
880 void EndValueCapture();
888 void SetValueRenderingModeCommand(
int mode);
889 int GetValueRenderingModeCommand();
901 void CaptureValuesFloat();
910 void StartCaptureLuminance();
911 void StopCaptureLuminance();
918 void CaptureZBuffer();
926 void SetEnableOSPRay(
bool);
927 bool GetEnableOSPRay();
933 void SetShadows(
bool);
940 void SetAmbientOcclusionSamples(
int);
941 int GetAmbientOcclusionSamples();
947 void SetRouletteDepth(
int);
948 int GetRouletteDepth();
954 void SetVolumeAnisotropy(
double);
955 double GetVolumeAnisotropy();
961 void SetSamplesPerPixel(
int);
962 int GetSamplesPerPixel();
968 void SetMaxFrames(
int);
974 bool GetOSPRayContinueStreaming();
979 void SetDenoise(
bool);
987 void SetLightScale(
double);
988 double GetLightScale();
994 void SetOSPRayRendererType(std::string);
999 void SetBackgroundNorth(
double x,
double y,
double z);
1000 void SetBackgroundEast(
double x,
double y,
double z);
1011 void SetTimeCacheSize(
int);
1012 int GetTimeCacheSize();
1042 static void SetDiscreteCameras(
1067 virtual void Render(
bool interactive,
bool skip_rendering);
1081 bool ShouldUseDistributedRendering(
double geometry_size,
bool using_lod);
1086 bool ShouldUseLODRendering(
double geometry);
1092 bool IsProcessRenderingGeometriesForCompositing(
bool using_distributed_rendering);
1098 void SynchronizeGeometryBounds();
1109 virtual void UpdateCenterAxes();
1115 bool GetLocalProcessDoesRendering(
bool using_distributed_rendering);
1121 bool TestCollaborationCounter();
1127 void SynchronizeForCollaboration();
1133 virtual void BuildAnnotationText(ostream& str);
1140 vtkGetMacro(SynchronizationCounter,
unsigned int);
1147 vtkGetMacro(MakingSelection,
bool);
1154 bool PrepareSelect(
int fieldAssociation,
const char* array =
nullptr);
1159 void PostSelect(
vtkSelection* sel,
const char* array =
nullptr);
1164 void UpdateSkybox();
1185 bool NeedSkybox =
false;
1260 bool MakingSelection;
1261 int PreviousSwapBuffers;
1262 void OnSelectionChangedEvent();
1263 void OnPolygonSelectionEvent();
1268 bool RemoteRenderingAvailable;
1271 bool DistributedRenderingRequired;
1272 bool NonDistributedRenderingRequired;
1273 bool DistributedRenderingRequiredLOD;
1274 bool NonDistributedRenderingRequiredLOD;
1277 int ParallelProjection;
1280 bool UseHiddenLineRemoval;
1283 vtkInternals* Internals;
1286 void UpdateAnnotationText();
1291 int ServerStereoType;
1292 void UpdateStereoProperties();
1297 int ForceDataDistributionMode;
1298 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
vtkSelection * LastSelection
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.
#define VTK_LEGACY(method)
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 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
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 vtkGridAxes3DActor.
helper to assist in determine process order when rendering
vtkTypeUInt32 InteractiveRenderProcesses