#include <map>
#include "BasicTemplate.h"
#include <TopTools_ListOfShape.hxx>
#include <TopoDS_Solid.hxx>
#include <TopoDS_Face.hxx>



class EOFBlockTemplate : public BasicTemplate
{
public:
	EOFBlockTemplate(std::string path);

	void parseInputJSON(json* j);
	void generateGeometry();
	void assignMeshSizes(MeshGenerator_, GeometryData_, double, double);
	bool validate(std::string&);
	
private:

	double f_l;
	double f_w;
	double f_h;
	
	

	TopTools_ListOfShape edges_for_refinement;

	TopoDS_Solid makeMelt();
	//bool isSameFace(TopoDS_Face face1, TopoDS_Face face2);
};