#pragma once #include <queue> #include "ErrorCodes.h" #include "CADExtensions.h" #include "TopoDS_Shape.hxx" class CADwriter { private: std::string _savepath; FileExt _saveType; std::queue<ErrorCodes> _errors; std::queue<std::string> _errorMsgs; FileExt determineExtension(const std::string& savepath); void writeSTEP(const TopoDS_Shape& saveshape); public: CADwriter() : _savepath("NewLattice.stp"), _saveType(STEP) {} CADwriter(const std::string& savepath); void write(const TopoDS_Shape& saveshape); bool hasErrors() { return _errors.size() > 0; } void dumpErrors() { while (!_errors.empty()) { ERROR_MSG_SUP("CADwriter", _errors.front(), _errorMsgs.front()); _errors.pop(); _errorMsgs.pop(); } } };