Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Servers/ServerManager/vtkSMDoubleRangeDomain.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkSMDoubleRangeDomain.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 =========================================================================*/
00031 #ifndef __vtkSMDoubleRangeDomain_h
00032 #define __vtkSMDoubleRangeDomain_h
00033 
00034 #include "vtkSMDomain.h"
00035 
00036 //BTX
00037 struct vtkSMDoubleRangeDomainInternals;
00038 //ETX
00039 
00040 class VTK_EXPORT vtkSMDoubleRangeDomain : public vtkSMDomain
00041 {
00042 public:
00043   static vtkSMDoubleRangeDomain* New();
00044   vtkTypeRevisionMacro(vtkSMDoubleRangeDomain, vtkSMDomain);
00045   void PrintSelf(ostream& os, vtkIndent indent);
00046 
00051   virtual int IsInDomain(vtkSMProperty* property);
00052 
00056   int IsInDomain(unsigned int idx, double val);
00057 
00061   double GetMinimum(unsigned int idx, int& exists);
00062 
00066   double GetMaximum(unsigned int idx, int& exists);
00067 
00071   double GetResolution(unsigned int idx, int& exists);
00072 
00074   void AddMinimum(unsigned int idx, double value);
00075 
00078   void RemoveMinimum(unsigned int idx);
00079 
00081   void RemoveAllMinima();
00082 
00084   void AddMaximum(unsigned int idx, double value);
00085 
00088   void RemoveMaximum(unsigned int idx);
00089 
00091   void RemoveAllMaxima();
00092 
00094   void AddResolution(unsigned int idx, double value);
00095 
00098   void RemoveResolution(unsigned int idx);
00099 
00101   void RemoveAllResolutions();
00102 
00105   virtual void Update(vtkSMProperty*);
00106   
00108 
00109   virtual void SetAnimationValue(vtkSMProperty *property, int idx,
00110                                  double value);
00112   
00113 protected:
00114   vtkSMDoubleRangeDomain();
00115   ~vtkSMDoubleRangeDomain();
00116 
00119   virtual int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element);
00120 
00121   virtual void SaveState(const char* name, ostream* file, vtkIndent indent);
00122 
00124   void SetEntry(unsigned int idx, int minOrMax, int set, double value);
00125 
00126   // Internal use only.
00127   // Set/Get the number of min/max entries.
00128   unsigned int GetNumberOfEntries();
00129   void SetNumberOfEntries(unsigned int size);
00130 
00131   vtkSMDoubleRangeDomainInternals* DRInternals;
00132 
00133 //BTX
00134   enum
00135   {
00136     MIN = 0,
00137     MAX = 1,
00138     RESOLUTION = 2
00139   };
00140 //ETX
00141 
00142 private:
00143   vtkSMDoubleRangeDomain(const vtkSMDoubleRangeDomain&); // Not implemented
00144   void operator=(const vtkSMDoubleRangeDomain&); // Not implemented
00145 };
00146 
00147 #endif

Generated on Tue May 30 12:31:48 2006 for ParaView by doxygen 1.3.5