OpenLexocad  27.0
IFC_Exporter.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Core/Command.h>
4 #include <LxIfcBase/LxIfcModel.h>
5 #include <OpenLxApp/Document.h>
6 #include <OpenLxApp/Exporter.h>
8 
9 
10 namespace OpenLxApp
11 {
18 {
19 public:
20  IFC_Exporter(std::shared_ptr<OpenLxApp::Document> aDoc);
21  IFC_Exporter() = delete;
22  virtual ~IFC_Exporter() {}
23  static std::shared_ptr<IFC_Exporter> createIn(std::shared_ptr<OpenLxApp::Document> aDoc);
24 
25  bool buildModel();
26  std::shared_ptr<LxIfcBase::LxIfcModel> getModel() const;
27 
28  void setCheckComplexity(bool aFlag);
29  bool getCheckComplexity() const;
30  void setIfcVersion(int aVersion);
31  int getIfcVersion() const;
32  void setExportUndefinedElements(int aValue);
33  int getExportUndefinedElements() const;
34 
35  virtual int exportFile(const Base::String& filename) override;
36 
37 private:
38  bool mCheckComplexity = false;
39  int mIfcVersion = 3;
40  int mExportUndefinedElements = -1;
41  std::shared_ptr<LxIfcBase::LxIfcModel> mModel;
42  Core::Command* mCmd = nullptr;
43 };
44 } // namespace OpenLxApp
Exports the visible Elements of the Document to an IFC file. Elements that are not visible but depend...
Definition: IFC_Exporter.h:17
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
Core::PropertyText filename
Definition: CoreDocument.h:151
virtual ~IFC_Exporter()
Definition: IFC_Exporter.h:22
Base class of all Exporters.
Definition: Exporter.h:16
Definition: Command.h:35