00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkSMDoubleVectorProperty_h
00025 #define __vtkSMDoubleVectorProperty_h
00026
00027 #include "vtkSMVectorProperty.h"
00028
00029
00030 struct vtkSMDoubleVectorPropertyInternals;
00031
00032
00033 class VTK_EXPORT vtkSMDoubleVectorProperty : public vtkSMVectorProperty
00034 {
00035 public:
00036 static vtkSMDoubleVectorProperty* New();
00037 vtkTypeRevisionMacro(vtkSMDoubleVectorProperty, vtkSMVectorProperty);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039
00041 virtual unsigned int GetNumberOfElements();
00042
00045 virtual void SetNumberOfElements(unsigned int num);
00046
00050 int SetElement(unsigned int idx, double value);
00051
00053
00057 int SetElements(const double* values);
00058 double *GetElements();
00060
00064 int SetElements1(double value0);
00065
00070 int SetElements2(double value0, double value1);
00071
00076 int SetElements3(double value0, double value1, double value2);
00077
00082 int SetElements4(double value0, double value1, double value2, double value3);
00083
00085 double GetElement(unsigned int idx);
00086
00090 virtual unsigned int GetNumberOfUncheckedElements();
00091
00096 double GetUncheckedElement(unsigned int idx);
00097
00101 void SetUncheckedElement(unsigned int idx, double value);
00102
00104
00110 vtkGetMacro(ArgumentIsArray, int);
00111 vtkSetMacro(ArgumentIsArray, int);
00113
00115 virtual void Copy(vtkSMProperty* src);
00116
00117 protected:
00118 vtkSMDoubleVectorProperty();
00119 ~vtkSMDoubleVectorProperty();
00120
00121 virtual int ReadXMLAttributes(vtkSMProxy* parent,
00122 vtkPVXMLElement* element);
00123
00124
00126
00129 virtual void AppendCommandToStream(
00130 vtkSMProxy*, vtkClientServerStream* stream, vtkClientServerID objectId );
00132
00133
00134 vtkSMDoubleVectorPropertyInternals* Internals;
00135
00136 int ArgumentIsArray;
00137
00138 virtual void SaveState(const char* name, ostream* file, vtkIndent indent);
00139
00143 virtual void SetNumberOfUncheckedElements(unsigned int num);
00144
00146
00148 vtkSetStringMacro(SetNumberCommand);
00149 vtkGetStringMacro(SetNumberCommand);
00151
00152 char* SetNumberCommand;
00153
00154 private:
00155 vtkSMDoubleVectorProperty(const vtkSMDoubleVectorProperty&);
00156 void operator=(const vtkSMDoubleVectorProperty&);
00157 };
00158
00159 #endif