MDAL
Public Member Functions | List of all members
MDAL::Driver3Di Class Reference

Driver of 3Di file format. More...

#include <mdal_3di.hpp>

Inheritance diagram for MDAL::Driver3Di:
MDAL::DriverCF MDAL::Driver

Public Member Functions

Driver3Dicreate () override
 
std::string buildUri (const std::string &meshFile) override
 
- Public Member Functions inherited from MDAL::DriverCF
 DriverCF (const std::string &name, const std::string &longName, const std::string &filters, const int capabilities)
 
bool canReadMesh (const std::string &uri) override
 
std::unique_ptr< Meshload (const std::string &fileName, const std::string &meshName="") override
 
- Public Member Functions inherited from MDAL::Driver
 Driver (const std::string &name, const std::string &longName, const std::string &filters, int capabilityFlags)
 
std::string name () const
 
std::string longName () const
 
std::string filters () const
 
bool hasCapability (Capability capability) const
 
bool hasWriteDatasetCapability (MDAL_DataLocation location) const
 
virtual std::string writeDatasetOnFileSuffix () const
 
virtual std::string saveMeshOnFileSuffix () const
 
virtual bool canReadDatasets (const std::string &uri)
 
virtual int faceVerticesMaximumCount () const
 returns the maximum vertices per face
 
virtual void load (const std::string &uri, Mesh *mesh)
 
virtual void save (const std::string &fileName, const std::string &meshName, Mesh *mesh)
 
virtual void createDatasetGroup (Mesh *mesh, const std::string &groupName, MDAL_DataLocation dataLocation, bool hasScalarData, const std::string &datasetGroupFile)
 
virtual void createDataset (DatasetGroup *group, RelativeTimestamp time, const double *values, const int *active)
 
virtual void createDataset (DatasetGroup *group, RelativeTimestamp time, const double *values, const int *verticalLevelCount, const double *verticalExtrusion)
 
virtual bool persist (DatasetGroup *group)
 

Additional Inherited Members

- Protected Member Functions inherited from MDAL::DriverCF
virtual std::shared_ptr< MDAL::Datasetcreate2DDataset (std::shared_ptr< MDAL::DatasetGroup > group, size_t ts, const MDAL::CFDatasetGroupInfo &dsi, double fill_val_x, double fill_val_y)
 
virtual std::shared_ptr< MDAL::Datasetcreate3DDataset (std::shared_ptr< MDAL::DatasetGroup > group, size_t ts, const MDAL::CFDatasetGroupInfo &dsi, double fill_val_x, double fill_val_y)
 
virtual DateTime defaultReferenceTime () const
 Returns the default reference time.
 
void setProjection (MDAL::Mesh *m)
 
cfdataset_info_map parseDatasetGroupInfo ()
 
DateTime parseTime (std::vector< RelativeTimestamp > &times)
 Populates the times array and returns the reference time.
 
void addDatasetGroups (Mesh *mesh, const std::vector< RelativeTimestamp > &times, const cfdataset_info_map &dsinfo_map, const DateTime &referenceTime)
 
- Protected Attributes inherited from MDAL::DriverCF
std::string mFileName
 
std::string mRequestedMeshName
 
std::shared_ptr< NetCDFFilemNcFile
 
CFDimensions mDimensions
 

Detailed Description

Driver of 3Di file format.

The result 3Di NetCDF file is based on CF-conventions with some additions. It is unstructured grid with data stored in NetCDF/HDF5 file format. A division is made between a 1D and 2D which can be distinguished through the prefixes “MESH2D” and “MESH1D”. For both meshes the information is present in coordinate, id, and type variables.

A version of the data scheme is not present yet.

The 2D Mesh consists of calculation Nodes that represents centers of Faces. There is no concept of Vertices in the file. The vertices that forms a face are specified by X,Y coordinates in the "Face Contours" arrays. The "lines" represent the face's edges and are again specified by X,Y coordinate of the line center. Data is specified on calculation nodes (i.e. dataset defined on faces) and on lines (i.e. dataset defined on edges - not implemented yet)

The 1D Mesh is present too, but not parsed yet.


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