00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkNetworkHierarchy.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 -------------------------------------------------------------------------*/ 00033 #ifndef __vtkNetworkHierarchy_h 00034 #define __vtkNetworkHierarchy_h 00035 00036 #include "vtkTreeAlgorithm.h" 00037 00038 class vtkStdString; 00039 00040 class VTK_INFOVIS_EXPORT vtkNetworkHierarchy : public vtkTreeAlgorithm 00041 { 00042 public: 00043 static vtkNetworkHierarchy* New(); 00044 vtkTypeMacro(vtkNetworkHierarchy,vtkTreeAlgorithm); 00045 00047 00048 vtkGetStringMacro(IPArrayName); 00049 vtkSetStringMacro(IPArrayName); 00051 00052 void PrintSelf(ostream& os, vtkIndent indent); 00053 00054 protected: 00055 vtkNetworkHierarchy(); 00056 ~vtkNetworkHierarchy(); 00057 00058 int RequestData( 00059 vtkInformation*, 00060 vtkInformationVector**, 00061 vtkInformationVector*); 00062 00063 int FillOutputPortInformation( 00064 int vtkNotUsed(port), vtkInformation* info); 00065 int FillInputPortInformation( 00066 int vtkNotUsed(port), vtkInformation* info); 00067 00068 private: 00069 vtkNetworkHierarchy(const vtkNetworkHierarchy&); // Not implemented 00070 void operator=(const vtkNetworkHierarchy&); // Not implemented 00071 00072 // Internal helper functions 00073 unsigned int ITON(vtkStdString ip); 00074 void GetSubnets(unsigned int packedIP, int *subnets); 00075 00076 char *IPArrayName; 00077 00078 }; 00079 00080 #endif 00081