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