OpenLexocad  27.0
C3DZ_Exporter.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Geom/Pnt.h>
4 #include <OpenLxApp/Document.h>
5 #include <OpenLxApp/Exporter.h>
7 
8 namespace OpenLxApp
9 {
17 {
18 public:
19  C3DZ_Exporter(std::shared_ptr<OpenLxApp::Document> aDoc);
20  C3DZ_Exporter() = delete;
21  virtual ~C3DZ_Exporter() {}
22  static std::shared_ptr<C3DZ_Exporter> createIn(std::shared_ptr<OpenLxApp::Document> aDoc);
23 
24  void setExportToClipboard(bool aFlag);
25  bool getExportToClipboard() const;
26 
27  void setShowDialog(bool aFlag);
28  bool getShowDialog(bool aFlag) const;
29 
30  void setSelectedOnly(bool aFlag);
31  bool getSelectedOnly() const;
32 
33  void setActivePoint(const Geom::Pnt& aActivePnt);
34  Geom::Pnt getActivePoint() const;
35 
36  void setExportVersion(int aVersion);
37  int getExportVersion() const;
38 
39  void setTextMode(bool aFlag);
40  bool getTextMode() const;
41 
42  virtual int exportFile(const Base::String& filename) override;
43 
44 private:
45  bool _exportToClipboard = false;
46  bool _showDialog = false;
47  bool _selectedOnly = false;
48  Geom::Pnt _activePnt = Geom::Pnt(0, 0, 0);
49  int _exportVersion = 2;
50  bool _textMode = false;
51 };
52 } // namespace OpenLxApp
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
virtual ~C3DZ_Exporter()
Definition: C3DZ_Exporter.h:21
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
Core::PropertyText filename
Definition: CoreDocument.h:151
Exports the visible Elements of the Document to an 3DZ file. Elements that are not visible but depend...
Definition: C3DZ_Exporter.h:16
Base class of all Exporters.
Definition: Exporter.h:16