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