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