00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00024 #ifndef __vtkInformationQuadratureSchemeDefinitionVectorKey_h
00025 #define __vtkInformationQuadratureSchemeDefinitionVectorKey_h
00026 
00027 #include "vtkInformationKey.h"
00028 #include "vtkCommonInformationKeyManager.h" 
00029 
00030 class vtkInformationQuadratureSchemeDefinitionVectorValue;
00031 class vtkXMLDataElement;
00032 class vtkQuadratureSchemeDefinition;
00033 
00034 class VTK_COMMON_EXPORT vtkInformationQuadratureSchemeDefinitionVectorKey : public vtkInformationKey
00035 {
00036 public:
00037   vtkTypeMacro(vtkInformationQuadratureSchemeDefinitionVectorKey,vtkInformationKey);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042   vtkInformationQuadratureSchemeDefinitionVectorKey(
00043           const char* name,
00044           const char* location);
00045   
00046   ~vtkInformationQuadratureSchemeDefinitionVectorKey();
00048 
00050 
00051   void Clear(vtkInformation* info);
00052   
00053   
00054   
00055   void Resize(vtkInformation* info, int n);
00056   
00057   
00058   int Size(vtkInformation* info);
00059   int Length(vtkInformation* info){ return this->Size(info); }
00060   
00061   
00062   void Append(vtkInformation* info, vtkQuadratureSchemeDefinition *value);
00063   
00064   
00065   
00066   void Set(vtkInformation* info, vtkQuadratureSchemeDefinition *value, int i);
00067   
00068   
00069   
00070   
00071   void SetRange(vtkInformation* info,
00072                 vtkQuadratureSchemeDefinition **source,
00073                 int from,
00074                 int to,
00075                 int n);
00077 
00079 
00082   void GetRange(vtkInformation *info,
00083                 vtkQuadratureSchemeDefinition **dest,
00084                 int from,
00085                 int to,
00086                 int n);
00088 
00091   vtkQuadratureSchemeDefinition *Get(vtkInformation* info, int idx);
00092 
00093   
00094   
00095   
00096   
00097   
00098 
00100 
00103   virtual void ShallowCopy(vtkInformation* from, vtkInformation* to);
00104   virtual void DeepCopy(vtkInformation* from, vtkInformation* to);
00106 
00108   virtual void Print(ostream& os, vtkInformation* info);
00109 
00110   
00111   
00112   
00113   
00114 
00116 
00119   int SaveState(vtkInformation *info, vtkXMLDataElement *element);
00120   
00121   
00122   
00123   int RestoreState(vtkInformation *info, vtkXMLDataElement *element);
00125 
00126 private:
00128 
00130   void CreateQuadratureSchemeDefinition();
00131   
00132   
00133   
00134   
00135   vtkInformationQuadratureSchemeDefinitionVectorValue *GetQuadratureSchemeDefinitionVector(vtkInformation *info);
00137 
00138   
00139   vtkInformationQuadratureSchemeDefinitionVectorKey(const vtkInformationQuadratureSchemeDefinitionVectorKey&);  
00140   void operator=(const vtkInformationQuadratureSchemeDefinitionVectorKey&);  
00141 };
00142 
00143 #endif