Template Numerical Library: TNL::Meshes::Readers::MeshReader Class Reference

Template Numerical Library version\ main:16b9213d5

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TNL::Meshes::Readers::MeshReader Class Referenceabstract
Inheritance diagram for TNL::Meshes::Readers::MeshReader:
[legend]
Collaboration diagram for TNL::Meshes::Readers::MeshReader:
[legend]

## Public Types
using | VariantVector

## Public Member Functions
| MeshReader (std::string fileName)
virtual void | detectMesh ()=0
| Main method responsible for reading the mesh file.
void | forceGlobalIndexType (std::string globalIndexType)
void | forceLocalIndexType (std::string localIndexType)
void | forceRealType (std::string realType)
VTK::EntityShape | getCellShape () const
std::string | getGlobalIndexType () const
std::string | getLocalIndexType () const
int | getMeshDimension () const
std::string | getMeshType () const
std::string | getRealType () const
int | getSpaceDimension () const
template<typename MeshType>
std::enable_if_t< ! isGrid< MeshType >::value &&std::is_same_v< typename MeshType::DeviceType, Devices::GPU > > | loadMesh (MeshType &mesh)
| Method which loads the intermediate mesh representation into a mesh object.
template<typename MeshType>
std::enable_if_t< ! isGrid< MeshType >::value &&! std::is_same_v< typename MeshType::DeviceType, Devices::GPU > > | loadMesh (MeshType &mesh)
| Method which loads the intermediate mesh representation into a mesh object.
template<typename MeshType>
std::enable_if_t< isGrid< MeshType >::value > | loadMesh (MeshType &mesh)
| Method which loads the intermediate mesh representation into a mesh object.
virtual VariantVector | readCellData (const std::string &arrayName) const
virtual VariantVector | readPointData (const std::string &arrayName) const
virtual void | reset ()
| This method resets the reader to an empty state.
void | setFileName (const std::string &fileName)

## Protected Member Functions
template<typename T>
void | reset_std_vectors (std::vector< T > &v)
template<typename T, typename... Ts>
void | reset_std_vectors (std::vector< T > &v, std::vector< Ts > &... vs)
void | resetBase ()
| Resets the base class MeshReader to the empty state.

## Protected Attributes
VariantVector | cellConnectivityArray
VariantVector | cellOffsetsArray
VTK::EntityShape | cellShape = VTK::EntityShape::Vertex
std::string | connectivityType
VariantVector | faceConnectivityArray
VariantVector | faceOffsetsArray
std::string | fileName
std::string | forcedGlobalIndexType
std::string | forcedLocalIndexType = "std::int16_t"
std::string | forcedRealType
std::vector< std::int64_t > | gridExtent
std::vector< double > | gridOrigin
std::vector< double > | gridSpacing
int | meshDimension = 0
std::string | meshType
std::size_t | NumberOfCells = 0
std::size_t | NumberOfFaces = 0
std::size_t | NumberOfPoints = 0
std::string | offsetsType
VariantVector | pointsArray
std::string | pointsType
int | spaceDimension = 0
VariantVector | typesArray
std::string | typesType

## Member Typedef Documentation

## ◆ VariantVector

using TNL::Meshes::Readers::MeshReader::VariantVector

Initial value:
std::variant<
std::vector< std::int8_t >,
std::vector< std::uint8_t >,
std::vector< std::int16_t >,
std::vector< std::uint16_t >,
std::vector< std::int32_t >,
std::vector< std::uint32_t >,
std::vector< std::int64_t >,
std::vector< std::uint64_t >,
std::vector< float >,
std::vector< double > >
std::vector

## Member Function Documentation

## ◆ detectMesh()

virtual void TNL::Meshes::Readers::MeshReader::detectMesh | ( |  | ) |
| pure virtual

Main method responsible for reading the mesh file.

The implementation has to set all protected attributes of this class such that the mesh representation can be loaded into the mesh object by the loadMesh method.

Implemented in TNL::Meshes::Readers::FPMAReader, TNL::Meshes::Readers::NetgenReader, TNL::Meshes::Readers::PVTIReader, TNL::Meshes::Readers::PVTUReader, TNL::Meshes::Readers::VTIReader, TNL::Meshes::Readers::VTKReader, and TNL::Meshes::Readers::VTUReader.

## ◆ loadMesh() [1/3]

template<typename MeshType>

std::enable_if_t< ! isGrid< MeshType >::value &&std::is_same_v< typename MeshType::DeviceType, Devices::GPU > > TNL::Meshes::Readers::MeshReader::loadMesh | ( | MeshType & | mesh | ) |
| inline

Method which loads the intermediate mesh representation into a mesh object.

This overload applies to unstructured meshes, i.e. TNL::Meshes::Mesh, which are allocated on the GPU.

When the method exits, the intermediate mesh representation is destroyed to save memory. However, depending on the specific file format, the mesh file may remain open so that the user can load additional data.

## ◆ loadMesh() [2/3]

template<typename MeshType>

std::enable_if_t< ! isGrid< MeshType >::value &&! std::is_same_v< typename MeshType::DeviceType, Devices::GPU > > TNL::Meshes::Readers::MeshReader::loadMesh | ( | MeshType & | mesh | ) |
| inline

Method which loads the intermediate mesh representation into a mesh object.

This overload applies to unstructured meshes, i.e. TNL::Meshes::Mesh, which are allocated on the host.

When the method exits, the intermediate mesh representation is destroyed to save memory. However, depending on the specific file format, the mesh file may remain open so that the user can load additional data.

## ◆ loadMesh() [3/3]

template<typename MeshType>

std::enable_if_t< isGrid< MeshType >::value > TNL::Meshes::Readers::MeshReader::loadMesh | ( | MeshType & | mesh | ) |
| inline

Method which loads the intermediate mesh representation into a mesh object.

This overload applies to structured grids, i.e. TNL::Meshes::Grid.

When the method exits, the intermediate mesh representation is destroyed to save memory. However, depending on the specific file format, the mesh file may remain open so that the user can load additional data.

## ◆ reset()

virtual void TNL::Meshes::Readers::MeshReader::reset | ( |  | ) |
| inlinevirtual

This method resets the reader to an empty state.

In particular, implementations should call the resetBase method to reset the arrays holding the intermediate mesh representation.

Reimplemented in TNL::Meshes::Readers::PVTIReader, TNL::Meshes::Readers::PVTUReader, TNL::Meshes::Readers::VTKReader, and TNL::Meshes::Readers::XMLVTK.

## ◆ resetBase()

void TNL::Meshes::Readers::MeshReader::resetBase | ( |  | ) |
| inlineprotected

Resets the base class MeshReader to the empty state.

Subclasses should call this method from their reset method.

The documentation for this class was generated from the following file:

- src/TNL/Meshes/Readers/MeshReader.h