6 #ifndef MDAL_DRIVER_HPP
7 #define MDAL_DRIVER_HPP
10 #include "mdal_data_model.hpp"
20 ReadDatasets = 1 << 2,
21 WriteDatasetsOnVertices = 1 << 3,
22 WriteDatasetsOnFaces = 1 << 4,
23 WriteDatasetsOnVolumes = 1 << 5,
24 WriteDatasetsOnEdges = 1 << 6,
30 Driver(
const std::string &name,
31 const std::string &longName,
32 const std::string &filters,
37 virtual Driver *create() = 0;
39 std::string name()
const;
40 std::string longName()
const;
41 std::string filters()
const;
42 bool hasCapability( Capability capability )
const;
43 bool hasWriteDatasetCapability( MDAL_DataLocation location )
const;
45 virtual std::string writeDatasetOnFileSuffix()
const;
46 virtual std::string saveMeshOnFileSuffix()
const;
48 virtual bool canReadMesh(
const std::string &uri );
49 virtual bool canReadDatasets(
const std::string &uri );
55 virtual std::string buildUri(
const std::string &meshFile );
57 virtual std::unique_ptr< Mesh > load(
const std::string &uri,
const std::string &meshName =
"" );
59 virtual void load(
const std::string &uri,
Mesh *mesh );
61 virtual void save(
const std::string &fileName,
const std::string &meshName,
Mesh *mesh );
64 virtual void createDatasetGroup(
66 const std::string &groupName,
67 MDAL_DataLocation dataLocation,
69 const std::string &datasetGroupFile );
81 const int *verticalLevelCount,
82 const double *verticalExtrusion );
90 std::string mLongName;
Definition: mdal_data_model.hpp:137
Definition: mdal_driver.hpp:28
virtual int faceVerticesMaximumCount() const
returns the maximum vertices per face
Definition: mdal_driver.cpp:75
Definition: mdal_data_model.hpp:238
Definition: mdal_datetime.hpp:18