/usr/include/paraview/vtkImageSliceRepresentation.h is in paraview-dev 5.0.1+dfsg1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | /*=========================================================================
Program: ParaView
Module: vtkImageSliceRepresentation.h
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkImageSliceRepresentation - representation for showing slices from a
// vtkImageData.
// .SECTION Description
// vtkImageSliceRepresentation is a representation for showing slices from an
// image dataset. Currently, it does not support composite datasets, however, we
// should be able to add such a support in future.
#ifndef vtkImageSliceRepresentation_h
#define vtkImageSliceRepresentation_h
#include "vtkPVClientServerCoreRenderingModule.h" //needed for exports
#include "vtkPVDataRepresentation.h"
#include "vtkStructuredData.h" // for VTK_*_PLANE
#include "vtkNew.h" // for vtkNew.
class vtkImageData;
class vtkPExtentTranslator;
class vtkPVCacheKeeper;
class vtkPVImageSliceMapper;
class vtkPVLODActor;
class vtkScalarsToColors;
class VTKPVCLIENTSERVERCORERENDERING_EXPORT vtkImageSliceRepresentation : public vtkPVDataRepresentation
{
public:
static vtkImageSliceRepresentation* New();
vtkTypeMacro(vtkImageSliceRepresentation, vtkPVDataRepresentation);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Set the input data arrays that this algorithm will process. Overridden to
// pass the array selection to the mapper.
virtual void SetInputArrayToProcess(int idx, int port, int connection,
int fieldAssociation, const char *name);
virtual void SetInputArrayToProcess(int idx, int port, int connection,
int fieldAssociation, int fieldAttributeType)
{
this->Superclass::SetInputArrayToProcess(
idx, port, connection, fieldAssociation, fieldAttributeType);
}
virtual void SetInputArrayToProcess(int idx, vtkInformation *info)
{
this->Superclass::SetInputArrayToProcess(idx, info);
}
virtual void SetInputArrayToProcess(int idx, int port, int connection,
const char* fieldAssociation,
const char* attributeTypeorName)
{
this->Superclass::SetInputArrayToProcess(idx, port, connection,
fieldAssociation, attributeTypeorName);
}
// Description:
// vtkAlgorithm::ProcessRequest() equivalent for rendering passes. This is
// typically called by the vtkView to request meta-data from the
// representations or ask them to perform certain tasks e.g.
// PrepareForRendering.
virtual int ProcessViewRequest(vtkInformationRequestKey* request_type,
vtkInformation* inInfo, vtkInformation* outInfo);
// Description:
// This needs to be called on all instances of vtkImageSliceRepresentation when
// the input is modified. This is essential since the geometry filter does not
// have any real-input on the client side which messes with the Update
// requests.
virtual void MarkModified();
// Description:
// Get/Set the visibility for this representation. When the visibility of
// representation of false, all view passes are ignored.
// Overridden to propagate to the active representation.
virtual void SetVisibility(bool val);
// Description:
// Get set the slice number to extract.
virtual void SetSlice(unsigned int);
vtkGetMacro(Slice, unsigned int);
//BTX
enum
{
XY_PLANE = VTK_XY_PLANE,
YZ_PLANE = VTK_YZ_PLANE,
XZ_PLANE = VTK_XZ_PLANE
};
//ETX
// Description:
// Get/Set the direction in which to slice a 3D input data.
virtual void SetSliceMode(int);
vtkGetMacro(SliceMode, int);
//---------------------------------------------------------------------------
// Forwarded to Actor.
void SetOrientation(double, double, double);
void SetOrigin(double, double, double);
void SetPickable(int val);
void SetPosition(double, double, double);
void SetScale(double, double, double);
//---------------------------------------------------------------------------
// Forwarded to vtkProperty.
void SetOpacity(double val);
//---------------------------------------------------------------------------
// Forwarded to vtkPVImageSliceMapper.
void SetLookupTable(vtkScalarsToColors* val);
void SetMapScalars(int val);
void SetUseXYPlane(int val);
// Description:
// Provides access to the actor used by this representation.
vtkPVLODActor* GetActor() { return this->Actor; }
//BTX
protected:
vtkImageSliceRepresentation();
~vtkImageSliceRepresentation();
// Description:
// Extract the slice.
void UpdateSliceData(vtkInformationVector**);
// Description:
// Fill input port information.
virtual int FillInputPortInformation(int port, vtkInformation* info);
// Description:
// Subclasses should override this to connect inputs to the internal pipeline
// as necessary. Since most representations are "meta-filters" (i.e. filters
// containing other filters), you should create shallow copies of your input
// before connecting to the internal pipeline. The convenience method
// GetInternalOutputPort will create a cached shallow copy of a specified
// input for you. The related helper functions GetInternalAnnotationOutputPort,
// GetInternalSelectionOutputPort should be used to obtain a selection or
// annotation port whose selections are localized for a particular input data object.
virtual int RequestData(vtkInformation*,
vtkInformationVector**, vtkInformationVector*);
// Description:
// Adds the representation to the view. This is called from
// vtkView::AddRepresentation(). Subclasses should override this method.
// Returns true if the addition succeeds.
virtual bool AddToView(vtkView* view);
// Description:
// Removes the representation to the view. This is called from
// vtkView::RemoveRepresentation(). Subclasses should override this method.
// Returns true if the removal succeeds.
virtual bool RemoveFromView(vtkView* view);
// Description:
// Overridden to check with the vtkPVCacheKeeper to see if the key is cached.
virtual bool IsCached(double cache_key);
int SliceMode;
unsigned int Slice;
vtkPVCacheKeeper* CacheKeeper;
vtkPVImageSliceMapper* SliceMapper;
vtkPVLODActor* Actor;
vtkImageData* SliceData;
// meta-data about the input image to pass on to render view for hints
// when redistributing data.
vtkNew<vtkPExtentTranslator> PExtentTranslator;
int WholeExtent[6];
private:
vtkImageSliceRepresentation(const vtkImageSliceRepresentation&); // Not implemented
void operator=(const vtkImageSliceRepresentation&); // Not implemented
//ETX
};
#endif
|