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
00064 void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
00065
00067
00069 vtkSetMacro(CreateGraphVertexIdArray, bool);
00070 vtkGetMacro(CreateGraphVertexIdArray, bool);
00071 vtkBooleanMacro(CreateGraphVertexIdArray, bool);
00073
00075
00076 vtkSetMacro(ReverseEdges, bool);
00077 vtkGetMacro(ReverseEdges, bool);
00078 vtkBooleanMacro(ReverseEdges, bool);
00080
00081 protected:
00082 vtkBoostBreadthFirstSearchTree();
00083 ~vtkBoostBreadthFirstSearchTree();
00084
00085 int FillInputPortInformation(int port, vtkInformation* info);
00086
00087 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00088
00089 private:
00090
00091 vtkIdType OriginVertexIndex;
00092 char* ArrayName;
00093 vtkVariant OriginValue;
00094 bool ArrayNameSet;
00095 bool CreateGraphVertexIdArray;
00096 bool ReverseEdges;
00097
00099
00100 vtkSetStringMacro(ArrayName);
00102
00104
00106 vtkIdType GetVertexIndex(
00107 vtkAbstractArray *abstract,vtkVariant value);
00109
00110 vtkBoostBreadthFirstSearchTree(const vtkBoostBreadthFirstSearchTree&);
00111 void operator=(const vtkBoostBreadthFirstSearchTree&);
00112 };
00113
00114 #endif