00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkSMNumberOfPartsDomain_h
00029 #define __vtkSMNumberOfPartsDomain_h
00030
00031 #include "vtkSMDomain.h"
00032
00033 class vtkSMSourceProxy;
00034
00035 class VTK_EXPORT vtkSMNumberOfPartsDomain : public vtkSMDomain
00036 {
00037 public:
00038 static vtkSMNumberOfPartsDomain* New();
00039 vtkTypeRevisionMacro(vtkSMNumberOfPartsDomain, vtkSMDomain);
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00047 virtual int IsInDomain(vtkSMProperty* property);
00048
00051 int IsInDomain(vtkSMSourceProxy* proxy);
00052
00054
00055 vtkSetMacro(PartMultiplicity, unsigned char);
00056 vtkGetMacro(PartMultiplicity, unsigned char);
00058
00059
00060 enum NumberOfParts
00061 {
00062 SINGLE = 0,
00063 MULTIPLE = 1
00064 };
00065
00066
00067 protected:
00068 vtkSMNumberOfPartsDomain();
00069 ~vtkSMNumberOfPartsDomain();
00070
00073 virtual int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element);
00074
00075 virtual void SaveState(const char* name, ostream* file, vtkIndent indent);
00076
00077 unsigned char PartMultiplicity;
00078
00079 private:
00080 vtkSMNumberOfPartsDomain(const vtkSMNumberOfPartsDomain&);
00081 void operator=(const vtkSMNumberOfPartsDomain&);
00082 };
00083
00084 #endif