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:
46  void PrintSelf(ostream &os, vtkIndent indent);
47 
50 
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 
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
vtkPistonDataObject::DeepCopy
virtual void DeepCopy(vtkDataObject *src)
vtkPistonDataObject::GetReferredType
int GetReferredType()
vtkPistonDataObject::GetBounds
double * GetBounds()
vtkPistonDataObject
A GPU resident data set.
Definition: vtkPistonDataObject.h:42
vtkPistonDataObject::GetData
static vtkPistonDataObject * GetData(vtkInformation *info)
vtkPistonDataObject::~vtkPistonDataObject
~vtkPistonDataObject()
vtkPistonDataObject::ComputeTime
vtkTimeStamp ComputeTime
Definition: vtkPistonDataObject.h:129
vtkPistonDataObject::GetScalarsRange
void GetScalarsRange(double range[2])
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkPistonDataObject::Reference
vtkPistonReference * Reference
Definition: vtkPistonDataObject.h:121
vtkPistonDataObject::SetScalarsRange
void SetScalarsRange(double range[2])
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkPistonDataObject::SetSpacing
void SetSpacing(double spacing[3])
vtkPistonDataObject::ShallowCopy
virtual void ShallowCopy(vtkDataObject *src)
vtkgl::v
const GLdouble * v
Definition: vtkgl.h:11595
vtkPistonDataObject::GetOrigin
void GetOrigin(double origin[3])
vtkPistonDataObject::ComputeBounds
virtual void ComputeBounds()
vtkgl::range
GLenum GLint * range
Definition: vtkgl.h:14180
vtkPistonDataObject::SetOrigin
void SetOrigin(const double origin[3])
vtkPistonDataObject::GetOrigin
double * GetOrigin()
vtkPistonDataObject::GetScalarsRange
double * GetScalarsRange()
vtkPistonReference
Lower level handle on GPU resident data.
Definition: vtkPistonReference.h:38
vtkgl::src
GLenum src
Definition: vtkgl.h:12525
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkPistonDataObject::OwnReference
bool OwnReference
Definition: vtkPistonDataObject.h:122
vtkPistonDataObject::SetBounds
void SetBounds(const double bounds[6])
vtkPistonDataObject::GetDataObjectType
int GetDataObjectType()
Definition: vtkPistonDataObject.h:49
vtkX3D::spacing
@ spacing
Definition: vtkX3D.h:481
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkPistonDataObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkPistonDataObject::GetReferredData
void * GetReferredData()
vtkPistonDataObject::ScalarsArrayName
char * ScalarsArrayName
Definition: vtkPistonDataObject.h:127
vtkDataObject.h
vtkPistonDataObject::GetSpacing
void GetSpacing(double spacing[3])
vtkPistonDataObject::GetSpacing
double * GetSpacing()
vtkPistonDataObject::GetData
static vtkPistonDataObject * GetData(vtkInformationVector *v, int i=0)
vtkPistonDataObject::vtkPistonDataObject
vtkPistonDataObject()
VTK_PISTON_DATA_OBJECT
#define VTK_PISTON_DATA_OBJECT
Definition: vtkType.h:100
vtkPistonDataObject::New
static vtkPistonDataObject * New()
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkPistonDataObject::GetBounds
void GetBounds(double bounds[6])
vtkPistonDataObject::GetReference
vtkPistonReference * GetReference()
Definition: vtkPistonDataObject.h:61