VTK
vtkBridgeAttribute.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkBridgeAttribute.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 =========================================================================*/
27 #ifndef __vtkBridgeAttribute_h
28 #define __vtkBridgeAttribute_h
29 
30 #include "vtkBridgeExport.h"
31 #include "vtkGenericAttribute.h"
32 
33 class vtkPointData;
34 class vtkCellData;
36 
38 {
39  public:
40  static vtkBridgeAttribute *New();
42  void PrintSelf(ostream& os, vtkIndent indent);
43 
46  const char *GetName();
47 
51 
55  int GetCentering();
56 
63  int GetType();
64 
72  int GetComponentType();
73 
76 
78  unsigned long GetActualMemorySize();
79 
84  double *GetRange(int component);
85 
87 
89  void GetRange(int component,
90  double range[2]);
92 
95  double GetMaxNorm();
96 
102  virtual double *GetTuple(vtkGenericAdaptorCell *c);
103 
109  virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple);
110 
116  double *GetTuple(vtkGenericCellIterator *c);
117 
123  void GetTuple(vtkGenericCellIterator *c, double *tuple);
124 
128  double *GetTuple(vtkGenericPointIterator *p);
129 
134  void GetTuple(vtkGenericPointIterator *p, double *tuple);
135 
141  void GetComponent(int i,vtkGenericCellIterator *c, double *values);
142 
146  double GetComponent(int i,vtkGenericPointIterator *p);
147 
150  void DeepCopy(vtkGenericAttribute *other);
151 
154  void ShallowCopy(vtkGenericAttribute *other);
155 
157 
160  void InitWithPointData(vtkPointData *d,
161  int i);
163 
165 
168  void InitWithCellData(vtkCellData *d,
169  int i);
171 
172 protected:
174 
176  // Description:
177  // Destructor.
178  virtual ~vtkBridgeAttribute();
180 
183  void AllocateInternalTuple(int size);
184 
185  friend class vtkBridgeCell;
186 
187  // only one of them is non-null at a time.
190  vtkDataSetAttributes *Data; // always not-null, equal to either on Pd or Cd
192 
193  double *InternalTuple; // used by vtkBridgeCell
195 
196 private:
197  vtkBridgeAttribute(const vtkBridgeAttribute&); // Not implemented
198  void operator=(const vtkBridgeAttribute&); // Not implemented
199 };
200 
201 #endif