VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkBoostBreadthFirstSearchTree.h,v $ 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 -------------------------------------------------------------------------*/ 00038 #ifndef __vtkBoostBreadthFirstSearchTree_h 00039 #define __vtkBoostBreadthFirstSearchTree_h 00040 00041 #include "vtkStdString.h" // For string type 00042 #include "vtkVariant.h" // For variant type 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 //BTX 00058 00060 00064 void SetOriginVertex(vtkStdString arrayName, vtkVariant value); 00065 //ETX 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 //BTX 00089 vtkVariant OriginValue; 00090 //ETX 00091 bool ArrayNameSet; 00092 bool CreateGraphVertexIdArray; 00093 00095 00096 vtkSetStringMacro(ArrayName); 00098 00099 //BTX 00100 00102 00104 vtkIdType GetVertexIndex( 00105 vtkAbstractArray *abstract,vtkVariant value); 00106 //ETX 00108 00109 vtkBoostBreadthFirstSearchTree(const vtkBoostBreadthFirstSearchTree&); // Not implemented. 00110 void operator=(const vtkBoostBreadthFirstSearchTree&); // Not implemented. 00111 }; 00112 00113 #endif