OpenLexocad  28.0
OBJ_Exporter.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <OpenLxApp/Document.h>
4 #include <OpenLxApp/Exporter.h>
5 
6 
7 namespace OpenLxApp
8 {
16 class LX_OPENLXAPP_EXPORT OBJ_Exporter : public Exporter
17 {
18 public:
19  OBJ_Exporter(std::shared_ptr<OpenLxApp::Document> aDoc);
20  OBJ_Exporter() = delete;
21  virtual ~OBJ_Exporter() {}
22  static std::shared_ptr<OBJ_Exporter> createIn(std::shared_ptr<OpenLxApp::Document> aDoc);
23 
24  enum class CoordinateOrder
25  {
26  DEFAULT = 0, // -> X|Y|Z
27  YXMODE = 1, // -> Y|X|Z
28  ESRIMODE = 2 // -> X|Z|Y
29  };
30 
31  void setHeader(const Base::String& aHeader);
32  void setWithMaterials(bool aFlag);
33  void setMerge(bool aFlag);
35 
37  bool getWithMaterials() const;
38  bool getMerge() const;
40 
41 
42  virtual int exportFile(const Base::String& filename) override;
43 
44 
45 private:
46  Base::String _header;
47  bool _withMaterials = true;
48  bool _merge = false;
49  bool _yxMode = false;
50  bool _esriMode = false;
51 };
52 } // namespace OpenLxApp
OpenLxApp
Definition: ActiveScript.h:10
OpenLxApp::OBJ_Exporter::~OBJ_Exporter
virtual ~OBJ_Exporter()
Definition: OBJ_Exporter.h:21
OpenLxApp::OBJ_Exporter::OBJ_Exporter
OBJ_Exporter()=delete
OpenLxApp::OBJ_Exporter::setMerge
void setMerge(bool aFlag)
OpenLxApp::OBJ_Exporter
Exports the visible Elements of the Document to an OBJ file. The point coordinates can be written out...
Definition: OBJ_Exporter.h:17
OpenLxApp::OBJ_Exporter::setCoordinateOrder
void setCoordinateOrder(CoordinateOrder aCoordOrder)
OpenLxApp::OBJ_Exporter::getHeader
Base::String getHeader() const
OpenLxApp::OBJ_Exporter::getMerge
bool getMerge() const
OpenLxApp::OBJ_Exporter::OBJ_Exporter
OBJ_Exporter(std::shared_ptr< OpenLxApp::Document > aDoc)
Exporter.h
OpenLxApp::OBJ_Exporter::exportFile
virtual int exportFile(const Base::String &filename) override
OpenLxApp::OBJ_Exporter::createIn
static std::shared_ptr< OBJ_Exporter > createIn(std::shared_ptr< OpenLxApp::Document > aDoc)
OpenLxApp::OBJ_Exporter::setWithMaterials
void setWithMaterials(bool aFlag)
OpenLxApp::Exporter
Base class of all Exporters.
Definition: Exporter.h:16
OpenLxApp::OBJ_Exporter::getWithMaterials
bool getWithMaterials() const
OpenLxApp::OBJ_Exporter::setHeader
void setHeader(const Base::String &aHeader)
Base::String
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:18
OpenLxApp::OBJ_Exporter::CoordinateOrder
CoordinateOrder
Definition: OBJ_Exporter.h:25
OpenLxApp::OBJ_Exporter::getCoordinateOrder
CoordinateOrder getCoordinateOrder() const
Document.h