00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkSelection.h,v $ 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 =========================================================================*/ 00030 #ifndef __vtkSelection_h 00031 #define __vtkSelection_h 00032 00033 #include "vtkDataObject.h" 00034 00035 //BTX 00036 class vtkSelectionNode; 00037 struct vtkSelectionInternals; 00038 //ETX 00039 00040 class VTK_FILTERING_EXPORT vtkSelection : public vtkDataObject 00041 { 00042 public: 00043 vtkTypeRevisionMacro(vtkSelection,vtkDataObject); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 static vtkSelection* New(); 00046 00048 virtual void Initialize(); 00049 00051 virtual int GetDataObjectType() {return VTK_SELECTION;} 00052 00055 unsigned int GetNumberOfNodes(); 00056 00059 virtual vtkSelectionNode* GetNode(unsigned int idx); 00060 00062 virtual void AddNode(vtkSelectionNode*); 00063 00065 00066 virtual void RemoveNode(unsigned int idx); 00067 virtual void RemoveNode(vtkSelectionNode*); 00068 virtual void RemoveAllNodes(); 00070 00072 virtual void DeepCopy(vtkDataObject* src); 00073 00076 virtual void ShallowCopy(vtkDataObject* src); 00077 00081 virtual void Union(vtkSelection* selection); 00082 00086 virtual void Union(vtkSelectionNode* node); 00087 00089 unsigned long GetMTime(); 00090 00092 00093 static vtkSelection* GetData(vtkInformation* info); 00094 static vtkSelection* GetData(vtkInformationVector* v, int i=0); 00096 00097 //BTX 00098 protected: 00099 vtkSelection(); 00100 ~vtkSelection(); 00101 00102 private: 00103 vtkSelection(const vtkSelection&); // Not implemented. 00104 void operator=(const vtkSelection&); // Not implemented. 00105 00106 vtkSelectionInternals* Internal; 00107 //ETX 00108 }; 00109 00110 #endif