VTK
vtkPBGLBreadthFirstSearch.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPBGLBreadthFirstSearch.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
42 #ifndef vtkPBGLBreadthFirstSearch_h
43 #define vtkPBGLBreadthFirstSearch_h
44 
45 #include "vtkInfovisParallelModule.h" // For export macro
46 #include "vtkStdString.h" // For string type
47 #include "vtkVariant.h" // For variant type
48 
49 #include "vtkGraphAlgorithm.h"
50 
51 class vtkSelection;
52 
53 #if !defined(VTK_LEGACY_REMOVE)
54 class VTKINFOVISPARALLEL_EXPORT vtkPBGLBreadthFirstSearch : public vtkGraphAlgorithm
55 {
56 public:
59  void PrintSelf(ostream& os, vtkIndent indent);
60 
62 
65  void SetOriginSelection(vtkSelection *s);
67  {
68  this->SetInputConnection(1, algOutput);
69  }
71 
76  void SetOriginVertex(vtkIdType index);
77 
85  void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
86 
94  void SetOriginVertexString(char* arrayName, char* value);
95 
97 
101  vtkSetStringMacro(OutputArrayName);
103 
105 
111  vtkSetMacro(OriginFromSelection, bool);
112  vtkGetMacro(OriginFromSelection, bool);
113  vtkBooleanMacro(OriginFromSelection, bool);
115 
117 
122  vtkGetMacro(OutputSelection, bool);
123  vtkSetMacro(OutputSelection, bool);
124  vtkBooleanMacro(OutputSelection, bool);
126 
128 
133  vtkSetStringMacro(OutputSelectionType);
135 
136 protected:
139 
140  virtual int RequestData(
141  vtkInformation *,
144 
145  virtual int FillInputPortInformation(
146  int port, vtkInformation* info);
147 
148  virtual int FillOutputPortInformation(
149  int port, vtkInformation* info);
150 
151 private:
152 
153  vtkIdType OriginVertexIndex;
154  char* InputArrayName;
155  char* OutputArrayName;
156  vtkVariant OriginValue;
157  bool OutputSelection;
158  bool OriginFromSelection;
159  char* OutputSelectionType;
160 
162 
165  vtkSetStringMacro(InputArrayName);
167 
172  vtkIdType GetVertexIndex(
173  vtkAbstractArray *abstract,vtkVariant value);
174 
175  vtkPBGLBreadthFirstSearch(const vtkPBGLBreadthFirstSearch&) VTK_DELETE_FUNCTION;
176  void operator=(const vtkPBGLBreadthFirstSearch&) VTK_DELETE_FUNCTION;
177 };
178 
179 #endif //VTK_LEGACY_REMOVE
180 #endif
static vtkGraphAlgorithm * New()
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:47
Store vtkAlgorithm input/output information.
Abstract superclass for all arrays.
A node in a selection tree.
Definition: vtkSelection.h:43
int vtkIdType
Definition: vtkType.h:287
Superclass for algorithms that produce only graph as output.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
A atomic type representing the union of many types.
Definition: vtkVariant.h:75
Proxy object to connect input/output ports.
a simple class to control print indentation
Definition: vtkIndent.h:39
void SetOriginSelectionConnection(vtkAlgorithmOutput *algOutput)
Convenience methods for setting the origin selection input.
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Breadth-first search on a distributed vtkGraph.