14#ifndef vtkXdmf3DataSet_h 
   15#define vtkXdmf3DataSet_h 
   17#include "vtkIOXdmf3Module.h"  
   21#include VTKXDMF3_HEADER(core/XdmfSharedPtr.hpp) 
   30class XdmfTopologyType;
 
   32class XdmfRectilinearGrid;
 
   33class XdmfCurvilinearGrid;
 
   34class XdmfUnstructuredGrid;
 
   38VTK_ABI_NAMESPACE_BEGIN
 
   68    vtkDataArray* vArray, XdmfArray* xArray, 
unsigned int rank = 0, 
unsigned int* dims = 
nullptr);
 
   97  static void SetTime(XdmfGrid* grid, 
double hasTime, 
double time);
 
   98  static void SetTime(XdmfGraph* graph, 
double hasTime, 
double time);
 
  120    const char* name = 
nullptr);
 
  140    const char* name = 
nullptr);
 
  160    const char* name = 
nullptr);
 
  180    const char* name = 
nullptr);
 
  194    const char* name = 
nullptr);
 
  223    const std::string& element_family, shared_ptr<const XdmfTopologyType> topologyType);
 
  237    shared_ptr<XdmfAttribute> xmfAttribute, 
vtkDataArray* array, XdmfGrid* grid,
 
abstract superclass for arrays of numeric data
 
general representation of visualization data
 
abstract class to specify dataset behavior
 
topologically and geometrically regular array of data
 
An editable directed graph.
 
concrete class for storing a set of points
 
a dataset that is topologically regular with variable spacing in the three coordinate directions
 
topologically regular array of data
 
dataset represents arbitrary combinations of all possible cell types
 
LRU cache of XDMF Arrays.
 
helper to identify requested arrays with
 
dataset level translation between xdmf3 and vtk
 
