/usr/include/paraview/vtkPVOrthographicSliceView.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 | /*=========================================================================
Program: ParaView
Module: vtkPVOrthographicSliceView.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 vtkPVOrthographicSliceView -- vtkView subclass for Orthographic Slice
// View.
// .SECTION Description
// vtkPVOrthographicSliceView extends vtkPVMultiSliceView to support showing a
// quad-view with orthographic views along with the 3D view. Work with
// vtkPVCompositeOrthographicSliceRepresentation and vtkGeometrySliceRepresentation,
// this class create a 3 slices for any dataset shown in this view and shows
// those slices in the orthographic views. The orthographic views themselves are
// non-composited i.e. the data is simply cloned on all rendering processes
// (hence we limit ourselves to showing slices alone).
//
// .SECTION Interactions
// In the orthographic views, users can use the thumb-wheel to change the slice
// plane (in which case the \c SliceIncrements are used to update the slice
// position). Additionally, users can double click in any of the orthographic
// views to move the slice position to that location.
#ifndef vtkPVOrthographicSliceView_h
#define vtkPVOrthographicSliceView_h
#include "vtkPVMultiSliceView.h"
class vtkPVOrthographicSliceViewInteractorStyle;
class VTKPVCLIENTSERVERCORERENDERING_EXPORT vtkPVOrthographicSliceView : public vtkPVMultiSliceView
{
public:
static vtkPVOrthographicSliceView* New();
vtkTypeMacro(vtkPVOrthographicSliceView, vtkPVMultiSliceView);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Initialize the view with an identifier. Unless noted otherwise, this method
// must be called before calling any other methods on this class.
// @CallOnAllProcessess
virtual void Initialize(unsigned int id);
// Description:
// Overridden to ensure that the SlicePositionAxes3D doesn't get used when
// determine view bounds.
virtual void Update();
enum
{
SAGITTAL_VIEW_RENDERER = vtkPVRenderView::NON_COMPOSITED_RENDERER + 1,
AXIAL_VIEW_RENDERER,
CORONAL_VIEW_RENDERER,
};
// Description:
// Overridden to add support for new types of renderers.
virtual vtkRenderer* GetRenderer(int rendererType=vtkPVRenderView::DEFAULT_RENDERER);
virtual void ResetCamera();
virtual void ResetCamera(double bounds[6]);
virtual void SetInteractionMode(int mode);
virtual void SetupInteractor(vtkRenderWindowInteractor*);
// Description:
// Set the slice position.
void SetSlicePosition(double x, double y, double z);
vtkGetVector3Macro(SlicePosition, double);
// Description:
// Set slice increments.
vtkSetVector3Macro(SliceIncrements, double);
// Description:
// Get/Set whether to show slice annotations.
vtkSetMacro(SliceAnnotationsVisibility, bool);
vtkGetMacro(SliceAnnotationsVisibility, bool);
// Description:
// To avoid confusion, we don't show the center axes at all in this view.
virtual void SetCenterAxesVisibility(bool){}
//*****************************************************************
virtual void SetBackground(double r, double g, double b);
virtual void SetBackground2(double r, double g, double b);
virtual void SetBackgroundTexture(vtkTexture* val);
virtual void SetGradientBackground(int val);
virtual void SetTexturedBackground(int val);
//BTX
protected:
vtkPVOrthographicSliceView();
~vtkPVOrthographicSliceView();
virtual void AboutToRenderOnLocalProcess(bool interactive);
virtual void UpdateCenterAxes();
//*****************************************************************
// Forward to vtkPVOrthographicSliceView instances.
virtual void SetCenterOfRotation(double x, double y, double z);
virtual void SetRotationFactor(double factor);
// Description:
// Set the vtkPVGridAxes3DActor to use for the view.
virtual void SetGridAxes3DActor(vtkPVGridAxes3DActor*);
enum
{
SIDE_VIEW = 0,
TOP_VIEW = 1,
FRONT_VIEW = 2,
YZ_PLANE = SIDE_VIEW,
ZX_PLANE = TOP_VIEW,
XY_PLANE = FRONT_VIEW,
AXIAL_VIEW = TOP_VIEW,
CORONAL_VIEW = FRONT_VIEW,
SAGITTAL_VIEW = SIDE_VIEW,
RIGHT_SIDE_VIEW = SIDE_VIEW
};
vtkNew<vtkRenderer> Renderers[3];
vtkNew<vtkPVOrthographicSliceViewInteractorStyle> OrthographicInteractorStyle;
vtkNew<vtkPVCenterAxesActor> SlicePositionAxes2D[3];
vtkNew<vtkPVCenterAxesActor> SlicePositionAxes3D;
vtkNew<vtkTextRepresentation> SliceAnnotations[3];
vtkSmartPointer<vtkPVGridAxes3DActor> GridAxes3DActors[3];
double SliceIncrements[3];
double SlicePosition[3];
bool SliceAnnotationsVisibility;
private:
vtkPVOrthographicSliceView(const vtkPVOrthographicSliceView&); // Not implemented
void operator=(const vtkPVOrthographicSliceView&); // Not implemented
void OnMouseWheelForwardEvent();
void OnMouseWheelBackwardEvent();
void MoveSlicePosition(vtkRenderer* ren, double position[3]);
unsigned long MouseWheelForwardEventId;
unsigned long MouseWheelBackwardEventId;
friend class vtkPVOrthographicSliceViewInteractorStyle;
bool GridAxes3DActorsNeedShallowCopy;
unsigned long GridAxes3DActorObserverId;
void OnGridAxes3DActorModified();
//ETX
};
#endif
|