00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00031 #ifndef __vtkSMDataTypeDomain_h
00032 #define __vtkSMDataTypeDomain_h
00033
00034 #include "vtkSMDomain.h"
00035
00036 class vtkSMSourceProxy;
00037
00038 struct vtkSMDataTypeDomainInternals;
00039
00040
00041 class VTK_EXPORT vtkSMDataTypeDomain : public vtkSMDomain
00042 {
00043 public:
00044 static vtkSMDataTypeDomain* New();
00045 vtkTypeRevisionMacro(vtkSMDataTypeDomain, vtkSMDomain);
00046 void PrintSelf(ostream& os, vtkIndent indent);
00047
00052 virtual int IsInDomain(vtkSMProperty* property);
00053
00055 int IsInDomain(vtkSMSourceProxy* proxy);
00056
00058 unsigned int GetNumberOfDataTypes();
00059
00061 const char* GetDataType(unsigned int idx);
00062
00063 protected:
00064 vtkSMDataTypeDomain();
00065 ~vtkSMDataTypeDomain();
00066
00069 virtual int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element);
00070
00071 virtual void SaveState(const char* name, ostream* file, vtkIndent indent);
00072
00073 vtkSMDataTypeDomainInternals* DTInternals;
00074
00075 int CompositeDataSupported;
00076 vtkSetMacro(CompositeDataSupported, int);
00077 vtkGetMacro(CompositeDataSupported, int);
00078
00079 private:
00080 vtkSMDataTypeDomain(const vtkSMDataTypeDomain&);
00081 void operator=(const vtkSMDataTypeDomain&);
00082 };
00083
00084 #endif