00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00031 #ifndef __vtkAppendSelection_h
00032 #define __vtkAppendSelection_h
00033
00034 #include "vtkSelectionAlgorithm.h"
00035
00036 class vtkSelection;
00037
00038 class VTK_GRAPHICS_EXPORT vtkAppendSelection : public vtkSelectionAlgorithm
00039 {
00040 public:
00041 static vtkAppendSelection *New();
00042
00043 vtkTypeRevisionMacro(vtkAppendSelection,vtkSelectionAlgorithm);
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047
00051 vtkSetMacro(UserManagedInputs,int);
00052 vtkGetMacro(UserManagedInputs,int);
00053 vtkBooleanMacro(UserManagedInputs,int);
00055
00058 void AddInput(vtkSelection *);
00059
00062 void RemoveInput(vtkSelection *);
00063
00065
00066 vtkSelection *GetInput(int idx);
00067 vtkSelection *GetInput() { return this->GetInput( 0 ); };
00069
00070
00073 void SetNumberOfInputs(int num);
00074
00075
00076 void SetInputByNumber(int num, vtkSelection *input);
00077
00079
00084 vtkSetMacro(AppendByUnion, int);
00085 vtkGetMacro(AppendByUnion, int);
00086 vtkBooleanMacro(AppendByUnion, int);
00088
00089 protected:
00090 vtkAppendSelection();
00091 ~vtkAppendSelection();
00092
00093
00094 virtual int RequestData(vtkInformation *,
00095 vtkInformationVector **, vtkInformationVector *);
00096 virtual int FillInputPortInformation(int, vtkInformation *);
00097
00098 private:
00099
00100 void AddInput(vtkDataObject *)
00101 { vtkErrorMacro( << "AddInput() must be called with a vtkSelection not a vtkDataObject."); };
00102
00103 int UserManagedInputs;
00104 int AppendByUnion;
00105 private:
00106 vtkAppendSelection(const vtkAppendSelection&);
00107 void operator=(const vtkAppendSelection&);
00108 };
00109
00110 #endif
00111
00112