1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkConvertSelection.h,v $
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/*----------------------------------------------------------------------------
Copyright (c) Sandia Corporation
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
----------------------------------------------------------------------------*/
// .NAME vtkConvertSelection -
//
// .SECTION Description
// vtkConvertSelection
//
// .SECTION Thanks
//
// .SECTION See Also
#ifndef __vtkConvertSelection_h
#define __vtkConvertSelection_h
#include "vtkSelectionAlgorithm.h"
class vtkIdTypeArray;
class vtkSelection;
class vtkStringArray;
class VTK_GRAPHICS_EXPORT vtkConvertSelection : public vtkSelectionAlgorithm
{
public:
static vtkConvertSelection *New();
vtkTypeRevisionMacro(vtkConvertSelection, vtkSelectionAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// The output selection type.
// This should be one of the constants defined in vtkSelection.h.
vtkSetMacro(OutputType, int);
vtkGetMacro(OutputType, int);
// Description:
// The output array name for value or threshold selections.
virtual void SetArrayName(const char*);
virtual const char* GetArrayName();
// Description:
// The output array names for value selection.
virtual void SetArrayNames(vtkStringArray*);
vtkGetObjectMacro(ArrayNames, vtkStringArray);
// Description:
// Static methods for easily converting between selection types.
// NOTE: The returned selection pointer IS reference counted,
// so be sure to Delete() it when you are done with it.
static vtkSelection* ToIndexSelection(
vtkSelection* input,
vtkDataObject* data);
static vtkSelection* ToGlobalIdSelection(
vtkSelection* input,
vtkDataObject* data);
static vtkSelection* ToPedigreeIdSelection(
vtkSelection* input,
vtkDataObject* data);
static vtkSelection* ToValueSelection(
vtkSelection* input,
vtkDataObject* data,
const char* arrayName);
static vtkSelection* ToValueSelection(
vtkSelection* input,
vtkDataObject* data,
vtkStringArray* arrayNames);
// Description:
// A generic static method for converting selection types.
// The type should be an integer constant defined in vtkSelection.h.
static vtkSelection* ToSelectionType(
vtkSelection* input,
vtkDataObject* data,
int type,
vtkStringArray* arrayNames = 0);
protected:
vtkConvertSelection();
~vtkConvertSelection();
virtual int RequestData(
vtkInformation *,
vtkInformationVector **,
vtkInformationVector *);
int Convert(
vtkSelection* input,
vtkDataObject* data,
vtkSelection* output);
int ConvertToIndexSelection(
vtkSelection* input,
vtkDataSet* data,
vtkSelection* output);
int SelectTableFromTable(
vtkTable* selTable,
vtkTable* dataTable,
vtkIdTypeArray* indices);
virtual int FillInputPortInformation(
int port, vtkInformation* info);
int OutputType;
vtkStringArray* ArrayNames;
private:
vtkConvertSelection(const vtkConvertSelection&); // Not implemented.
void operator=(const vtkConvertSelection&); // Not implemented.
};
#endif
|