vtkImageVolumeRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkImageVolumeRepresentation.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
35 #ifndef vtkImageVolumeRepresentation_h
36 #define vtkImageVolumeRepresentation_h
37 
38 #include "vtkNew.h" // needed for vtkNew.
39 #include "vtkRemotingViewsModule.h" //needed for exports
40 #include "vtkSmartPointer.h" // needed for vtkSmartPointer
42 
43 #include <string> // for ivar
44 
46 class vtkDataSet;
49 class vtkImageData;
51 class vtkOutlineSource;
53 class vtkPolyDataMapper;
54 class vtkPVLODVolume;
55 class vtkVolumeMapper;
56 class vtkVolumeProperty;
57 
59 {
60 public:
63  void PrintSelf(ostream& os, vtkIndent indent) override;
64 
72  vtkInformation* outInfo) override;
73 
74  //***************************************************************************
75  // Forwarded to vtkVolumeProperty.
76  void SetAmbient(double);
77  void SetDiffuse(double);
78  void SetSpecular(double);
79  void SetSpecularPower(double);
80  void SetShade(bool);
81  void SetSliceFunction(vtkImplicitFunction* slice);
82 
84 
87  void SetIsosurfaceValue(int i, double value);
88  void SetNumberOfIsosurfaces(int number);
90 
91  //***************************************************************************
92  // Forwarded to vtkSmartVolumeMapper/vtkMultiBlockVolumeMapper.
93  void SetRequestedRenderMode(int);
94  void SetBlendMode(int);
95  void SetCropping(int);
96 
98 
101  vtkSetVector3Macro(CroppingOrigin, double);
102  vtkGetVector3Macro(CroppingOrigin, double);
104 
106 
109  vtkSetVector3Macro(CroppingScale, double);
110  vtkGetVector3Macro(CroppingScale, double);
112 
113 protected:
115  ~vtkImageVolumeRepresentation() override;
116 
120  int FillInputPortInformation(int port, vtkInformation* info) override;
121 
123 
129  bool AddToView(vtkView* view) override;
130 
136  bool RemoveFromView(vtkView* view) override;
137 
141  virtual void UpdateMapperParameters();
142 
146  virtual vtkPVLODVolume* GetRenderedProp() { return this->Actor; };
147 
150 
152 
153  int WholeExtent[6] = { 0, -1, 0, -1, 0, -1 };
154  double CroppingOrigin[3] = { 0, 0, 0 };
155  double CroppingScale[3] = { 1, 1, 1 };
156 
157 private:
159  void operator=(const vtkImageVolumeRepresentation&) = delete;
160 };
161 
162 #endif
virtual vtkPVLODVolume * GetRenderedProp()
Used in ConvertSelection to locate the rendered prop.
#define VTKREMOTINGVIEWS_EXPORT
bool AddToView(vtkView *view) override
Making these methods public.
virtual int ProcessViewRequest(vtkInformationRequestKey *request_type, vtkInformation *inInfo, vtkInformation *outInfo)
vtkAlgorithm::ProcessRequest() equivalent for rendering passes.
virtual int FillInputPortInformation(int port, vtkInformation *info)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Overridden to invoke vtkCommand::UpdateDataEvent.
Abstract base class for volume representations.
vtkSmartPointer< vtkVolumeMapper > VolumeMapper
an actor that supports multiple levels of detail
bool RemoveFromView(vtkView *view) override
Making these methods public.
static vtkDataRepresentation * New()
vtkSmartPointer< vtkPVLODVolume > Actor
vtkNew< vtkPolyDataMapper > OutlineMapper
void PrintSelf(ostream &os, vtkIndent indent) override
representation for showing image datasets as a volume.