00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00048 #ifndef __vtkSelectionNode_h
00049 #define __vtkSelectionNode_h
00050
00051 #include "vtkObject.h"
00052
00053
00054 class vtkAbstractArray;
00055 class vtkDataSetAttributes;
00056 class vtkInformation;
00057 class vtkInformationDoubleKey;
00058 class vtkInformationIntegerKey;
00059 class vtkInformationObjectBaseKey;
00060 class vtkTable;
00061
00062
00063 class VTK_FILTERING_EXPORT vtkSelectionNode : public vtkObject
00064 {
00065 public:
00066 vtkTypeRevisionMacro(vtkSelectionNode,vtkObject);
00067 void PrintSelf(ostream& os, vtkIndent indent);
00068 static vtkSelectionNode* New();
00069
00071 virtual void Initialize();
00072
00074
00075 virtual void SetSelectionList(vtkAbstractArray*);
00076 virtual vtkAbstractArray* GetSelectionList();
00078
00080
00081 virtual void SetSelectionData(vtkDataSetAttributes* data);
00082 vtkGetObjectMacro(SelectionData, vtkDataSetAttributes);
00084
00086
00087 vtkGetObjectMacro(Properties, vtkInformation);
00089
00091 virtual void DeepCopy(vtkSelectionNode* src);
00092
00096 virtual void ShallowCopy(vtkSelectionNode* src);
00097
00099 unsigned long GetMTime();
00100
00101
00115 static vtkInformationIntegerKey* CONTENT_TYPE();
00116
00117 enum SelectionContent
00118 {
00119 SELECTIONS,
00120 GLOBALIDS,
00121 PEDIGREEIDS,
00122 VALUES,
00123 INDICES,
00124 FRUSTUM,
00125 LOCATIONS,
00126 THRESHOLDS,
00127 BLOCKS
00128 };
00129
00130
00132
00134 virtual void SetContentType(int type);
00135 virtual int GetContentType();
00137
00142 static vtkInformationIntegerKey* FIELD_TYPE();
00143
00144 enum SelectionField
00145 {
00146 CELL,
00147 POINT,
00148 FIELD,
00149 VERTEX,
00150 EDGE,
00151 ROW
00152 };
00153
00154
00156
00158 virtual void SetFieldType(int type);
00159 virtual int GetFieldType();
00161
00164 static vtkInformationDoubleKey* EPSILON();
00165
00169 static vtkInformationIntegerKey* CONTAINING_CELLS();
00170
00172 static vtkInformationIntegerKey* INVERSE();
00173
00176 static vtkInformationIntegerKey* PIXEL_COUNT();
00177
00179 static vtkInformationObjectBaseKey* SOURCE();
00180
00183 static vtkInformationIntegerKey* SOURCE_ID();
00184
00186 static vtkInformationObjectBaseKey* PROP();
00187
00190 static vtkInformationIntegerKey* PROP_ID();
00191
00193 static vtkInformationIntegerKey* PROCESS_ID();
00194
00196 static vtkInformationIntegerKey* COMPOSITE_INDEX();
00197
00199
00200 static vtkInformationIntegerKey* HIERARCHICAL_LEVEL();
00201 static vtkInformationIntegerKey* HIERARCHICAL_INDEX();
00203
00207 static vtkInformationIntegerKey* INDEXED_VERTICES();
00208
00211 void UnionSelectionList(vtkSelectionNode* other);
00212
00215 bool EqualProperties(vtkSelectionNode* other, bool fullcompare=true);
00216
00217
00218 protected:
00219 vtkSelectionNode();
00220 ~vtkSelectionNode();
00221
00222 vtkInformation* Properties;
00223 vtkDataSetAttributes* SelectionData;
00224
00225 private:
00226 vtkSelectionNode(const vtkSelectionNode&);
00227 void operator=(const vtkSelectionNode&);
00228
00229 };
00230
00231 #endif