VTK
|
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 00093 virtual void Subtract(vtkSelection* selection); 00094 00097 virtual void Subtract(vtkSelectionNode* node); 00098 00100 unsigned long GetMTime(); 00101 00103 00104 virtual void Dump(); 00105 //BTX 00106 virtual void Dump(ostream& os); 00107 //ETX 00109 00111 00112 static vtkSelection* GetData(vtkInformation* info); 00113 static vtkSelection* GetData(vtkInformationVector* v, int i=0); 00115 00116 //BTX 00117 protected: 00118 vtkSelection(); 00119 ~vtkSelection(); 00120 00121 private: 00122 vtkSelection(const vtkSelection&); // Not implemented. 00123 void operator=(const vtkSelection&); // Not implemented. 00124 00125 vtkSelectionInternals* Internal; 00126 //ETX 00127 }; 00128 00129 #endif