VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkInformationObjectBaseVectorKey.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInformationObjectBaseVectorKey.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
24 #ifndef __vtkInformationObjectBaseVectorKey_h
25 #define __vtkInformationObjectBaseVectorKey_h
26 
27 #include "vtkCommonCoreModule.h" // For export macro
28 #include "vtkInformationKey.h"
29 #include "vtkCommonInformationKeyManager.h" // Manage instances of this type.
30 
31 class vtkInformationObjectBaseVectorValue;
32 
34 {
35 public:
37  void PrintSelf(ostream& os, vtkIndent indent);
39 
46  const char* location,
47  const char* requiredClass=0);
48  //
51 
53  void Clear(vtkInformation* info);
56  void Resize(vtkInformation* info, int n);
58 
59  int Size(vtkInformation* info);
60  int Length(vtkInformation* info){ return this->Size(info); }
62 
63  void Append(vtkInformation* info, vtkObjectBase *value);
65  void Set(vtkInformation* info, vtkObjectBase *value, int i);
67 
70  void SetRange(vtkInformation* info,
72  int from,
73  int to,
74  int n);
76 
78 
81  void GetRange(vtkInformation *info,
82  vtkObjectBase **dest,
83  int from,
84  int to,
85  int n);
87 
89  vtkObjectBase *Get(vtkInformation* info, int idx);
90 
91  // _escription:
92  // Get a pointer to the first vtkObjectBase in the vector. We are
93  // uysing a vector of smart pointers so this is not easy to
94  // implement.
95  // vtkObjectBase **Get(vtkInformation* info);
96 
100  virtual void ShallowCopy(vtkInformation* from, vtkInformation* to);
101 
103  virtual void Print(ostream& os, vtkInformation* info);
104 
105 protected:
106  // The type required of all objects stored with this key.
107  const char* RequiredClass;
108 
109 private:
112  void CreateObjectBase();
115  bool ValidateDerivedType(vtkInformation* info,vtkObjectBase* aValue);
118  vtkInformationObjectBaseVectorValue *GetObjectBaseVector(vtkInformation *info);
119 
120  //
122  void operator=(const vtkInformationObjectBaseVectorKey&); // Not implemented.
123 };
124 
125 #endif
virtual void ShallowCopy(vtkInformation *from, vtkInformation *to)=0
Store vtkAlgorithm input/output information.
#define VTKCOMMONCORE_EXPORT
GLsizei const GLfloat * value
Definition: vtkgl.h:12021
void PrintSelf(ostream &os, vtkIndent indent)
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:619
void Print(vtkInformation *info)
Superclass for vtkInformation keys.
GLuint const GLchar * name
Definition: vtkgl.h:11983
a simple class to control print indentation
Definition: vtkIndent.h:38
abstract base class for most VTK objects
Definition: vtkObjectBase.h:58
Key for vtkObjectBase vector values.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
GLclampd n
Definition: vtkgl.h:14370
GLint location
Definition: vtkgl.h:12002