00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCoincidentPoints.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 -------------------------------------------------------------------------*/ 00029 #ifndef __vtkCoincidentPoints_h 00030 #define __vtkCoincidentPoints_h 00031 00032 #include "vtkObject.h" 00033 00034 class vtkIdList; 00035 class vtkPoints; 00036 00037 class VTK_GRAPHICS_EXPORT vtkCoincidentPoints : public vtkObject 00038 { 00039 public: 00040 static vtkCoincidentPoints* New(); 00041 vtkTypeMacro(vtkCoincidentPoints,vtkObject); 00042 virtual void PrintSelf( ostream& os, vtkIndent indent ); 00043 00049 void AddPoint(vtkIdType Id, const double point[3]); 00050 00054 vtkIdList * GetCoincidentPointIds(const double point[3]); 00055 00058 vtkIdList * GetNextCoincidentPointIds(); 00059 00061 void InitTraversal(); 00062 00065 void RemoveNonCoincidentPoints(); 00066 00069 void Clear(); 00070 00071 //BTX 00072 class implementation; 00073 implementation * GetImplementation() { return this->Implementation; } 00074 //ETX 00075 00076 protected: 00077 vtkCoincidentPoints(); 00078 virtual ~vtkCoincidentPoints(); 00079 00080 private: 00081 vtkCoincidentPoints( const vtkCoincidentPoints& ); // Not implemented. 00082 void operator = ( const vtkCoincidentPoints& ); // Not implemented. 00083 00084 //BTX 00085 implementation* Implementation; 00086 00087 friend class implementation; 00088 //ETX 00089 }; 00090 00091 #endif // __vtkCoincidentPoints_h