OpenLexocad  27.1
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>
7 
8 namespace Gui
9 {
10 class CmdImportFile;
11 }
12 
13 namespace OpenLxApp
14 {
18 class LX_OPENLXAPP_EXPORT IFC_Importer : public Importer
19 {
20 public:
21  IFC_Importer(std::shared_ptr<OpenLxApp::Document> aDoc);
22  IFC_Importer() = delete;
23  virtual ~IFC_Importer() {}
24  static std::shared_ptr<IFC_Importer> createIn(std::shared_ptr<OpenLxApp::Document> aDoc);
25 
26  virtual int importFile(const Base::String& filename) override;
27  virtual std::vector<std::shared_ptr<OpenLxApp::Element>> getImportedElems() const override;
28 
29  std::shared_ptr<LxIfcDataBridge::IfcDataBridge> getDataBridge() const;
30  std::shared_ptr<LxIfcBase::LxIfcModel> getModel() const;
31 
32 private:
33  Gui::CmdImportFile* _cmd = nullptr;
34 };
35 } // namespace OpenLxApp
Imports an IFC file.
Definition: IFC_Importer.h:18
virtual ~IFC_Importer()
Definition: IFC_Importer.h:23
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:23
Base class of all Importers.
Definition: Importer.h:16
Definition: ActiveScript.h:7
Core::PropertyText filename
Definition: CoreDocument.h:176