VTK
dox/Filtering/vtkSelection.h
Go to the documentation of this file.
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