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
virtual int GetCentering()=0
virtual double GetMaxNorm()=0
virtual void PrintSelf(ostream &os, vtkIndent indent)
represent and manipulate point attribute data
Definition: vtkPointData.h:35
virtual void ShallowCopy(vtkGenericAttribute *other)=0
virtual int GetComponentType()=0
Implementation of vtkGenericAdaptorCell.
Definition: vtkBridgeCell.h:37
represent and manipulate cell attribute data
Definition: vtkCellData.h:36
virtual vtkIdType GetSize()=0
int vtkIdType
Definition: vtkType.h:255
iterator used to traverse points
virtual unsigned long GetActualMemorySize()=0
abstract class defined API for attribute data
virtual int GetType()=0
virtual int GetNumberOfComponents()=0
iterator used to traverse cells
defines cell interface
a simple class to control print indentation
Definition: vtkIndent.h:37
virtual void GetComponent(int i, vtkGenericCellIterator *c, double *values)=0
virtual double * GetTuple(vtkGenericAdaptorCell *c)=0
represent and manipulate attribute data in a dataset
virtual double * GetRange(int component=0)=0
Implementation of vtkGenericAttribute.
virtual void DeepCopy(vtkGenericAttribute *other)=0
friend class vtkBridgeAttribute
static vtkObject * New()
vtkDataSetAttributes * Data
#define VTK_BRIDGE_EXPORT
virtual const char * GetName()=0