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 "vtkCommonDataModelModule.h" // For export macro 00037 #include "vtkDataObject.h" 00038 00039 //BTX 00040 class vtkSelectionNode; 00041 struct vtkSelectionInternals; 00042 //ETX 00043 00044 class VTKCOMMONDATAMODEL_EXPORT vtkSelection : public vtkDataObject 00045 { 00046 public: 00047 vtkTypeMacro(vtkSelection,vtkDataObject); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 static vtkSelection* New(); 00050 00052 virtual void Initialize(); 00053 00055 virtual int GetDataObjectType() {return VTK_SELECTION;} 00056 00059 unsigned int GetNumberOfNodes(); 00060 00063 virtual vtkSelectionNode* GetNode(unsigned int idx); 00064 00066 virtual void AddNode(vtkSelectionNode*); 00067 00069 00070 virtual void RemoveNode(unsigned int idx); 00071 virtual void RemoveNode(vtkSelectionNode*); 00072 virtual void RemoveAllNodes(); 00074 00076 virtual void DeepCopy(vtkDataObject* src); 00077 00080 virtual void ShallowCopy(vtkDataObject* src); 00081 00085 virtual void Union(vtkSelection* selection); 00086 00090 virtual void Union(vtkSelectionNode* node); 00091 00094 virtual void Subtract(vtkSelection* selection); 00095 00098 virtual void Subtract(vtkSelectionNode* node); 00099 00101 unsigned long GetMTime(); 00102 00104 00105 virtual void Dump(); 00106 //BTX 00107 virtual void Dump(ostream& os); 00108 //ETX 00110 00112 00113 static vtkSelection* GetData(vtkInformation* info); 00114 static vtkSelection* GetData(vtkInformationVector* v, int i=0); 00116 00117 //BTX 00118 protected: 00119 vtkSelection(); 00120 ~vtkSelection(); 00121 00122 private: 00123 vtkSelection(const vtkSelection&); // Not implemented. 00124 void operator=(const vtkSelection&); // Not implemented. 00125 00126 vtkSelectionInternals* Internal; 00127 //ETX 00128 }; 00129 00130 #endif