This file is indexed.

/usr/include/paraview/vtkSMViewProxy.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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
/*=========================================================================

  Program:   ParaView
  Module:    vtkSMViewProxy.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 vtkSMViewProxy - Superclass for all view proxies.
// .SECTION Description
// vtkSMViewProxy is a superclass for all view proxies. A view proxy
// abstracts the logic to take one or more representation proxies and show then
// in some viewport such as vtkRenderWindow.
// This class may directly be used as the view proxy for views that do all the
// rendering work at the GUI level. The VTKObject corresponding to this class
// has to be a vtkView subclass.
// .SECTION Events
// \li vtkCommand::StartEvent(callData: int:0) -- start of StillRender().
// \li vtkCommand::EndEvent(callData: int:0) -- end of StillRender().
// \li vtkCommand::StartEvent(callData: int:1) -- start of InteractiveRender().
// \li vtkCommand::EndEvent(callData: int:1) -- end of InteractiveRender().

#ifndef vtkSMViewProxy_h
#define vtkSMViewProxy_h

#include "vtkPVServerManagerRenderingModule.h" //needed for exports
#include "vtkSMProxy.h"

class vtkImageData;
class vtkRenderer;
class vtkRenderWindow;
class vtkRenderWindowInteractor;
class vtkSMRepresentationProxy;
class vtkSMSourceProxy;
class vtkView;

class VTKPVSERVERMANAGERRENDERING_EXPORT vtkSMViewProxy : public vtkSMProxy
{
public:
  static vtkSMViewProxy* New();
  vtkTypeMacro(vtkSMViewProxy, vtkSMProxy);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Enable/Disable a view.
  vtkSetMacro(Enable, bool);
  vtkGetMacro(Enable, bool);
  vtkBooleanMacro(Enable, bool);

  // Description:
  // Renders the view using full resolution.
  virtual void StillRender();

  // Description:
  // Renders the view using lower resolution is possible.
  virtual void InteractiveRender();

  // Description:
  // Called vtkPVView::Update on the server-side.
  virtual void Update();

  // Description:
  // Returns true if the view can display the data produced by the producer's
  // port. Internally calls GetRepresentationType() and returns true only if the
  // type is valid a representation proxy of that type can be created.
  virtual bool CanDisplayData(vtkSMSourceProxy* producer, int outputPort);

  // Description:
  // Create a default representation for the given source proxy.
  // Returns a new proxy.
  // In version 4.1 and earlier, subclasses overrode this method. Since 4.2, the
  // preferred way is to simply override GetRepresentationType(). That
  // ensures that CreateDefaultRepresentation() and CanDisplayData() both
  // work as expected.
  virtual vtkSMRepresentationProxy* CreateDefaultRepresentation(
    vtkSMProxy*, int);

  // Description:
  // Returns the xml name of the representation proxy to create to show the data
  // produced in this view, if any. Default implementation checks if the
  // producer has any "Hints" that define the representation to create in this
  // view and if so, returns that.
  // Or if this->DefaultRepresentationName is set and its Input property
  // can accept the data produced, returns this->DefaultRepresentationName.
  // Subclasses should override this method.
  virtual const char* GetRepresentationType(
    vtkSMSourceProxy* producer, int outputPort);

  // Description:
  // Finds the representation proxy showing the data produced by the provided
  // producer, if any. Note the representation may not necessarily be visible.
  virtual vtkSMRepresentationProxy* FindRepresentation(vtkSMSourceProxy* producer, int outputPort);

  // Description:
  // Captures a image from this view. Default implementation returns NULL.
  // Subclasses should override CaptureWindowInternal() to do the actual image
  // capture.
  vtkImageData* CaptureWindow(int magnification);

  // Description:
  // Returns the client-side vtkView, if any.
  vtkView* GetClientSideView();

  // Description:
  // Saves a screenshot of the view to disk. The writerName argument specifies
  // the vtkImageWriter subclass to use.
  int WriteImage(const char* filename, const char* writerName, int magnification=1);

  // Description:
  // Return true any internal representation is dirty. This can be usefull to
  // know if the internal geometry has changed.
  // DEPRECATED: Use GetNeedsUpdate() instead.
  virtual bool HasDirtyRepresentation() { return this->GetNeedsUpdate(); }

  // Description:
  // Returns true if the subsequent call to Update() will result in an actual
  // update. If returned true, it means that the view thinks its rendering is
  // obsolete and needs to be re-generated.
  vtkGetMacro(NeedsUpdate, bool);

  // Description:
  // Return the vtkRenderWindow used by this view, if any. Note, views like
  // vtkSMComparativeViewProxy can have more than 1 render window in play, in
  // which case, using this method alone may yield incorrect results. Also,
  // certain views don't use a vtkRenderWindow at all (e.g. Spreadsheet View),
  // in which case, this method will return NULL. Default implementation returns
  // NULL.
  virtual vtkRenderWindow* GetRenderWindow() { return NULL; }

  // Description:
  // Returns the interactor. Note, that views may not use vtkRenderWindow at all
  // in which case they will not have any interactor and will return NULL.
  // Default implementation returns NULL.
  virtual vtkRenderWindowInteractor* GetInteractor() { return NULL; }

  // Description:
  // A client process need to set the interactor to enable interactivity. Use
  // this method to set the interactor and initialize it as needed by the
  // RenderView. This include changing the interactor style as well as
  // overriding VTK rendering to use the Proxy/ViewProxy API instead.
  // Default implementation does nothing. Views that support interaction using
  // vtkRenderWindowInteractor should override this method to set the interactor
  // up.
  virtual void SetupInteractor(vtkRenderWindowInteractor* iren) {(void) iren;}

  // Description:
  // Creates a default render window interactor for the vtkRenderWindow and sets
  // it up on the local process if the local process supports interaction. This
  // should not be used when putting the render window in a QVTKWidget as that
  // may cause issues. One should let the QVTKWidget create the interactor and
  // then call SetupInteractor().
  virtual bool MakeRenderWindowInteractor(bool quiet=false);

  // Description:
  // Sets whether screenshots have a transparent background.
  static void SetTransparentBackground(bool val);
  static bool GetTransparentBackground();

  // Description:
  // Method used to hide other representations if the view has a
  // <ShowOneRepresentationAtATime/> hint.
  // This only affects other representations that have data inputs, not non-data
  // representations.
  // Returns true if any representations were hidden by this call, otherwise
  // returns false.
  virtual bool HideOtherRepresentationsIfNeeded(vtkSMProxy* repr);
  static bool HideOtherRepresentationsIfNeeded(vtkSMViewProxy* self, vtkSMProxy* repr)
    {
    return self? self->HideOtherRepresentationsIfNeeded(repr) : false;
    }

//BTX
protected:
  vtkSMViewProxy();
  ~vtkSMViewProxy();

  //
  // Description:
  // Subclasses should override this method to do the actual image capture.
  virtual vtkImageData* CaptureWindowInternal(int vtkNotUsed(magnification))
    { return NULL; }

  virtual vtkTypeUInt32 PreRender(bool vtkNotUsed(interactive))
    { return this->GetLocation(); }
  virtual void PostRender(bool vtkNotUsed(interactive)) {}

  // Description:
  // Subclasses should override this method and return false if the rendering
  // context is not ready for rendering at this moment. This method is called in
  // StillRender() and InteractiveRender() calls before the actual render to
  // ensure that we don't attempt to render when the rendering context is not
  // ready.
  // Default implementation uses this->GetRenderWindow() and checks if that
  // window is drawable.
  virtual bool IsContextReadyForRendering();

  // Description:
  // Called at the end of CreateVTKObjects().
  virtual void CreateVTKObjects();

  // Description:
  // Read attributes from an XML element.
  virtual int ReadXMLAttributes(vtkSMSessionProxyManager* pm, vtkPVXMLElement* element);

  // Description:
  // Convenience method to call
  // vtkPVView::SafeDownCast(this->GetClientSideObject())->GetLocalProcessSupportsInteraction();
  bool GetLocalProcessSupportsInteraction();

  vtkSetStringMacro(DefaultRepresentationName);
  char* DefaultRepresentationName;

  bool Enable;

private:
  vtkSMViewProxy(const vtkSMViewProxy&); // Not implemented
  void operator=(const vtkSMViewProxy&); // Not implemented

  static bool TransparentBackground;

  // When view's time changes, there's no way for the client-side proxies to
  // know that they may re-execute and their data info is invalid. So mark those
  // dirty explicitly.
  void ViewTimeChanged();

  // Actual logic for taking a screenshot.
  vtkImageData* CaptureWindowSingle(int magnification);
  class vtkRendererSaveInfo;
  vtkRendererSaveInfo* PrepareRendererBackground(vtkRenderer*, double, double, double, bool);
  void RestoreRendererBackground(vtkRenderer*, vtkRendererSaveInfo*);
//ETX
};

#endif