00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkSMArrayRangeDomain.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 =========================================================================*/ 00026 #ifndef __vtkSMArrayRangeDomain_h 00027 #define __vtkSMArrayRangeDomain_h 00028 00029 #include "vtkSMDoubleRangeDomain.h" 00030 00031 class vtkSMProxyProperty; 00032 class vtkSMSourceProxy; 00033 class vtkSMInputArrayDomain; 00034 class vtkPVDataSetAttributesInformation; 00035 00036 class VTK_EXPORT vtkSMArrayRangeDomain : public vtkSMDoubleRangeDomain 00037 { 00038 public: 00039 static vtkSMArrayRangeDomain* New(); 00040 vtkTypeRevisionMacro(vtkSMArrayRangeDomain, vtkSMDoubleRangeDomain); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00047 virtual void Update(vtkSMProperty* prop); 00048 00049 protected: 00050 vtkSMArrayRangeDomain(); 00051 ~vtkSMArrayRangeDomain(); 00052 00053 private: 00054 void Update(const char* arrayName, 00055 vtkSMProxyProperty* ip, 00056 vtkSMSourceProxy* sp); 00057 void Update(const char* arrayName, 00058 vtkSMSourceProxy* sp, 00059 vtkSMInputArrayDomain* iad); 00060 void SetArrayRange(vtkPVDataSetAttributesInformation* info, 00061 const char* arrayName); 00062 00063 vtkSMArrayRangeDomain(const vtkSMArrayRangeDomain&); // Not implemented 00064 void operator=(const vtkSMArrayRangeDomain&); // Not implemented 00065 }; 00066 00067 #endif