00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: vtkSelection.h 00005 00006 Copyright (c) Kitware, Inc. 00007 All rights reserved. 00008 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/ 00033 #ifndef __vtkSelection_h 00034 #define __vtkSelection_h 00035 00036 #include "vtkDataObject.h" 00037 00038 //BTX 00039 class vtkSelectionNode; 00040 struct vtkSelectionInternals; 00041 //ETX 00042 00043 class VTK_FILTERING_EXPORT vtkSelection : public vtkDataObject 00044 { 00045 public: 00046 vtkTypeMacro(vtkSelection,vtkDataObject); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 static vtkSelection* New(); 00049 00051 virtual void Initialize(); 00052 00054 virtual int GetDataObjectType() {return VTK_SELECTION;} 00055 00058 unsigned int GetNumberOfNodes(); 00059 00062 virtual vtkSelectionNode* GetNode(unsigned int idx); 00063 00065 virtual void AddNode(vtkSelectionNode*); 00066 00068 00069 virtual void RemoveNode(unsigned int idx); 00070 virtual void RemoveNode(vtkSelectionNode*); 00071 virtual void RemoveAllNodes(); 00073 00075 virtual void DeepCopy(vtkDataObject* src); 00076 00079 virtual void ShallowCopy(vtkDataObject* src); 00080 00084 virtual void Union(vtkSelection* selection); 00085 00089 virtual void Union(vtkSelectionNode* node); 00090 00092 unsigned long GetMTime(); 00093 00095 00096 virtual void Dump(); 00097 //BTX 00098 virtual void Dump(ostream& os); 00099 //ETX 00101 00103 00104 static vtkSelection* GetData(vtkInformation* info); 00105 static vtkSelection* GetData(vtkInformationVector* v, int i=0); 00107 00108 //BTX 00109 protected: 00110 vtkSelection(); 00111 ~vtkSelection(); 00112 00113 private: 00114 vtkSelection(const vtkSelection&); // Not implemented. 00115 void operator=(const vtkSelection&); // Not implemented. 00116 00117 vtkSelectionInternals* Internal; 00118 //ETX 00119 }; 00120 00121 #endif