11#ifndef VTK_IO_ADIOS2_VTX_COMMON_VTXHelper_h 
   12#define VTK_IO_ADIOS2_VTX_COMMON_VTXHelper_h 
   28#include <vtk_pugixml.h> 
   36VTK_ABI_NAMESPACE_BEGIN
 
   56pugi::xml_document 
XMLDocument(
const std::string& input, 
bool debugMode, 
const std::string& hint);
 
   69pugi::xml_node 
XMLNode(std::string nodeName, 
const pugi::xml_document& xmlDocument, 
bool debugMode,
 
   70  const std::string& hint, 
bool isMandatory = 
true, 
bool isUnique = 
false);
 
   84pugi::xml_node 
XMLNode(std::string nodeName, 
const pugi::xml_node& upperNode, 
bool debugMode,
 
   85  const std::string& hint, 
bool isMandatory = 
true, 
bool isUnique = 
false);
 
  104pugi::xml_attribute 
XMLAttribute(std::string attributeName, 
const pugi::xml_node& node,
 
  105  bool debugMode, 
const std::string& hint, 
bool isMandatory = 
true);
 
  112std::string 
SetToCSV(
const std::set<std::string>& input) 
noexcept;
 
  128std::size_t 
TotalElements(
const std::vector<std::size_t>& dimensions) 
noexcept;
 
  140  const std::set<std::string>& specialNames, 
bool persist = 
false);
 
  167template <
class T, 
class U>
 
  176void Print(
const std::vector<T>& input, 
const std::string& name);
 
  184size_t LinearizePoint(
const adios2::Dims& shape, 
const adios2::Dims& point) 
noexcept;
 
  206bool EndsWith(
const std::string& input, 
const std::string& ends) 
noexcept;
 
  212#include "VTXHelper.inl" 
Hold a reference to a vtkObjectBase instance.
 
types::DataSet XMLInitDataSet(const pugi::xml_node &dataSetNode, const std::set< std::string > &specialNames, bool persist=false)
Initialize DataSet structure from parsing a pugi::xml_node, loops through DataArray nodes.
 
adios2::Box< adios2::Dims > PartitionCart1D(const adios2::Dims &shape)
Simple partition to load balance shape across viz processes.
 
bool EndsWith(const std::string &input, const std::string &ends) noexcept
Check if input ends with a certain (ends) string.
 
std::string GetEngineType(const std::string &fileName) noexcept
Set the appropriate engine type based on recognized user input.
 
std::string FileToString(const std::string &fileName)
Translate file contents to string.
 
pugi::xml_attribute XMLAttribute(std::string attributeName, const pugi::xml_node &node, bool debugMode, const std::string &hint, bool isMandatory=true)
Get a node attribute identified by its key.
 
std::size_t TotalElements(const std::vector< std::size_t > &dimensions) noexcept
Return product of all dimensions components to get the total number of elements.
 
size_t LinearizePoint(const adios2::Dims &shape, const adios2::Dims &point) noexcept
Linear index for a point within a box with shape dimensions from zero origin.
 
int MPIGetSize()
Get current MPI size from MPIGetComm.
 
std::vector< T > MapKeysToVector(const std::map< T, U > &input) noexcept
Map's keys to a vector.
 
vtkSmartPointer< vtkDataArray > NewDataArray()
Return a derived class of vtkDataArray specialized for supported types.
 
pugi::xml_document XMLDocument(const std::string &input, bool debugMode, const std::string &hint)
Get safely a pugi::xml_document from XML as a string.
 
MPI_Comm MPIGetComm()
Get current MPI global communicator from VTK.
 
vtkSmartPointer< vtkIdTypeArray > NewDataArrayIdType()
Special type for vtkIdTypeArray.
 
std::string GetFileName(const std::string &fileName) noexcept
Set the appropriate file name based on recognized user input.
 
void Print(const std::vector< T > &input, const std::string &name)
Print a vector with an associated name.
 
pugi::xml_node XMLNode(std::string nodeName, const pugi::xml_document &xmlDocument, bool debugMode, const std::string &hint, bool isMandatory=true, bool isUnique=false)
Get safely a pugi::xml_document from a pugmi::xml_document.
 
std::string SetToCSV(const std::set< std::string > &input) noexcept
Convert a set of strings into a csv "string1,string2,string3" string.
 
int MPIGetRank()
Get current MPI rank from MPIGetComm.
 
std::vector< T > StringToVector(const std::string &input) noexcept
Converts a single string "s1 s2 s3" list to a vector vector ={ "s1", "s2", "s3" };.
 
std::map< std::string, DataArray > DataSet
key: variable name, value: DataArray