• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Graphics/vtkExtractSelection.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkExtractSelection.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm 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 __vtkExtractSelection_h
00034 #define __vtkExtractSelection_h
00035 
00036 #include "vtkExtractSelectionBase.h"
00037 
00038 class vtkExtractSelectedBlock;
00039 class vtkExtractSelectedFrustum;
00040 class vtkExtractSelectedIds;
00041 class vtkExtractSelectedLocations;
00042 class vtkExtractSelectedThresholds;
00043 class vtkProbeSelectedLocations;
00044 class vtkSelection;
00045 class vtkSelectionNode;
00046 
00047 class VTK_GRAPHICS_EXPORT vtkExtractSelection : public vtkExtractSelectionBase
00048 {
00049 public:
00050   static vtkExtractSelection *New();
00051   vtkTypeRevisionMacro(vtkExtractSelection, vtkExtractSelectionBase);
00052   void PrintSelf(ostream& os, vtkIndent indent);
00053 
00055 
00058   vtkSetMacro(ShowBounds,int);
00059   vtkGetMacro(ShowBounds,int);
00060   vtkBooleanMacro(ShowBounds,int);
00062 
00064 
00067   vtkSetMacro(UseProbeForLocations, int);
00068   vtkGetMacro(UseProbeForLocations, int);
00069   vtkBooleanMacro(UseProbeForLocations, int);
00071 
00072 protected:
00073   vtkExtractSelection();
00074   ~vtkExtractSelection();
00075 
00076   virtual int FillInputPortInformation(int port, vtkInformation* info);
00077 
00078   //sets up empty output dataset
00079   virtual int RequestDataObject(vtkInformation* request,
00080                                 vtkInformationVector** inputVector,
00081                                 vtkInformationVector* outputVector);
00082 
00083   // runs the algorithm and fills the output with results
00084   virtual int RequestData(vtkInformation *, 
00085                   vtkInformationVector **, 
00086                   vtkInformationVector *);
00087 
00088   // used for composite, non-hierarhical input.
00089   vtkDataObject* RequestDataInternal(
00090     unsigned int composite_index,
00091     vtkDataSet* input, vtkSelection* sel,
00092     vtkInformation* outInfo);
00093 
00094   // Used for hierarchical input.
00095   vtkDataObject* RequestDataInternal(
00096     unsigned int composite_index,
00097     unsigned int level,
00098     unsigned int index,
00099     vtkDataSet* input, vtkSelection* sel,
00100     vtkInformation* outInfo);
00101 
00102 
00103   // called for non-composite input or for a block in a composite dataset.
00104   vtkDataObject* RequestDataFromBlock(vtkDataObject* input, 
00105     vtkSelectionNode* sel, vtkInformation* outInfo);
00106 
00107   vtkExtractSelectedBlock* BlockFilter;
00108   vtkExtractSelectedIds* IdsFilter;
00109   vtkExtractSelectedFrustum* FrustumFilter;
00110   vtkExtractSelectedLocations* LocationsFilter;
00111   vtkExtractSelectedThresholds* ThresholdsFilter;
00112   vtkProbeSelectedLocations* ProbeFilter;
00113 
00114   int UseProbeForLocations;
00115   int ShowBounds;
00116 private:
00117   vtkExtractSelection(const vtkExtractSelection&);  // Not implemented.
00118   void operator=(const vtkExtractSelection&);  // Not implemented.
00119 };
00120 
00121 #endif

Generated by  doxygen 1.7.1