-//A enlever
-#include "DriverMED_R_SMESHDS_Document.h"
-#include "DriverMED_R_SMESHDS_Mesh.h"
-#include "DriverMED_R_SMDS_Mesh.h"
-#include "DriverMED_W_SMESHDS_Document.h"
-#include "DriverMED_W_SMESHDS_Mesh.h"
-#include "DriverMED_W_SMDS_Mesh.h"
-
-#include "DriverDAT_R_SMESHDS_Document.h"
-#include "DriverDAT_R_SMESHDS_Mesh.h"
-#include "DriverDAT_R_SMDS_Mesh.h"
-#include "DriverDAT_W_SMESHDS_Document.h"
-#include "DriverDAT_W_SMESHDS_Mesh.h"
-#include "DriverDAT_W_SMDS_Mesh.h"
-//
-
-Document_Reader* SMESHDriver::GetDocumentReader(string Extension, string Class) {
- if (Extension==string("MED")) {
- DriverMED_R_SMESHDS_Document* myDriver = new DriverMED_R_SMESHDS_Document();
- return (myDriver);
- }
- else if (Extension==string("DAT")) {
- DriverDAT_R_SMESHDS_Document* myDriver = new DriverDAT_R_SMESHDS_Document();
- return (myDriver);
- }
- else {
- MESSAGE("No driver known for this extension");
- return (Document_Reader*)NULL;
- }
-
-
+Document_Reader* SMESHDriver::GetDocumentReader(string Extension)
+{
+ // if there is not document reader in the driver create a default
+ // one with the mesh reader.
+ Document_Reader * docReader=
+ (Document_Reader*)getMeshDocumentDriver(Extension);
+
+ if(docReader==NULL)
+ {
+ Mesh_Reader * reader=GetMeshReader(Extension);
+ if(reader==NULL)
+ {
+ MESSAGE("No driver known for this extension");
+ return NULL;
+ }
+ return new Document_Reader(reader);
+ }
+ else return docReader;