static void CopyShape(XdmfCurvilinearGrid *grid, vtkStructuredGrid *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Helper that does topology for XdmfToVTK.
 
static int GetVTKFiniteElementCellType(unsigned int element_degree, const std::string &element_family, shared_ptr< const XdmfTopologyType > topologyType)
Converts XDMF topology type, finite element family and degree into an equivalent (or approximative) r...
 
static void VTKToXdmf(vtkImageData *dataSet, XdmfDomain *domain, bool hasTime, double time, const char *name=nullptr)
Populates the Xdmf Grid with the contents of the VTK data set.
 
static vtkDataArray * XdmfToVTKArray(XdmfArray *xArray, std::string attrName, unsigned int preferredComponents=0, vtkXdmf3ArrayKeeper *keeper=nullptr)
Returns a VTK array corresponding to the Xdmf array it is given.
 
static void XdmfToVTK(vtkXdmf3ArraySelection *fselection, vtkXdmf3ArraySelection *cselection, vtkXdmf3ArraySelection *pselection, XdmfRegularGrid *grid, vtkImageData *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Populates the VTK data set with the contents of the Xdmf grid.
 
static void VTKToXdmf(vtkRectilinearGrid *dataSet, XdmfDomain *domain, bool hasTime, double time, const char *name=nullptr)
Populates the Xdmf Grid with the contents of the VTK data set.
 
static void VTKToXdmf(vtkPointSet *dataSet, XdmfDomain *domain, bool hasTime, double time, const char *name=nullptr)
Populates the Xdmf Grid with the contents of the VTK data set.
 
static void SetTime(XdmfGraph *graph, double hasTime, double time)
Helper used in VTKToXdmf to set the time in a Xdmf grid.
 
static unsigned int GetNumberOfPointsPerCell(int vtk_cell_type, bool &fail)
Helpers for Unstructured Grid translation.
 
static void CopyShape(XdmfRegularGrid *grid, vtkImageData *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Helper that does topology for XdmfToVTK.
 
static void VTKToXdmf(vtkDirectedGraph *dataSet, XdmfDomain *domain, bool hasTime, double time, const char *name=nullptr)
Populates the Xdmf Grid with the contents of the VTK data set.
 
static void XdmfSubsetToVTK(XdmfGrid *grid, unsigned int setnum, vtkDataSet *dataSet, vtkUnstructuredGrid *subSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Extracts numbered subset out of grid (grid corresponds to dataSet), and fills in subSet with it.
 
static void XdmfToVTK(vtkXdmf3ArraySelection *fselection, vtkXdmf3ArraySelection *cselection, vtkXdmf3ArraySelection *pselection, XdmfGraph *grid, vtkMutableDirectedGraph *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Populates the VTK graph with the contents of the Xdmf grid.
 
static void SetTime(XdmfGrid *grid, double hasTime, double time)
Helper used in VTKToXdmf to set the time in a Xdmf grid.
 
static void ParseFiniteElementFunction(vtkDataObject *dObject, shared_ptr< XdmfAttribute > xmfAttribute, vtkDataArray *array, XdmfGrid *grid, vtkXdmf3ArrayKeeper *keeper=nullptr)
Parses finite element function defined in Attribute.
 
static void XdmfToVTKAttributes(vtkXdmf3ArraySelection *fselection, vtkXdmf3ArraySelection *cselection, vtkXdmf3ArraySelection *pselection, XdmfGrid *grid, vtkDataObject *dObject, vtkXdmf3ArrayKeeper *keeper=nullptr)
Populates the given VTK DataObject's attribute arrays with the selected arrays from the Xdmf Grid.
 
static void XdmfToVTK(vtkXdmf3ArraySelection *fselection, vtkXdmf3ArraySelection *cselection, vtkXdmf3ArraySelection *pselection, XdmfCurvilinearGrid *grid, vtkStructuredGrid *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Populates the VTK data set with the contents of the Xdmf grid.
 
static int GetVTKCellType(shared_ptr< const XdmfTopologyType > topologyType)
Helpers for Unstructured Grid translation.
 
static int GetXdmfCellType(int vtkType)
Helpers for Unstructured Grid translation.
 
static void VTKToXdmf(vtkStructuredGrid *dataSet, XdmfDomain *domain, bool hasTime, double time, const char *name=nullptr)
Populates the Xdmf Grid with the contents of the VTK data set.
 
static void VTKToXdmfAttributes(vtkDataObject *dObject, XdmfGrid *grid)
Populates the given Xdmf Grid's attribute arrays with the selected arrays from the VTK DataObject.
 
static void XdmfToVTK(vtkXdmf3ArraySelection *fselection, vtkXdmf3ArraySelection *cselection, vtkXdmf3ArraySelection *pselection, XdmfRectilinearGrid *grid, vtkRectilinearGrid *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Populates the VTK data set with the contents of the Xdmf grid.
 
static void XdmfToVTK(vtkXdmf3ArraySelection *fselection, vtkXdmf3ArraySelection *cselection, vtkXdmf3ArraySelection *pselection, XdmfUnstructuredGrid *grid, vtkUnstructuredGrid *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Populates the VTK data set with the contents of the Xdmf grid.
 
static void CopyShape(XdmfUnstructuredGrid *grid, vtkUnstructuredGrid *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Helper that does topology for XdmfToVTK.
 
static bool VTKToXdmfArray(vtkDataArray *vArray, XdmfArray *xArray, unsigned int rank=0, unsigned int *dims=nullptr)
Populates and Xdmf array corresponding to the VTK array it is given.
 
static void XdmfToVTKAttributes(XdmfSet *grid, vtkDataObject *dObject, vtkXdmf3ArrayKeeper *keeper=nullptr)
Populates the given VTK DataObject's attribute arrays with the selected arrays from the Xdmf Grid.
 
static void CopyShape(XdmfRectilinearGrid *grid, vtkRectilinearGrid *dataSet, vtkXdmf3ArrayKeeper *keeper=nullptr)
Helper that does topology for XdmfToVTK.