VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkBoostBreadthFirstSearchTree.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00041 #ifndef __vtkBoostBreadthFirstSearchTree_h 00042 #define __vtkBoostBreadthFirstSearchTree_h 00043 00044 #include "vtkStdString.h" // For string type 00045 #include "vtkVariant.h" // For variant type 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 //BTX 00061 00063 00067 void SetOriginVertex(vtkStdString arrayName, vtkVariant value); 00068 //ETX 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 //BTX 00092 vtkVariant OriginValue; 00093 //ETX 00094 bool ArrayNameSet; 00095 bool CreateGraphVertexIdArray; 00096 00098 00099 vtkSetStringMacro(ArrayName); 00101 00102 //BTX 00103 00105 00107 vtkIdType GetVertexIndex( 00108 vtkAbstractArray *abstract,vtkVariant value); 00109 //ETX 00111 00112 vtkBoostBreadthFirstSearchTree(const vtkBoostBreadthFirstSearchTree&); // Not implemented. 00113 void operator=(const vtkBoostBreadthFirstSearchTree&); // Not implemented. 00114 }; 00115 00116 #endif