VTK
vtkTreeDifferenceFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTreeDifferenceFilter.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 
31 #ifndef vtkTreeDifferenceFilter_h
32 #define vtkTreeDifferenceFilter_h
33 
34 #include "vtkInfovisCoreModule.h" // For export macro
35 #include "vtkGraphAlgorithm.h"
36 
37 #include "vtkSmartPointer.h" // For ivars
38 #include <vector> // For ivars
39 
40 class vtkDoubleArray;
41 class vtkTree;
42 
44 {
45 public:
46  static vtkTreeDifferenceFilter* New();
48  void PrintSelf(ostream& os, vtkIndent indent);
49 
51 
59  vtkSetStringMacro(IdArrayName);
60  vtkGetStringMacro(IdArrayName);
62 
64 
66  vtkSetStringMacro(ComparisonArrayName);
67  vtkGetStringMacro(ComparisonArrayName);
69 
71 
76  vtkSetStringMacro(OutputArrayName);
77  vtkGetStringMacro(OutputArrayName);
79 
81 
84  vtkSetMacro(ComparisonArrayIsVertexData, bool);
85  vtkGetMacro(ComparisonArrayIsVertexData, bool);
87 
88 protected:
91 
92  virtual int RequestData(
96 
98 
102  bool GenerateMapping(vtkTree *tree1, vtkTree *tree2);
103 
105 
107  vtkSmartPointer<vtkDoubleArray> ComputeDifference(vtkTree *tree1,
108  vtkTree *tree2);
110 
111  char* IdArrayName;
115 
116  std::vector< vtkIdType > VertexMap;
117  std::vector< vtkIdType > EdgeMap;
118 
119 private:
120  vtkTreeDifferenceFilter(const vtkTreeDifferenceFilter&); // Not implemented
121  void operator=(const vtkTreeDifferenceFilter&); // Not implemented
122 };
123 
124 #endif
static vtkGraphAlgorithm * New()
std::vector< vtkIdType > VertexMap
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only graph as output.
dynamic, self-adjusting array of double
std::vector< vtkIdType > EdgeMap
a simple class to control print indentation
Definition: vtkIndent.h:38
void PrintSelf(ostream &os, vtkIndent indent)
#define VTKINFOVISCORE_EXPORT
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Store zero or more vtkInformation instances.
A rooted tree data structure.
Definition: vtkTree.h:59
virtual int FillInputPortInformation(int port, vtkInformation *info)