Skip to content
Snippets Groups Projects
CADwriter.h 740 B
Newer Older
#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();
		}
	}
};