VTK
vtkPistonDataObject.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPistonDataObject.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 =========================================================================*/
30 #ifndef vtkPistonDataObject_h
31 #define vtkPistonDataObject_h
32 
33 #include "vtkAcceleratorsPistonModule.h" // For export macro
34 #include "vtkDataObject.h"
35 
36 class vtkInformation;
38 class vtkPistonReference;
39 class vtkTimeStamp;
40 
41 class VTKACCELERATORSPISTON_EXPORT vtkPistonDataObject : public vtkDataObject
42 {
43 public:
44  static vtkPistonDataObject* New();
46  void PrintSelf(ostream &os, vtkIndent indent);
47 
50 
52  int GetReferredType();
53 
56  void * GetReferredData();
57 
58 //BTX
60 
61  vtkPistonReference *GetReference() { return this->Reference; };
62 //ETX
64 
65 
66  virtual void ShallowCopy(vtkDataObject* src);
67  virtual void DeepCopy(vtkDataObject* src);
69 
71  virtual void ComputeBounds();
72 
74 
76  double *GetBounds();
77  void GetBounds(double bounds[6]);
78  void SetBounds(const double bounds[6]);
80 
82  double *GetOrigin();
83  void GetOrigin(double origin[3]);
84  void SetOrigin(const double origin[3]);
86 
88  double *GetSpacing();
89  void GetSpacing(double spacing[3]);
90  void SetSpacing(double spacing[3]);
92 
94 
95  vtkGetStringMacro(ScalarsArrayName);
96  // Set scalars array name
97  vtkSetStringMacro(ScalarsArrayName);
99 
101 
103  double* GetScalarsRange();
104  void GetScalarsRange(double range[2]);
106 
107  void SetScalarsRange(double range[2]);
108 
109  //BTX
111 
113  static vtkPistonDataObject* GetData(vtkInformationVector* v, int i=0);
114  //ETX
116 
117 protected:
120 
123  double Bounds[6];
124  double Origin[3];
125  double Spacing[3];
126 
128  double ScalarsRange[2];
129  vtkTimeStamp ComputeTime; // Time at which bounds, center, etc. computed
130 
131 private:
132  vtkPistonDataObject(const vtkPistonDataObject&); // Not implemented
133  void operator=(const vtkPistonDataObject&); // Not implemented
134 };
135 
136 #endif
static vtkDataObject * GetData(vtkInformation *info)
static vtkDataObject * New()
Store vtkAlgorithm input/output information.
A GPU resident data set.
record modification and/or execution time
Definition: vtkTimeStamp.h:34
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkPistonReference * GetReference()
void PrintSelf(ostream &os, vtkIndent indent)
Lower level handle on GPU resident data.
Store zero or more vtkInformation instances.
vtkPistonReference * Reference
general representation of visualization data
Definition: vtkDataObject.h:64
virtual void DeepCopy(vtkDataObject *src)
#define VTK_PISTON_DATA_OBJECT
Definition: vtkType.h:100
virtual void ShallowCopy(vtkDataObject *src)