00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00036 #ifndef __vtkSMArrayListDomain_h
00037 #define __vtkSMArrayListDomain_h
00038
00039 #include "vtkSMStringListDomain.h"
00040
00041 class vtkPVDataSetAttributesInformation;
00042 class vtkSMInputArrayDomain;
00043 class vtkSMProxyProperty;
00044 class vtkSMSourceProxy;
00045
00046
00047 struct vtkSMArrayListDomainInternals;
00048
00049
00050 class VTK_EXPORT vtkSMArrayListDomain : public vtkSMStringListDomain
00051 {
00052 public:
00053 static vtkSMArrayListDomain* New();
00054 vtkTypeRevisionMacro(vtkSMArrayListDomain, vtkSMStringListDomain);
00055 void PrintSelf(ostream& os, vtkIndent indent);
00056
00061 virtual void Update(vtkSMProperty* prop);
00062
00064
00068 vtkGetMacro(DefaultElement, unsigned int);
00070
00073 int IsArrayPartial(unsigned int idx);
00074
00075 protected:
00076 vtkSMArrayListDomain();
00077 ~vtkSMArrayListDomain();
00078
00081 virtual int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element);
00082
00084
00085 void AddArrays(vtkSMSourceProxy* sp,
00086 vtkPVDataSetAttributesInformation* info,
00087 vtkSMInputArrayDomain* iad);
00088 void Update(vtkSMSourceProxy* sp, vtkSMInputArrayDomain* iad);
00089 void Update(vtkSMProxyProperty* pp, vtkSMSourceProxy* sp);
00090 void Update(vtkSMProxyProperty* pp);
00092
00094
00095 vtkSetMacro(AttributeType, int);
00096 vtkGetMacro(AttributeType, int);
00098
00099 vtkSetMacro(DefaultElement, unsigned int);
00100
00101 int AttributeType;
00102 unsigned int DefaultElement;
00103
00104 vtkSetStringMacro(InputDomainName);
00105 vtkGetStringMacro(InputDomainName);
00106
00107 char* InputDomainName;
00108
00109 private:
00110 vtkSMArrayListDomain(const vtkSMArrayListDomain&);
00111 void operator=(const vtkSMArrayListDomain&);
00112
00113 vtkSMArrayListDomainInternals* ALDInternals;
00114 };
00115
00116 #endif