OpenLexocad  27.0
IFC_Importer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <LxIfcBase/LxIfcModel.h>
4 #include <LxIfcDataBridge/IfcDataBridge.h>
5 #include <OpenLxApp/Document.h>
6 #include <OpenLxApp/Importer.h>
8 
9 namespace Gui
10 {
11 class CmdImportFile;
12 }
13 
14 namespace OpenLxApp
15 {
20 {
21 public:
22  IFC_Importer(std::shared_ptr<OpenLxApp::Document> aDoc);
23  IFC_Importer() = delete;
24  virtual ~IFC_Importer() {}
25  static std::shared_ptr<IFC_Importer> createIn(std::shared_ptr<OpenLxApp::Document> aDoc);
26 
27  virtual int importFile(const Base::String& filename) override;
28  virtual std::vector<std::shared_ptr<OpenLxApp::Element>> getImportedElems() const override;
29 
30  std::shared_ptr<LxIfcDataBridge::IfcDataBridge> getDataBridge() const;
31  std::shared_ptr<LxIfcBase::LxIfcModel> getModel() const;
32 
33 private:
34  Gui::CmdImportFile* _cmd = nullptr;
35 };
36 } // namespace OpenLxApp
Imports an IFC file.
Definition: IFC_Importer.h:19
virtual ~IFC_Importer()
Definition: IFC_Importer.h:24
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
Base class of all Importers.
Definition: Importer.h:17
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
Core::PropertyText filename
Definition: CoreDocument.h:151