vtkPVDataInformationHelper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPVDataInformationHelper.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
26 #ifndef vtkPVDataInformationHelper_h
27 #define vtkPVDataInformationHelper_h
28 
29 #include "vtkObject.h"
30 #include "vtkRemotingCoreModule.h" //needed for exports
31 
33 class vtkDataObject;
34 
36 {
37 public:
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
45  void CopyFromDataObject(vtkPVDataInformation* self, vtkDataObject* data);
46 
47  virtual const char* GetPrettyDataTypeString() = 0;
48 
49 protected:
51  ~vtkPVDataInformationHelper() override;
52 
53  vtkDataObject* Data; // not reference counted
54 
55  virtual bool ValidateType(vtkDataObject* data) = 0;
56 
57  // API to access information from data that I fill the
58  // PVDataInformation I am friend of with.
59  virtual double* GetBounds() = 0;
60  virtual int GetNumberOfDataSets() = 0;
61  virtual vtkTypeInt64 GetNumberOfCells() = 0;
62  virtual vtkTypeInt64 GetNumberOfPoints() = 0;
63  virtual vtkTypeInt64 GetNumberOfRows() = 0;
64 
65 private:
67  void operator=(const vtkPVDataInformationHelper&) = delete;
68 };
69 
70 #endif
Light object for holding data information.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
#define VTKREMOTINGCORE_EXPORT
allows extension of types that PVDataInformation can handle
void operator=(const vtkObjectBase &)