This file is indexed.

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

   Program: ParaView
   Module:    pqOutputPort.h

   Copyright (c) 2005-2008 Sandia Corporation, Kitware Inc.
   All rights reserved.

   ParaView is a free software; you can redistribute it and/or modify it
   under the terms of the ParaView license version 1.2. 

   See License_v1.2.txt for the full ParaView license.
   A copy of this license can be obtained by contacting
   Kitware Inc.
   28 Corporate Drive
   Clifton Park, NY 12065
   USA

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

========================================================================*/
#ifndef pqOutputPort_h
#define pqOutputPort_h

#include "pqServerManagerModelItem.h"
#include "pqCoreModule.h"

class pqDataRepresentation;
class pqPipelineSource;
class pqServer;
class pqView;
class vtkPVDataInformation;
class vtkPVTemporalDataInformation;
class vtkSMOutputPort;
class vtkSMSourceProxy;

/// pqOutputPort is a server manager model item for an output port of any
/// pqPipelineSource item. This makes it possible to refer to a particular
/// output port in the server manager model. The pqPipelineSource keeps
/// references to all its output ports. The only way to access pqOutputPort
/// items is through the pqPipelineSource. One can obtain the pqPipelineSource
/// item from a pqOutputPort using getSource().
/// Once the outputs can be named, we will change this class to use output port
/// names instead of numbers.
class PQCORE_EXPORT pqOutputPort : public pqServerManagerModelItem
{
  Q_OBJECT
  typedef pqServerManagerModelItem Superclass;
public:
  pqOutputPort(pqPipelineSource* source, int portno);
  virtual ~pqOutputPort();

  /// Returns the vtkSMOutputPort proxy for this port.
  vtkSMOutputPort* getOutputPortProxy() const;

  /// Returns the pqPipelineSource whose output port this is.
  pqPipelineSource* getSource() const
    { return this->Source; }

  /// Return the vtkSMSourceProxy for the source.
  vtkSMSourceProxy* getSourceProxy() const;


  /// Returns the server connection on which this output port exists.
  pqServer* getServer() const;

  /// Returns the port number of the output port which this item represents.
  int getPortNumber() const
    { return this->PortNumber; }

  /// Returns the port name for this output port.
  QString getPortName() const;

  /// Returns the number of consumers connected to this output port. 
  int getNumberOfConsumers() const;

  /// Get the consumer at a particular index on this output port.
  pqPipelineSource* getConsumer(int index) const;

  /// Returns a list of consumers.
  QList<pqPipelineSource*> getConsumers() const;

  /// Returns a list of representations for this output port in the given view.
  /// If view == NULL, returns all representations of this port.
  QList<pqDataRepresentation*> getRepresentations(pqView* view) const;

  /// Returns the first representation for this output port in the given view.
  /// If view is NULL, returns 0.
  pqDataRepresentation* getRepresentation(pqView* view) const;

  /// Returns a list of render modules in which this output port
  /// has representations added (the representations may not be visible).
  QList<pqView*> getViews() const;

  /// Returns the current data information at this output port.
  /// This does not update the pipeline, it simply returns the data information
  /// for data currently present on the output port on the server.
  vtkPVDataInformation* getDataInformation() const;

  /// Collects data information over time. This can potentially be a very slow
  /// process, so use with caution.
  vtkPVTemporalDataInformation* getTemporalDataInformation();

  /// Returns the class name of the output data.
  const char* getDataClassName() const;

  /// Calls vtkSMSourceProxy::GetSelectionInput() on the underlying source
  /// proxy.
  vtkSMSourceProxy* getSelectionInput();

  /// Calls vtkSMSourceProxy::GetSelectionInputPort() on the underlying source
  /// proxy.
  unsigned int getSelectionInputPort();

  /// Set the selection input.
  void setSelectionInput(vtkSMSourceProxy* src, int port);

public slots:
  /// This method updates all render modules to which all  
  /// representations for this source belong, if force is true, it for an 
  /// immediate render otherwise render on idle.
  void renderAllViews(bool force=false);

signals:
  /// Fired when a connection is added between this output port and a consumer.
  void connectionAdded(pqOutputPort* port, pqPipelineSource* consumer);
  void preConnectionAdded(pqOutputPort* port, pqPipelineSource* consumer);

  /// Fired when a connection is removed between this output port and a consumer.
  void connectionRemoved(pqOutputPort* port, pqPipelineSource* consumer);
  void preConnectionRemoved(pqOutputPort* port, pqPipelineSource* consumer);

  /// fired when a representation is added.
  void representationAdded(pqOutputPort* source, pqDataRepresentation* repr);

  /// fired when a representation is removed.
  void representationRemoved(pqOutputPort* source, pqDataRepresentation* repr);

  /// Fired when the visbility of a representation for the source changes.
  /// Also fired when representationAdded or representationRemoved is fired
  /// since that too implies change in source visibility.
  void visibilityChanged(pqOutputPort* source, pqDataRepresentation* repr);

protected slots:
  void onRepresentationVisibilityChanged();

protected:
  friend class pqPipelineFilter;
  friend class pqDataRepresentation;

  /// called by pqPipelineSource when the connections change.
  void removeConsumer(pqPipelineSource *);
  void addConsumer(pqPipelineSource*);

  /// Called by pqPipelineSource when the representations are added/removed.
  void addRepresentation(pqDataRepresentation*);
  void removeRepresentation(pqDataRepresentation*);

  pqPipelineSource* Source;
  int PortNumber;

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

  class pqInternal;
  pqInternal* Internal;
};

#endif