VTK
dox/Common/DataModel/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 "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