00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00041 #ifndef __vtkBoostBreadthFirstSearchTree_h
00042 #define __vtkBoostBreadthFirstSearchTree_h
00043
00044 #include "vtkStdString.h"
00045 #include "vtkVariant.h"
00046
00047 #include "vtkTreeAlgorithm.h"
00048
00049 class VTK_INFOVIS_EXPORT vtkBoostBreadthFirstSearchTree : public vtkTreeAlgorithm
00050 {
00051 public:
00052 static vtkBoostBreadthFirstSearchTree *New();
00053 vtkTypeMacro(vtkBoostBreadthFirstSearchTree, vtkTreeAlgorithm);
00054 void PrintSelf(ostream& os, vtkIndent indent);
00055
00058 void SetOriginVertex(vtkIdType index);
00059
00060
00061
00063
00067 void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
00068
00070
00072
00074 vtkSetMacro(CreateGraphVertexIdArray, bool);
00075 vtkGetMacro(CreateGraphVertexIdArray, bool);
00076 vtkBooleanMacro(CreateGraphVertexIdArray, bool);
00078
00079 protected:
00080 vtkBoostBreadthFirstSearchTree();
00081 ~vtkBoostBreadthFirstSearchTree();
00082
00083 int FillInputPortInformation(int port, vtkInformation* info);
00084
00085 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00086
00087 private:
00088
00089 vtkIdType OriginVertexIndex;
00090 char* ArrayName;
00091
00092 vtkVariant OriginValue;
00093
00094 bool ArrayNameSet;
00095 bool CreateGraphVertexIdArray;
00096
00098
00099 vtkSetStringMacro(ArrayName);
00101
00102
00103
00105
00107 vtkIdType GetVertexIndex(
00108 vtkAbstractArray *abstract,vtkVariant value);
00109
00111
00112 vtkBoostBreadthFirstSearchTree(const vtkBoostBreadthFirstSearchTree&);
00113 void operator=(const vtkBoostBreadthFirstSearchTree&);
00114 };
00115
00116 #endif