VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCirclePackToPolyData.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 -------------------------------------------------------------------------*/ 00036 #ifndef __vtkCirclePackToPolyData_h 00037 #define __vtkCirclePackToPolyData_h 00038 00039 #include "vtkInfovisLayoutModule.h" // For export macro 00040 #include "vtkPolyDataAlgorithm.h" 00041 00042 class VTKINFOVISLAYOUT_EXPORT vtkCirclePackToPolyData : public vtkPolyDataAlgorithm 00043 { 00044 public: 00045 static vtkCirclePackToPolyData *New(); 00046 00047 vtkTypeMacro(vtkCirclePackToPolyData,vtkPolyDataAlgorithm); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00051 00054 virtual void SetCirclesArrayName(const char* name) 00055 { this->SetInputArrayToProcess(0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_VERTICES, name); } 00057 00059 00060 vtkSetMacro(Resolution, unsigned int); 00061 vtkGetMacro(Resolution, unsigned int); 00063 00064 int FillInputPortInformation(int port, vtkInformation* info); 00065 00066 protected: 00067 vtkCirclePackToPolyData(); 00068 ~vtkCirclePackToPolyData(); 00069 00070 unsigned int Resolution; 00071 00072 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00073 private: 00074 vtkCirclePackToPolyData(const vtkCirclePackToPolyData&); // Not implemented. 00075 void operator=(const vtkCirclePackToPolyData&); // Not implemented. 00076 void CreateCircle(const double& x, 00077 const double& y, 00078 const double& z, 00079 const double& radius, 00080 const int& resolution, 00081 vtkPolyData* polyData); 00082 }; 00083 00084 #endif