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 
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