00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVVolumePropertyWidget.h,v $ 00005 00006 Copyright (c) Kitware, Inc. 00007 All rights reserved. 00008 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/ 00021 #ifndef __vtkPVVolumePropertyWidget_h 00022 #define __vtkPVVolumePropertyWidget_h 00023 00024 #include "vtkKWVolumePropertyWidget.h" 00025 00026 class vtkPVDataInformation; 00027 class VTK_EXPORT vtkPVVolumePropertyWidget : public vtkKWVolumePropertyWidget 00028 { 00029 public: 00030 static vtkPVVolumePropertyWidget* New(); 00031 vtkTypeRevisionMacro(vtkPVVolumePropertyWidget, vtkKWVolumePropertyWidget); 00032 void PrintSelf(ostream &os, vtkIndent indent); 00033 00034 //BTX 00035 vtkGetObjectMacro(DataInformation, vtkPVDataInformation); 00036 virtual void SetDataInformation(vtkPVDataInformation*); 00037 //ETX 00038 00040 00041 vtkSetStringMacro(ArrayName); 00042 vtkGetStringMacro(ArrayName); 00044 00046 00048 void SetScalarModeToUsePointFieldData() 00049 { this->ScalarMode = vtkPVVolumePropertyWidget::POINT_FIELD_DATA; } 00050 void SetScalarModeToUseCellFieldData() 00051 { this->ScalarMode = vtkPVVolumePropertyWidget::CELL_FIELD_DATA; } 00052 vtkGetMacro(ScalarMode, int); 00054 00055 void SetDataSet(vtkDataSet*) 00056 { vtkErrorMacro( << "Don't use this method"); }; 00057 00058 //BTX 00059 enum { POINT_FIELD_DATA = 0, CELL_FIELD_DATA }; 00060 //ETX 00061 00062 protected: 00063 vtkPVVolumePropertyWidget(); 00064 ~vtkPVVolumePropertyWidget(); 00065 00066 vtkPVDataInformation *DataInformation; 00067 00068 // This methods will be overriden in subclasses so that something 00069 // different than the DataSet ivar will be used to compute the 00070 // corresponding items 00071 virtual int GetNumberOfComponents(); 00072 virtual int GetDataSetScalarRange(int comp, double range[2]); 00073 virtual int GetDataSetAdjustedScalarRange(int comp, double range[2]); 00074 virtual const char* GetDataSetScalarName(); 00075 virtual int GetDataSetScalarOpacityUnitDistanceRangeAndResolution( 00076 double range[2], double *resolution); 00077 00078 char* ArrayName; 00079 int ScalarMode; 00080 private: 00081 vtkPVVolumePropertyWidget(const vtkPVVolumePropertyWidget&); // Not implemented 00082 void operator=(const vtkPVVolumePropertyWidget&); // Not implemented 00083 }; 00084 00085 #endif