VTK  9.3.20240424
Functions
vtx::helper Namespace Reference

Functions

int MPIGetRank ()
 Get current MPI rank from MPIGetComm.
 
int MPIGetSize ()
 Get current MPI size from MPIGetComm.
 
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.
 
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.
 
pugi::xml_node XMLNode (std::string nodeName, const pugi::xml_node &upperNode, bool debugMode, const std::string &hint, bool isMandatory=true, bool isUnique=false)
 Overloaded version that gets a XML node from inside another node called upperNode.
 
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::string SetToCSV (const std::set< std::string > &input) noexcept
 Convert a set of strings into a csv "string1,string2,string3" string.
 
template<class T >
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::size_t TotalElements (const std::vector< std::size_t > &dimensions) noexcept
 Return product of all dimensions components to get the total number of elements.
 
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.
 
template<class T >
vtkSmartPointer< vtkDataArrayNewDataArray ()
 Return a derived class of vtkDataArray specialized for supported types.
 
vtkSmartPointer< vtkIdTypeArrayNewDataArrayIdType ()
 Special type for vtkIdTypeArray.
 
adios2::Box< adios2::Dims > PartitionCart1D (const adios2::Dims &shape)
 Simple partition to load balance shape across viz processes.
 
template<class T , class U >
std::vector< T > MapKeysToVector (const std::map< T, U > &input) noexcept
 Map's keys to a vector.
 
template<class T >
void Print (const std::vector< T > &input, const std::string &name)
 Print a vector with an associated name.
 
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.
 
std::string GetFileName (const std::string &fileName) noexcept
 Set the appropriate file name based on recognized user input.
 
std::string GetEngineType (const std::string &fileName) noexcept
 Set the appropriate engine type based on recognized user input.
 
bool EndsWith (const std::string &input, const std::string &ends) noexcept
 Check if input ends with a certain (ends) string.
 

Function Documentation

◆ MPIGetRank()

int vtx::helper::MPIGetRank ( )

Get current MPI rank from MPIGetComm.

◆ MPIGetSize()

int vtx::helper::MPIGetSize ( )

Get current MPI size from MPIGetComm.

◆ XMLDocument()

pugi::xml_document vtx::helper::XMLDocument ( const std::string &  input,
bool  debugMode,
const std::string &  hint 
)

Get safely a pugi::xml_document from XML as a string.

Parameters
inputentire XML contents as a string or file, depending on bool isFile
debugModetrue: safe mode throws exceptions
hintadd extra information on exceptions
Returns
xml as pugi object
Exceptions
std::invalid_argument

◆ XMLNode() [1/2]

pugi::xml_node vtx::helper::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.

Parameters
nodeNameinput node to be found
xmlDocumentinput document
debugModetrue: safe mode throws exceptions
hintadd extra information on exceptions
isMandatorytrue: throws exception if node is not found
isUniquetrue: throws exception if node exist more than once
Returns
node if found, empty node if not mandatory
Exceptions
std::invalid_argument

◆ XMLNode() [2/2]

pugi::xml_node vtx::helper::XMLNode ( std::string  nodeName,
const pugi::xml_node &  upperNode,
bool  debugMode,
const std::string &  hint,
bool  isMandatory = true,
bool  isUnique = false 
)

Overloaded version that gets a XML node from inside another node called upperNode.

Parameters
nodeNameinput node to be found
upperNodeinput node to search inside for nodeName
debugModetrue: safe mode throws exceptions
hintadd extra information on exceptions
isMandatorytrue: throws exception if node is not found
isUniquetrue: throws exception if node exist more than once
Returns
node if found, empty node if not mandatory
Exceptions
std::invalid_argument

◆ FileToString()

std::string vtx::helper::FileToString ( const std::string &  fileName)

Translate file contents to string.

Parameters
fileNameinput
Returns
file contents as a single string

◆ XMLAttribute()

pugi::xml_attribute vtx::helper::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.

Parameters
attributeNameinput xml attribute to be found
nodeinput node to search inside for attributeName
debugModetrue: safe mode throws exceptions
hintadd extra information on exceptions
isMandatorytrue: throws exception if node is not found
Returns
attribute if found, empty node if not mandatory
Exceptions
std::invalid_argument

◆ SetToCSV()

std::string vtx::helper::SetToCSV ( const std::set< std::string > &  input)
noexcept

Convert a set of strings into a csv "string1,string2,string3" string.

Parameters
inputset of ordered strings
Returns
csv string

◆ StringToVector()

template<class T >
std::vector< T > vtx::helper::StringToVector ( const std::string &  input)
noexcept

Converts a single string "s1 s2 s3" list to a vector vector ={ "s1", "s2", "s3" };.

Parameters
input
Returns

◆ TotalElements()

std::size_t vtx::helper::TotalElements ( const std::vector< std::size_t > &  dimensions)
noexcept

Return product of all dimensions components to get the total number of elements.

Parameters
dimensionsinput
Returns
total number of elements

◆ XMLInitDataSet()

types::DataSet vtx::helper::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.

Parameters
dataSetNodeinput
specialNamesinput check for vector components even if
persistmake all set persist (e.g. CellData) NumberOfComponents wasn't declared
Returns
initialized DataSet

◆ NewDataArray()

template<class T >
vtkSmartPointer< vtkDataArray > vtx::helper::NewDataArray ( )

Return a derived class of vtkDataArray specialized for supported types.

Returns
specialized vtkDataArray

◆ NewDataArrayIdType()

vtkSmartPointer< vtkIdTypeArray > vtx::helper::NewDataArrayIdType ( )

Special type for vtkIdTypeArray.

Returns
smart pointer of type vtkIdTypeArray

◆ PartitionCart1D()

adios2::Box< adios2::Dims > vtx::helper::PartitionCart1D ( const adios2::Dims &  shape)

Simple partition to load balance shape across viz processes.

Parameters
shapeinput
Returns
selection first=start second=count

◆ MapKeysToVector()

template<class T , class U >
std::vector< T > vtx::helper::MapKeysToVector ( const std::map< T, U > &  input)
noexcept

Map's keys to a vector.

Parameters
inputmap
Returns
vector with keys only

◆ Print()

template<class T >
void vtx::helper::Print ( const std::vector< T > &  input,
const std::string &  name 
)

Print a vector with an associated name.

For debugging purposes.

Parameters
inputvector data
nameinput name

◆ LinearizePoint()

size_t vtx::helper::LinearizePoint ( const adios2::Dims &  shape,
const adios2::Dims &  point 
)
noexcept

Linear index for a point within a box with shape dimensions from zero origin.

Parameters
shapeinput shape box
pointinput point
Returns
linearized point inside shape

◆ GetFileName()

std::string vtx::helper::GetFileName ( const std::string &  fileName)
noexcept

Set the appropriate file name based on recognized user input.

Parameters
fileNameinput from user selected file
Returns
file name to be used by adios2 engine

◆ GetEngineType()

std::string vtx::helper::GetEngineType ( const std::string &  fileName)
noexcept

Set the appropriate engine type based on recognized user input.

Parameters
fileNameinput from user selected file
Returns
engine type to be used by adios2 engine

◆ EndsWith()

bool vtx::helper::EndsWith ( const std::string &  input,
const std::string &  ends 
)
noexcept

Check if input ends with a certain (ends) string.

Parameters
inputstring input
endsending string to check in input
Returns
true: input ends with "ends", false: it doesn't end with ends