This file is indexed.

/usr/include/paraview/vtkPVDataRepresentation.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
/*=========================================================================

  Program:   ParaView
  Module:    vtkPVDataRepresentation.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 vtkPVDataRepresentation
// .SECTION Description
// vtkPVDataRepresentation adds some ParaView specific API to data
// representations.
// .SECTION See Also
// vtkPVDataRepresentationPipeline

#ifndef vtkPVDataRepresentation_h
#define vtkPVDataRepresentation_h

#include "vtkPVClientServerCoreRenderingModule.h" //needed for exports
#include "vtkDataRepresentation.h"
#include "vtkWeakPointer.h" // needed for vtkWeakPointer
class vtkInformationRequestKey;

class VTKPVCLIENTSERVERCORERENDERING_EXPORT vtkPVDataRepresentation : public vtkDataRepresentation
{
public:
  vtkTypeMacro(vtkPVDataRepresentation, vtkDataRepresentation);
  void PrintSelf(ostream& os, vtkIndent indent);

  // 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.
  // Overridden to skip processing when visibility if off.
  virtual int ProcessViewRequest(vtkInformationRequestKey* request_type,
    vtkInformation* inInfo, vtkInformation* outInfo);

  // Description:
  // This is one of the most important functions. In VTK pipelines, it's very
  // easy for the pipeline to decide when it needs to re-execute.
  // vtkAlgorithm::Update() can go up the entire pipeline to see if any filters
  // MTime changed (among other things) and if so, it can re-execute the pipeline.
  // However in case of representations, the real input connection may only be
  // present on the data-server nodes. In that case the
  // vtkPVDataRepresentation::RequestData() will only get called on the
  // data-server nodes. That means that representations won't be able to any
  // data-delivery in RequestData(). We'd need some other mechanisms to
  // synchronize data-delivery among processes. To avoid that conundrum, the
  // vtkSMRepresentationProxy calls MarkModified() on all processes whenever any
  // filter in the pipeline is modified. In this method, the
  // vtkPVDataRepresentation subclasses should ensure that they mark all
  // delivery related filters dirty in their RequestData to ensure they execute
  // then next time they are updated. The vtkPVDataRepresentation also uses a
  // special executive which avoids updating the representation unless
  // MarkModified() was called since the last Update(), thus acting as a
  // update-suppressor.
  virtual void MarkModified();

  // Description:
  // Initialize the representation with an identifier range so each internal
  // representation can own a unique ID.
  // If a representation requires more IDs than the set of ids provided,
  // the representation MUST complains by an error or abort explaining how many
  // ids where expected so the number of reserved ids could be easily adjust.
  // Unless noted otherwise, this method must be called before calling any
  // other methods on this class.
  // @CallOnAllProcessess
  // Internally you can pick an id that follow that condition
  // minIdAvailable <= id <= maxIdAvailable
  // Return the minIdAvailable after initialization so that new range could be used
  virtual unsigned int Initialize(unsigned int minIdAvailable, unsigned int maxIdAvailable);

  // Description:
  // Return 0 if the Initialize() method was not called otherwise a unique ID
  // that will be shared across the processes for that same object.
  unsigned int GetUniqueIdentifier() { return this->UniqueIdentifier; }

  // Description:
  // Get/Set the visibility for this representation. When the visibility of
  // representation of false, all view passes are ignored.
  virtual void SetVisibility(bool val)
    { this->Visibility = val; }
  vtkGetMacro(Visibility, bool);

  // Description:
  // Returns the data object that is rendered from the given input port.
  virtual vtkDataObject* GetRenderedDataObject(int vtkNotUsed(port))
    { return this->GetInputDataObject(0, 0); }

  // Description:
  // Set the update time.
  virtual void SetUpdateTime(double time);
  vtkGetMacro(UpdateTime, double);

  // Description:
  // Set whether the UpdateTime is valid.
  vtkGetMacro(UpdateTimeValid, bool);

  // Description:
  // @deprecated No longer needed. Simply remove these methods from your
  // subclass implementation.
  VTK_LEGACY(virtual void SetUseCache(bool));
  VTK_LEGACY(virtual void SetCacheKey(double val));

  // Description:
  // Typically a representation decides whether to use cache based on the view's
  // values for UseCache and CacheKey.
  // However in some cases we may want to
  // force a representation to cache irrespective of the view (e.g. comparative
  // views). In which case these ivars can up set. If ForcedCacheKey is true, it
  // overrides UseCache and CacheKey. Instead, ForcedCacheKey is used.
  virtual void SetForcedCacheKey(double val)
    { this->ForcedCacheKey = val; }
  virtual void SetForceUseCache(bool val)
    { this->ForceUseCache = val; }

  // Description:
  // Returns whether caching is used and what key to use when caching is
  // enabled.
  virtual double GetCacheKey();
  virtual bool GetUseCache();

  // Description:
  // Called by vtkPVDataRepresentationPipeline to see if using cache is valid
  // and will be used for the update. If so, it bypasses all pipeline passes.
  // Subclasses should override IsCached(double) to indicate if a particular
  // entry is cached.
  bool GetUsingCacheForUpdate();

  vtkGetMacro(NeedUpdate,  bool);

  // Description:
  // Making these methods public. When constructing composite representations,
  // we need to call these methods directly on internal representations.
  virtual bool AddToView(vtkView* view);
  virtual bool RemoveFromView(vtkView* view);

  // Description:
  // Retrieves an output port for the input data object at the specified port
  // and connection index. This may be connected to the representation's
  // internal pipeline.
  // Overridden to use vtkPVTrivialProducer instead of vtkTrivialProducer
  virtual vtkAlgorithmOutput* GetInternalOutputPort()
    { return this->GetInternalOutputPort(0); }
  virtual vtkAlgorithmOutput* GetInternalOutputPort(int port)
    { return this->GetInternalOutputPort(port, 0); }
  virtual vtkAlgorithmOutput* GetInternalOutputPort(int port, int conn);

  // Description:
  // Provides access to the view.
  vtkView* GetView() const;

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

  // Description:
  // Subclasses should override this method when they support caching to
  // indicate if the particular key is cached. Default returns false.
  virtual bool IsCached(double cache_key)
    { (void)cache_key; return false; }

  // Description:
  // Create a default executive.
  virtual vtkExecutive* CreateDefaultExecutive();

  // Description:
  // Overridden to invoke vtkCommand::UpdateDataEvent.
  virtual int RequestData(vtkInformation*,
    vtkInformationVector**, vtkInformationVector*);

  virtual int RequestUpdateExtent(vtkInformation* request,
    vtkInformationVector** inputVector,
    vtkInformationVector* outputVector);

  virtual int RequestUpdateTime (vtkInformation*,
                                  vtkInformationVector**,
                                 vtkInformationVector*);

  double UpdateTime;
  bool UpdateTimeValid;
  unsigned int UniqueIdentifier;
private:
  vtkPVDataRepresentation(const vtkPVDataRepresentation&); // Not implemented
  void operator=(const vtkPVDataRepresentation&); // Not implemented

  bool Visibility;
  bool ForceUseCache;
  double ForcedCacheKey;
  bool NeedUpdate;

  class Internals;
  Internals* Implementation;
  vtkWeakPointer<vtkView> View;
//ETX
};

#endif