00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00051 #ifndef __vtkSelectionNode_h
00052 #define __vtkSelectionNode_h
00053
00054 #include "vtkObject.h"
00055
00056
00057 class vtkAbstractArray;
00058 class vtkDataSetAttributes;
00059 class vtkInformation;
00060 class vtkInformationDoubleKey;
00061 class vtkInformationIntegerKey;
00062 class vtkInformationObjectBaseKey;
00063 class vtkProp;
00064 class vtkTable;
00065
00066
00067 class VTK_FILTERING_EXPORT vtkSelectionNode : public vtkObject
00068 {
00069 public:
00070 vtkTypeMacro(vtkSelectionNode,vtkObject);
00071 void PrintSelf(ostream& os, vtkIndent indent);
00072 static vtkSelectionNode* New();
00073
00075 virtual void Initialize();
00076
00078
00079 virtual void SetSelectionList(vtkAbstractArray*);
00080 virtual vtkAbstractArray* GetSelectionList();
00082
00084
00085 virtual void SetSelectionData(vtkDataSetAttributes* data);
00086 vtkGetObjectMacro(SelectionData, vtkDataSetAttributes);
00088
00090
00091 vtkGetObjectMacro(Properties, vtkInformation);
00093
00095 virtual void DeepCopy(vtkSelectionNode* src);
00096
00100 virtual void ShallowCopy(vtkSelectionNode* src);
00101
00103 unsigned long GetMTime();
00104
00105
00119 static vtkInformationIntegerKey* CONTENT_TYPE();
00120
00121 enum SelectionContent
00122 {
00123 SELECTIONS,
00124 GLOBALIDS,
00125 PEDIGREEIDS,
00126 VALUES,
00127 INDICES,
00128 FRUSTUM,
00129 LOCATIONS,
00130 THRESHOLDS,
00131 BLOCKS
00132 };
00133
00134
00136
00138 virtual void SetContentType(int type);
00139 virtual int GetContentType();
00141
00146 static vtkInformationIntegerKey* FIELD_TYPE();
00147
00148 enum SelectionField
00149 {
00150 CELL,
00151 POINT,
00152 FIELD,
00153 VERTEX,
00154 EDGE,
00155 ROW
00156 };
00157
00158
00160
00162 virtual void SetFieldType(int type);
00163 virtual int GetFieldType();
00165
00167
00169 virtual void SetSelectedProp(vtkProp* prop);
00170 virtual vtkProp* GetSelectedProp();
00172
00175 static vtkInformationDoubleKey* EPSILON();
00176
00180 static vtkInformationIntegerKey* CONTAINING_CELLS();
00181
00186 static vtkInformationIntegerKey* COMPONENT_NUMBER();
00187
00189 static vtkInformationIntegerKey* INVERSE();
00190
00193 static vtkInformationIntegerKey* PIXEL_COUNT();
00194
00196 static vtkInformationObjectBaseKey* SOURCE();
00197
00200 static vtkInformationIntegerKey* SOURCE_ID();
00201
00203 static vtkInformationObjectBaseKey* PROP();
00204
00207 static vtkInformationIntegerKey* PROP_ID();
00208
00210 static vtkInformationIntegerKey* PROCESS_ID();
00211
00213 static vtkInformationIntegerKey* COMPOSITE_INDEX();
00214
00216
00217 static vtkInformationIntegerKey* HIERARCHICAL_LEVEL();
00218 static vtkInformationIntegerKey* HIERARCHICAL_INDEX();
00220
00224 static vtkInformationIntegerKey* INDEXED_VERTICES();
00225
00228 void UnionSelectionList(vtkSelectionNode* other);
00229
00232 bool EqualProperties(vtkSelectionNode* other, bool fullcompare=true);
00233
00234
00235 protected:
00236 vtkSelectionNode();
00237 ~vtkSelectionNode();
00238
00239 vtkInformation* Properties;
00240 vtkDataSetAttributes* SelectionData;
00241
00242 private:
00243 vtkSelectionNode(const vtkSelectionNode&);
00244 void operator=(const vtkSelectionNode&);
00245
00246 };
00247
00248 #endif